From ac959290f7ff084bb3d73392b8aefb3f369acaa0 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 15 Mar 2013 01:07:16 +0100 Subject: digital/io-hub/src/apbirthday: add GPIO definitions --- digital/io-hub/src/apbirthday/Makefile | 2 +- digital/io-hub/src/apbirthday/hardware.hh | 23 +++++++++++++++++++ digital/io-hub/src/apbirthday/hardware.host.cc | 30 ++++++++++++++++++++++++- digital/io-hub/src/apbirthday/hardware.stm32.cc | 24 +++++++++++++++++++- 4 files changed, 76 insertions(+), 3 deletions(-) (limited to 'digital/io-hub/src/apbirthday') diff --git a/digital/io-hub/src/apbirthday/Makefile b/digital/io-hub/src/apbirthday/Makefile index 6475a114..cc32c783 100644 --- a/digital/io-hub/src/apbirthday/Makefile +++ b/digital/io-hub/src/apbirthday/Makefile @@ -4,7 +4,7 @@ TARGETS = host stm32f4 PROGS = apbirthday apbirthday_SOURCES = main.cc robot.cc hardware.host.cc hardware.stm32.cc -MODULES = hal/uart hal/usb base/proto +MODULES = hal/gpio hal/uart hal/usb base/proto include $(BASE)/build/top.mk diff --git a/digital/io-hub/src/apbirthday/hardware.hh b/digital/io-hub/src/apbirthday/hardware.hh index 89b162a2..ae60afaa 100644 --- a/digital/io-hub/src/apbirthday/hardware.hh +++ b/digital/io-hub/src/apbirthday/hardware.hh @@ -25,6 +25,7 @@ // }}} #include "ucoolib/hal/uart/uart.hh" +#include "ucoolib/hal/gpio/gpio.hh" #ifdef TARGET_stm32 # include "ucoolib/hal/usb/usb.hh" #else @@ -55,6 +56,28 @@ struct Hardware #else ucoo::HostStream usb; #endif + ucoo::Gpio + raw_jack, + ihm_color, + ihm_strat, + ihm_robot_nb, + ihm_lol, + ihm_emerg_stop; + ucoo::Gpio + glass_contact; + ucoo::Gpio + cherry_bad_out, cherry_bad_in, + cherry_plate_up, cherry_plate_down, + cherry_plate_clamp, + cake_arm_out, cake_arm_in, + cake_push_far_out, cake_push_far_in, + cake_push_near_out, cake_push_near_in, + glass_lower_clamp_close, glass_lower_clamp_open, + glass_upper_clamp_close, glass_upper_clamp_open, + glass_upper_clamp_up, glass_upper_clamp_down, + gift_out, gift_in, + ballon_funny_action, + pneum_open; Hardware (); // Wait until next cycle. void wait (); diff --git a/digital/io-hub/src/apbirthday/hardware.host.cc b/digital/io-hub/src/apbirthday/hardware.host.cc index 9e844be2..3eee4294 100644 --- a/digital/io-hub/src/apbirthday/hardware.host.cc +++ b/digital/io-hub/src/apbirthday/hardware.host.cc @@ -30,7 +30,35 @@ HardwareHost::HardwareHost () } Hardware::Hardware () - : dev_uart (), zb_uart ("zb_uart"), usb ("usb") + : dev_uart (), zb_uart ("zb_uart"), usb ("usb"), + raw_jack (host, "raw_jack"), + ihm_color (host, "ihm_color"), + ihm_strat (host, "ihm_strat"), + ihm_robot_nb (host, "ihm_robot_nb"), + ihm_lol (host, "ihm_lol"), + ihm_emerg_stop (host, "ihm_emerg_stop"), + glass_contact (host, "glass_contact"), + cherry_bad_out (host, "cherry_bad_out"), + cherry_bad_in (host, "cherry_bad_in"), + cherry_plate_up (host, "cherry_plate_up"), + cherry_plate_down (host, "cherry_plate_down"), + cherry_plate_clamp (host, "cherry_plate_clamp"), + cake_arm_out (host, "cake_arm_out"), + cake_arm_in (host, "cake_arm_in"), + cake_push_far_out (host, "cake_push_far_out"), + cake_push_far_in (host, "cake_push_far_in"), + cake_push_near_out (host, "cake_push_near_out"), + cake_push_near_in (host, "cake_push_near_in"), + glass_lower_clamp_close (host, "glass_lower_clamp_close"), + glass_lower_clamp_open (host, "glass_lower_clamp_open"), + glass_upper_clamp_close (host, "glass_upper_clamp_close"), + glass_upper_clamp_open (host, "glass_upper_clamp_open"), + glass_upper_clamp_up (host, "glass_upper_clamp_up"), + glass_upper_clamp_down (host, "glass_upper_clamp_down"), + gift_out (host, "gift_out"), + gift_in (host, "gift_in"), + ballon_funny_action (host, "ballon_funny_action"), + pneum_open (host, "pneum_open") { dev_uart.block (false); zb_uart.block (false); diff --git a/digital/io-hub/src/apbirthday/hardware.stm32.cc b/digital/io-hub/src/apbirthday/hardware.stm32.cc index 2adf638c..9bc7984e 100644 --- a/digital/io-hub/src/apbirthday/hardware.stm32.cc +++ b/digital/io-hub/src/apbirthday/hardware.stm32.cc @@ -29,10 +29,32 @@ Hardware::Hardware () : dev_uart (4), zb_uart (2), - usb_control ("APBTeam", "APBirthday"), usb (usb_control, 0) + usb_control ("APBTeam", "APBirthday"), usb (usb_control, 0), + raw_jack (GPIOD, 12), + ihm_color (GPIOD, 14), + ihm_strat (GPIOD, 13), + ihm_robot_nb (GPIOD, 15), + ihm_lol (GPIOD, 11), + ihm_emerg_stop (GPIOC, 6), + glass_contact (GPIOC, 13), + cherry_bad_out (GPIOE, 0), cherry_bad_in (GPIOE, 1), + cherry_plate_up (GPIOE, 2), cherry_plate_down (GPIOE, 3), + cherry_plate_clamp (GPIOE, 4), + cake_arm_out (GPIOB, 3), cake_arm_in (GPIOB, 4), + cake_push_far_out (GPIOD, 7), cake_push_far_in (GPIOB, 5), + cake_push_near_out (GPIOD, 6), cake_push_near_in (GPIOB, 6), + glass_lower_clamp_close (GPIOA, 15), glass_lower_clamp_open (GPIOA, 10), + glass_upper_clamp_close (GPIOD, 0), glass_upper_clamp_open (GPIOD, 1), + glass_upper_clamp_up (GPIOD, 3), glass_upper_clamp_down (GPIOC, 10), + gift_out (GPIOD, 4), gift_in (GPIOC, 11), + ballon_funny_action (GPIOB, 7), + pneum_open (GPIOD, 5) { + rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPAEN); + rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN); rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN); rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN); + rcc_peripheral_enable_clock (&RCC_AHB1ENR, RCC_AHB1ENR_IOPEEN); // dev_uart gpio_mode_setup (GPIOC, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO12); gpio_mode_setup (GPIOD, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO2); -- cgit v1.2.3