diff --git a/sw/airborne/arch/stm32/led_hw.h b/sw/airborne/arch/stm32/led_hw.h index 8f705997dd8..cf815cb128a 100644 --- a/sw/airborne/arch/stm32/led_hw.h +++ b/sw/airborne/arch/stm32/led_hw.h @@ -36,15 +36,15 @@ */ #ifndef LED_STP08 -#define _LED_GPIO_CLK(i) i -#define _LED_GPIO(i) i +#define _LED_GPIO(i) i +#define _LED_GPIO_CLK(i) i #define _LED_GPIO_PIN(i) i #define _LED_GPIO_ON(i) i #define _LED_GPIO_OFF(i) i #define _LED_AFIO_REMAP(i) i -#define LED_GPIO_CLK(i) _LED_GPIO_CLK(LED_ ## i ## _GPIO_CLK) #define LED_GPIO(i) _LED_GPIO(LED_ ## i ## _GPIO) +#define LED_GPIO_CLK(i) _LED_GPIO_CLK(LED_ ## i ## _GPIO_CLK) #define LED_GPIO_PIN(i) _LED_GPIO_PIN(LED_ ## i ## _GPIO_PIN) #define LED_GPIO_ON(i) _LED_GPIO_ON(LED_ ## i ## _GPIO_ON) #define LED_GPIO_OFF(i) _LED_GPIO_OFF(LED_ ## i ## _GPIO_OFF) @@ -52,27 +52,27 @@ /* set pin as output */ #if defined(STM32F1) || defined(STM32F2) -#define LED_INIT(i) { \ - rcc_peripheral_enable_clock(&RCC_APB2ENR, \ - LED_GPIO_CLK(i)); \ - gpio_set_mode(LED_GPIO(i), \ - GPIO_MODE_OUTPUT_50_MHZ, \ - GPIO_CNF_OUTPUT_PUSHPULL, \ - LED_GPIO_PIN(i)); \ - LED_AFIO_REMAP(i); \ - } +#define LED_GPIO_MODE(i) { \ + gpio_set_mode(LED_GPIO(i), \ + GPIO_MODE_OUTPUT_50_MHZ, \ + GPIO_CNF_OUTPUT_PUSHPULL, \ + LED_GPIO_PIN(i)); \ +} #elif defined(STM32F4) -#define LED_INIT(i) { \ - rcc_peripheral_enable_clock(&RCC_AHB1ENR, \ - LED_GPIO_CLK(i)); \ - gpio_mode_setup(LED_GPIO(i), \ - GPIO_MODE_OUTPUT, \ - GPIO_PUPD_NONE, \ - LED_GPIO_PIN(i)); \ - LED_AFIO_REMAP(i); \ - } +#define LED_GPIO_MODE(i) { \ + gpio_mode_setup(LED_GPIO(i), \ + GPIO_MODE_OUTPUT, \ + GPIO_PUPD_NONE, \ + LED_GPIO_PIN(i)); \ +} #endif +#define LED_INIT(i) { \ + rcc_periph_clock_enable(LED_GPIO_CLK(i)); \ + LED_GPIO_MODE(i); \ + LED_AFIO_REMAP(i); \ +} + #define LED_ON(i) LED_GPIO_ON(i)(LED_GPIO(i), LED_GPIO_PIN(i)) #define LED_OFF(i) LED_GPIO_OFF(i)(LED_GPIO(i), LED_GPIO_PIN(i)) #define LED_TOGGLE(i) gpio_toggle(LED_GPIO(i), LED_GPIO_PIN(i)) diff --git a/sw/airborne/arch/stm32/mcu_periph/adc_arch.c b/sw/airborne/arch/stm32/mcu_periph/adc_arch.c index 2ab050d8806..57c7b3718f6 100644 --- a/sw/airborne/arch/stm32/mcu_periph/adc_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/adc_arch.c @@ -394,58 +394,52 @@ void register_adc_watchdog(uint32_t adc, uint8_t chan, uint16_t low, uint16_t hi /*** PRIVATE FUNCTION DEFINITIONS ***/ /**************************************/ -/** Configure and enable RCC for peripherals (ADC1, ADC2, Timer) */ -static inline void adc_init_rcc( void ) -{ -#if USE_AD1 || USE_AD2 || USE_AD3 - uint32_t timer; - volatile uint32_t *rcc_apbenr; - uint32_t rcc_apb; #if defined(USE_AD_TIM4) - timer = TIM4; - rcc_apbenr = &RCC_APB1ENR; - rcc_apb = RCC_APB1ENR_TIM4EN; +#define TIM_ADC TIM4 +#define RCC_TIM_ADC RCC_TIM4 #elif defined(USE_AD_TIM1) - timer = TIM1; - rcc_apbenr = &RCC_APB2ENR; - rcc_apb = RCC_APB2ENR_TIM1EN; +#define TIM_ADC TIM1 +#define RCC_TIM_ADC RCC_TIM1 #else - timer = TIM2; - rcc_apbenr = &RCC_APB1ENR; - rcc_apb = RCC_APB1ENR_TIM2EN; +#define TIM_ADC TIM2 +#define RCC_TIM_ADC RCC_TIM2 #endif +/** Configure and enable RCC for peripherals (ADC1, ADC2, Timer) */ +static inline void adc_init_rcc( void ) +{ +#if USE_AD1 || USE_AD2 || USE_AD3 /* Timer peripheral clock enable. */ - rcc_peripheral_enable_clock(rcc_apbenr, rcc_apb); + rcc_periph_clock_enable(RCC_TIM_ADC); #if defined(STM32F4) adc_set_clk_prescale(ADC_CCR_ADCPRE_BY2); #endif /* Enable ADC peripheral clocks. */ #if USE_AD1 - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN); + rcc_periph_clock_enable(RCC_ADC1); #endif #if USE_AD2 - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC2EN); + rcc_periph_clock_enable(RCC_ADC2); #endif #if USE_AD3 - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC3EN); + rcc_periph_clock_enable(RCC_ADC3); #endif /* Time Base configuration */ - timer_reset(timer); - timer_set_mode(timer, TIM_CR1_CKD_CK_INT, + timer_reset(TIM_ADC); + timer_set_mode(TIM_ADC, TIM_CR1_CKD_CK_INT, TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP); #if defined(STM32F1) - timer_set_period(timer, 0xFF); + timer_set_period(TIM_ADC, 0xFF); #elif defined(STM32F4) - timer_set_period(timer, 0xFFFF); + timer_set_period(TIM_ADC, 0xFFFF); #endif - timer_set_prescaler(timer, ADC_TIMER_PRESCALER); - //timer_set_clock_division(timer, 0x0); + timer_set_prescaler(TIM_ADC, ADC_TIMER_PRESCALER); + //timer_set_clock_division(TIM_ADC, 0x0); /* Generate TRGO on every update. */ - timer_set_master_mode(timer, TIM_CR2_MMS_UPDATE); - timer_enable_counter(timer); + timer_set_master_mode(TIM_ADC, TIM_CR2_MMS_UPDATE); + timer_enable_counter(TIM_ADC); #endif // USE_AD1 || USE_AD2 || USE_AD3 } diff --git a/sw/airborne/arch/stm32/mcu_periph/can_arch.c b/sw/airborne/arch/stm32/mcu_periph/can_arch.c index 6d57fd5cb3b..e3b0e81e9f0 100644 --- a/sw/airborne/arch/stm32/mcu_periph/can_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/can_arch.c @@ -33,13 +33,17 @@ #include "mcu_periph/can_arch.h" #include "mcu_periph/can.h" -#include -#include +#include +#include #include #include #include "led.h" +#ifndef STM32F1 +#error "CAN is currently only implemented for STM32F1" +#endif + #ifdef RTOS_PRIO #define NVIC_USB_LP_CAN_RX0_IRQ_PRIO RTOS_PRIO+1 #else @@ -54,9 +58,9 @@ void can_hw_init(void) { /* Enable peripheral clocks. */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN); - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN); - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_CAN1EN); + rcc_periph_clock_enable(RCC_AFIO); + rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_CAN1); /* Remap the gpio pin if necessary. */ AFIO_MAPR |= AFIO_MAPR_CAN1_REMAP_PORTB; diff --git a/sw/airborne/arch/stm32/mcu_periph/gpio_arch.c b/sw/airborne/arch/stm32/mcu_periph/gpio_arch.c index 94259374c9e..626d1d6bc28 100644 --- a/sw/airborne/arch/stm32/mcu_periph/gpio_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/gpio_arch.c @@ -31,26 +31,51 @@ #include #include -#ifdef STM32F1 void gpio_enable_clock(uint32_t port) { switch (port) { case GPIOA: - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN); + rcc_periph_clock_enable(RCC_GPIOA); break; case GPIOB: - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN); + rcc_periph_clock_enable(RCC_GPIOB); break; case GPIOC: - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); + rcc_periph_clock_enable(RCC_GPIOC); break; case GPIOD: - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPDEN); + rcc_periph_clock_enable(RCC_GPIOD); + break; +#ifdef GPIOE + case GPIOE: + rcc_periph_clock_enable(RCC_GPIOE); + break; +#endif +#ifdef GPIOF + case GPIOF: + rcc_periph_clock_enable(RCC_GPIOF); break; +#endif +#ifdef GPIOG + case GPIOG: + rcc_periph_clock_enable(RCC_GPIOG); + break; +#endif +#ifdef GPIOH + case GPIOH: + rcc_periph_clock_enable(RCC_GPIOH); + break; +#endif +#ifdef GPIOI + case GPIOI: + rcc_periph_clock_enable(RCC_GPIOI); + break; +#endif default: break; }; } +#ifdef STM32F1 void gpio_setup_output(uint32_t port, uint16_t pin) { gpio_enable_clock(port); gpio_set_mode(port, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, pin); @@ -65,7 +90,7 @@ void gpio_setup_pin_af(uint32_t port, uint16_t pin, uint8_t af, bool_t is_output gpio_enable_clock(port); /* remap alternate function if needed */ if (af) { - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_AFIO); AFIO_MAPR |= af; } if (is_output) @@ -80,39 +105,6 @@ void gpio_setup_pin_analog(uint32_t port, uint16_t pin) { } #elif defined STM32F4 -void gpio_enable_clock(uint32_t port) { - switch (port) { - case GPIOA: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPAEN); - break; - case GPIOB: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN); - break; - case GPIOC: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN); - break; - case GPIOD: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN); - break; - case GPIOE: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPEEN); - break; - case GPIOF: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPFEN); - break; - case GPIOG: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPGEN); - break; - case GPIOH: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPHEN); - break; - case GPIOI: - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPIEN); - break; - default: - break; - }; -} void gpio_setup_output(uint32_t port, uint16_t pin) { gpio_enable_clock(port); diff --git a/sw/airborne/arch/stm32/mcu_periph/i2c_arch.c b/sw/airborne/arch/stm32/mcu_periph/i2c_arch.c index 30c4a5c61a4..7c4de81854f 100644 --- a/sw/airborne/arch/stm32/mcu_periph/i2c_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/i2c_arch.c @@ -920,7 +920,7 @@ void i2c1_hw_init(void) { /* Enable peripheral clocks -------------------------------------------------*/ /* Enable I2C1 clock */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C1EN); + rcc_periph_clock_enable(RCC_I2C1); /* Enable GPIO clock */ gpio_enable_clock(I2C1_GPIO_PORT); #if defined(STM32F1) @@ -1006,7 +1006,7 @@ void i2c2_hw_init(void) { /* Enable peripheral clocks -------------------------------------------------*/ /* Enable I2C2 clock */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C2EN); + rcc_periph_clock_enable(RCC_I2C2); /* Enable GPIO clock */ gpio_enable_clock(I2C2_GPIO_PORT); #if defined(STM32F1) @@ -1093,7 +1093,7 @@ void i2c3_hw_init(void) { /* Enable peripheral clocks -------------------------------------------------*/ /* Enable I2C3 clock */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C3EN); + rcc_periph_clock_enable(RCC_I2C3); /* Enable GPIO clock */ gpio_enable_clock(I2C3_GPIO_PORT_SCL); gpio_mode_setup(I2C3_GPIO_PORT_SCL, GPIO_MODE_AF, GPIO_PUPD_NONE, I2C3_GPIO_SCL); diff --git a/sw/airborne/arch/stm32/mcu_periph/spi_arch.c b/sw/airborne/arch/stm32/mcu_periph/spi_arch.c index 1f7dd2c7db0..73d227bab71 100644 --- a/sw/airborne/arch/stm32/mcu_periph/spi_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/spi_arch.c @@ -691,7 +691,7 @@ void spi1_arch_init(void) { // Enable SPI1 Periph and gpio clocks - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SPI1EN); + rcc_periph_clock_enable(RCC_SPI1); // Configure GPIOs: SCK, MISO and MOSI #ifdef STM32F1 @@ -736,9 +736,9 @@ void spi1_arch_init(void) { // Enable SPI_1 DMA clock #ifdef STM32F1 - rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN); + rcc_periph_clock_enable(RCC_DMA1); #elif defined STM32F4 - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA2EN); + rcc_periph_clock_enable(RCC_DMA2); #endif // Enable SPI1 periph. @@ -785,7 +785,7 @@ void spi2_arch_init(void) { // Enable SPI2 Periph and gpio clocks - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_SPI2EN); + rcc_periph_clock_enable(RCC_SPI2); // Configure GPIOs: SCK, MISO and MOSI #ifdef STM32F1 @@ -828,11 +828,7 @@ void spi2_arch_init(void) { spi_set_nss_high(SPI2); // Enable SPI_2 DMA clock -#ifdef STM32F1 - rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN); -#elif defined STM32F4 - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA1EN); -#endif + rcc_periph_clock_enable(RCC_DMA1); // Enable SPI2 periph. spi_enable(SPI2); @@ -879,7 +875,7 @@ void spi3_arch_init(void) { // Enable SPI3 Periph and gpio clocks - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_SPI3EN); + rcc_periph_clock_enable(RCC_SPI3); // Configure GPIOs: SCK, MISO and MOSI #ifdef STM32F1 @@ -925,9 +921,9 @@ void spi3_arch_init(void) { // Enable SPI_3 DMA clock #ifdef STM32F1 - rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA2EN); + rcc_periph_clock_enable(RCC_DMA2); #elif defined STM32F4 - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA1EN); + rcc_periph_clock_enable(RCC_DMA1); #endif // Enable SPI3 periph. @@ -1253,7 +1249,7 @@ void spi1_slave_arch_init(void) { spi1.status = SPIIdle; // Enable SPI1 Periph and gpio clocks - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SPI1EN); + rcc_periph_clock_enable(RCC_SPI1); // Configure GPIOs: SCK, MISO and MOSI // TODO configure lisa board files to use gpio_setup_pin_af function @@ -1288,9 +1284,9 @@ void spi1_slave_arch_init(void) { // Enable SPI_1 DMA clock #ifdef STM32F1 - rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN); + rcc_periph_clock_enable(RCC_DMA1); #elif defined STM32F4 - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA2EN); + rcc_periph_clock_enable(RCC_DMA2); #endif // Enable SPI1 periph. diff --git a/sw/airborne/arch/stm32/mcu_periph/uart_arch.c b/sw/airborne/arch/stm32/mcu_periph/uart_arch.c index 498ca3b9b83..31a2dde006f 100644 --- a/sw/airborne/arch/stm32/mcu_periph/uart_arch.c +++ b/sw/airborne/arch/stm32/mcu_periph/uart_arch.c @@ -215,7 +215,7 @@ void uart1_init( void ) { uart1.reg_addr = (void *)USART1; /* init RCC and GPIOs */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_USART1EN); + rcc_periph_clock_enable(RCC_USART1); #if USE_UART1_TX gpio_setup_pin_af(UART1_GPIO_PORT_TX, UART1_GPIO_TX, UART1_GPIO_AF, TRUE); @@ -279,7 +279,7 @@ void uart2_init( void ) { uart2.reg_addr = (void *)USART2; /* init RCC and GPIOs */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN); + rcc_periph_clock_enable(RCC_USART2); #if USE_UART2_TX gpio_setup_pin_af(UART2_GPIO_PORT_TX, UART2_GPIO_TX, UART2_GPIO_AF, TRUE); @@ -343,7 +343,7 @@ void uart3_init( void ) { uart3.reg_addr = (void *)USART3; /* init RCC */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART3EN); + rcc_periph_clock_enable(RCC_USART3); #if USE_UART3_TX gpio_setup_pin_af(UART3_GPIO_PORT_TX, UART3_GPIO_TX, UART3_GPIO_AF, TRUE); @@ -403,7 +403,7 @@ void uart4_init( void ) { uart4.reg_addr = (void *)UART4; /* init RCC and GPIOs */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_UART4EN); + rcc_periph_clock_enable(RCC_UART4); #if USE_UART4_TX gpio_setup_pin_af(UART4_GPIO_PORT_TX, UART4_GPIO_TX, UART4_GPIO_AF, TRUE); @@ -454,7 +454,7 @@ void uart5_init( void ) { uart5.reg_addr = (void *)UART5; /* init RCC and GPIOs */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_UART5EN); + rcc_periph_clock_enable(RCC_UART5); #if USE_UART5_TX gpio_setup_pin_af(UART5_GPIO_PORT_TX, UART5_GPIO_TX, UART5_GPIO_AF, TRUE); @@ -509,7 +509,7 @@ void uart6_init( void ) { uart6.reg_addr = (void *)USART6; /* enable uart clock */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_USART6EN); + rcc_periph_clock_enable(RCC_USART6); /* init RCC and GPIOs */ #if USE_UART6_TX diff --git a/sw/airborne/arch/stm32/my_debug_servo.h b/sw/airborne/arch/stm32/my_debug_servo.h index 683cb3f64ac..3c8bbc76155 100644 --- a/sw/airborne/arch/stm32/my_debug_servo.h +++ b/sw/airborne/arch/stm32/my_debug_servo.h @@ -1,8 +1,8 @@ #ifndef MY_DEBUG_SERVO_H #define MY_DEBUG_SERVO_H -#include -#include +#include +#include /* using servo 2 connector as debug */ @@ -35,7 +35,7 @@ #define DEBUG_SERVO1_INIT() { \ /* S1: PC6 S2: PC7 S3: PC8 */ \ GPIOC_BSRR = GPIO6 | GPIO7 | GPIO8 ; \ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); \ + rcc_periph_clock_enable(RCC_GPIOC); \ gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, \ GPIO_CNF_OUTPUT_PUSHPULL, GPIO6 | GPIO7 | GPIO8); \ DEBUG_S1_OFF(); \ @@ -46,12 +46,12 @@ #define DEBUG_SERVO2_INIT() { \ /* S4: PC9 */ \ GPIOC_BSRR = GPIO9; \ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); \ + rcc_periph_clock_enable(RCC_GPIOC); \ gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, \ GPIO_CNF_OUTPUT_PUSHPULL, GPIO9); \ /* S5: PB8 and S6: PB9 */ \ GPIOB_BSRR = GPIO8 | GPIO9; \ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN); \ + rcc_periph_clock_enable(RCC_GPIOB); \ gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, \ GPIO_CNF_OUTPUT_PUSHPULL, GPIO8 | GPIO9); \ DEBUG_S4_OFF(); \ diff --git a/sw/airborne/arch/stm32/peripherals/hmc5843_arch.c b/sw/airborne/arch/stm32/peripherals/hmc5843_arch.c index ac8476d50d6..e64f5fffea9 100644 --- a/sw/airborne/arch/stm32/peripherals/hmc5843_arch.c +++ b/sw/airborne/arch/stm32/peripherals/hmc5843_arch.c @@ -20,17 +20,22 @@ */ #include "peripherals/hmc5843.h" -#include -#include -#include +#include +#include #include #include +#include + #include "mcu_periph/i2c.h" +#ifndef STM32F1 +#error "HMC5843 arch currently only implemented for STM32F1" +#endif + void hmc5843_arch_init( void ) { /* configure external interrupt exti5 on PB5( mag int ) */ - - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_AFIO); gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); diff --git a/sw/airborne/arch/stm32/peripherals/max1168_arch.c b/sw/airborne/arch/stm32/peripherals/max1168_arch.c index 4d164360b52..15abda93ffd 100644 --- a/sw/airborne/arch/stm32/peripherals/max1168_arch.c +++ b/sw/airborne/arch/stm32/peripherals/max1168_arch.c @@ -20,16 +20,21 @@ */ #include "peripherals/max1168.h" -#include "libopencm3/stm32/f1/rcc.h" -#include "libopencm3/stm32/f1/gpio.h" +#include "libopencm3/stm32/rcc.h" +#include "libopencm3/stm32/gpio.h" #include "libopencm3/stm32/exti.h" -#include "libopencm3/stm32/f1/nvic.h" +#include + +#ifndef STM32F1 +#error "HMC5843 arch currently only implemented for STM32F1" +#endif void max1168_arch_init( void ) { /* configure external interrupt exti2 on PD2( data ready ) v1.0*/ /* PB2( data ready ) v1.1*/ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_AFIO); gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); diff --git a/sw/airborne/arch/stm32/peripherals/ms2100_arch.c b/sw/airborne/arch/stm32/peripherals/ms2100_arch.c index e08f4451d74..4589b066284 100644 --- a/sw/airborne/arch/stm32/peripherals/ms2100_arch.c +++ b/sw/airborne/arch/stm32/peripherals/ms2100_arch.c @@ -28,21 +28,26 @@ #include "peripherals/ms2100.h" #include "mcu_periph/sys_time.h" -#include -#include -#include +#include +#include #include +#include + +#ifndef STM32F1 +#error "MS2100 arch currently only implemented for STM32F1" +#endif void ms2100_arch_init( void ) { /* set mag reset as output (reset on PC13) ----*/ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOC); + rcc_periph_clock_enable(RCC_AFIO); gpio_set(GPIOC, GPIO13); gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO13); Ms2100Reset(); /* configure data ready input on PB5 */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOB); gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); /* external interrupt for drdy pin */ diff --git a/sw/airborne/arch/stm32/subsystems/actuators/actuators_pwm_arch.c b/sw/airborne/arch/stm32/subsystems/actuators/actuators_pwm_arch.c index 8976ed3bb02..0ce80993dfc 100644 --- a/sw/airborne/arch/stm32/subsystems/actuators/actuators_pwm_arch.c +++ b/sw/airborne/arch/stm32/subsystems/actuators/actuators_pwm_arch.c @@ -120,14 +120,15 @@ static inline void actuators_pwm_arch_channel_init(uint32_t timer_peripheral, /** Set GPIO configuration */ #if defined(STM32F4) -static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t af_num, uint32_t en) { - rcc_peripheral_enable_clock(&RCC_AHB1ENR, en); +static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t af_num, enum rcc_periph_clken clken) { + rcc_periph_clock_enable(clken); gpio_mode_setup(gpioport, GPIO_MODE_AF, GPIO_PUPD_NONE, pin); gpio_set_af(gpioport, af_num, pin); } #elif defined(STM32F1) -static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t none __attribute__((unused)), uint32_t en) { - rcc_peripheral_enable_clock(&RCC_APB2ENR, en | RCC_APB2ENR_AFIOEN); +static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t none __attribute__((unused)), enum rcc_periph_clken clken) { + rcc_periph_clock_enable(clken); + rcc_periph_clock_enable(RCC_AFIO); gpio_set_mode(gpioport, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, pin); } @@ -210,31 +211,28 @@ void actuators_pwm_arch_init(void) { * Configure timer peripheral clocks *-----------------------------------*/ #if PWM_USE_TIM1 - // APB2 runs on double the frequency of APB1. - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM1EN); + rcc_periph_clock_enable(RCC_TIM1); #endif #if PWM_USE_TIM2 - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM2EN); + rcc_periph_clock_enable(RCC_TIM2); #endif #if PWM_USE_TIM3 - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM3EN); + rcc_periph_clock_enable(RCC_TIM3); #endif #if PWM_USE_TIM4 - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM4EN); + rcc_periph_clock_enable(RCC_TIM4); #endif #if PWM_USE_TIM5 - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM5EN); + rcc_periph_clock_enable(RCC_TIM5); #endif #if PWM_USE_TIM8 - // APB2 runs on double the frequency of APB1. - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM8EN); + rcc_periph_clock_enable(RCC_TIM8); #endif #if PWM_USE_TIM9 - // APB2 runs on double the frequency of APB1. - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM9EN); + rcc_periph_clock_enable(RCC_TIM9); #endif #if PWM_USE_TIM12 - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM12EN); + rcc_periph_clock_enable(RCC_TIM12); #endif /*---------------- @@ -246,40 +244,40 @@ void actuators_pwm_arch_init(void) { #endif #ifdef PWM_SERVO_0 - set_servo_gpio(PWM_SERVO_0_GPIO, PWM_SERVO_0_PIN, PWM_SERVO_0_AF, PWM_SERVO_0_RCC_IOP); + set_servo_gpio(PWM_SERVO_0_GPIO, PWM_SERVO_0_PIN, PWM_SERVO_0_AF, PWM_SERVO_0_RCC); #endif #ifdef PWM_SERVO_1 - set_servo_gpio(PWM_SERVO_1_GPIO, PWM_SERVO_1_PIN, PWM_SERVO_1_AF, PWM_SERVO_1_RCC_IOP); + set_servo_gpio(PWM_SERVO_1_GPIO, PWM_SERVO_1_PIN, PWM_SERVO_1_AF, PWM_SERVO_1_RCC); #endif #ifdef PWM_SERVO_2 - set_servo_gpio(PWM_SERVO_2_GPIO, PWM_SERVO_2_PIN, PWM_SERVO_2_AF, PWM_SERVO_2_RCC_IOP); + set_servo_gpio(PWM_SERVO_2_GPIO, PWM_SERVO_2_PIN, PWM_SERVO_2_AF, PWM_SERVO_2_RCC); #endif #ifdef PWM_SERVO_3 - set_servo_gpio(PWM_SERVO_3_GPIO, PWM_SERVO_3_PIN, PWM_SERVO_3_AF, PWM_SERVO_3_RCC_IOP); + set_servo_gpio(PWM_SERVO_3_GPIO, PWM_SERVO_3_PIN, PWM_SERVO_3_AF, PWM_SERVO_3_RCC); #endif #ifdef PWM_SERVO_4 - set_servo_gpio(PWM_SERVO_4_GPIO, PWM_SERVO_4_PIN, PWM_SERVO_4_AF, PWM_SERVO_4_RCC_IOP); + set_servo_gpio(PWM_SERVO_4_GPIO, PWM_SERVO_4_PIN, PWM_SERVO_4_AF, PWM_SERVO_4_RCC); #endif #ifdef PWM_SERVO_5 - set_servo_gpio(PWM_SERVO_5_GPIO, PWM_SERVO_5_PIN, PWM_SERVO_5_AF, PWM_SERVO_5_RCC_IOP); + set_servo_gpio(PWM_SERVO_5_GPIO, PWM_SERVO_5_PIN, PWM_SERVO_5_AF, PWM_SERVO_5_RCC); #endif #ifdef PWM_SERVO_6 - set_servo_gpio(PWM_SERVO_6_GPIO, PWM_SERVO_6_PIN, PWM_SERVO_6_AF, PWM_SERVO_6_RCC_IOP); + set_servo_gpio(PWM_SERVO_6_GPIO, PWM_SERVO_6_PIN, PWM_SERVO_6_AF, PWM_SERVO_6_RCC); #endif #ifdef PWM_SERVO_7 - set_servo_gpio(PWM_SERVO_7_GPIO, PWM_SERVO_7_PIN, PWM_SERVO_7_AF, PWM_SERVO_7_RCC_IOP); + set_servo_gpio(PWM_SERVO_7_GPIO, PWM_SERVO_7_PIN, PWM_SERVO_7_AF, PWM_SERVO_7_RCC); #endif #ifdef PWM_SERVO_8 - set_servo_gpio(PWM_SERVO_8_GPIO, PWM_SERVO_8_PIN, PWM_SERVO_8_AF, PWM_SERVO_8_RCC_IOP); + set_servo_gpio(PWM_SERVO_8_GPIO, PWM_SERVO_8_PIN, PWM_SERVO_8_AF, PWM_SERVO_8_RCC); #endif #ifdef PWM_SERVO_9 - set_servo_gpio(PWM_SERVO_9_GPIO, PWM_SERVO_9_PIN, PWM_SERVO_9_AF, PWM_SERVO_9_RCC_IOP); + set_servo_gpio(PWM_SERVO_9_GPIO, PWM_SERVO_9_PIN, PWM_SERVO_9_AF, PWM_SERVO_9_RCC); #endif #ifdef PWM_SERVO_10 - set_servo_gpio(PWM_SERVO_10_GPIO, PWM_SERVO_10_PIN, PWM_SERVO_10_AF, PWM_SERVO_10_RCC_IOP); + set_servo_gpio(PWM_SERVO_10_GPIO, PWM_SERVO_10_PIN, PWM_SERVO_10_AF, PWM_SERVO_10_RCC); #endif #ifdef PWM_SERVO_11 - set_servo_gpio(PWM_SERVO_11_GPIO, PWM_SERVO_11_PIN, PWM_SERVO_11_AF, PWM_SERVO_11_RCC_IOP); + set_servo_gpio(PWM_SERVO_11_GPIO, PWM_SERVO_11_PIN, PWM_SERVO_11_AF, PWM_SERVO_11_RCC); #endif diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c b/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c index ad8903ae38d..fa68953e0d1 100644 --- a/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c +++ b/sw/airborne/arch/stm32/subsystems/imu/imu_aspirin_arch.c @@ -1,14 +1,18 @@ #include "subsystems/imu.h" -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include "mcu_periph/i2c.h" +#ifndef STM32F1 +#error "imu_aspirin_arch arch currently only implemented for STM32F1" +#endif + void imu_aspirin_arch_int_enable(void) { #ifdef ASPIRIN_USE_GYRO_INT @@ -49,15 +53,15 @@ void imu_aspirin_arch_init(void) { /* Set "mag ss" and "mag reset" as floating inputs ------------------------*/ /* "mag ss" (PC12) is shorted to I2C2 SDA */ /* "mag reset" (PC13) is shorted to I2C2 SCL */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); + rcc_periph_clock_enable(RCC_GPIOC); gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12 | GPIO13); #endif /* Gyro --------------------------------------------------------------------*/ /* configure external interrupt exti15_10 on PC14( gyro int ) */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN | - RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOC); + rcc_periph_clock_enable(RCC_AFIO); gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); @@ -68,7 +72,7 @@ void imu_aspirin_arch_init(void) { #endif /* configure external interrupt exti2 on PB2( accel int ) */ - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN); + rcc_periph_clock_enable(RCC_GPIOB); gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); exti_select_source(EXTI2, GPIOB); diff --git a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c b/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c index a13032bf7c4..a9ae2b91f5c 100644 --- a/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c +++ b/sw/airborne/arch/stm32/subsystems/imu/imu_krooz_sd_arch.c @@ -1,16 +1,16 @@ #include "subsystems/imu.h" -#include -#include -#include +#include +#include #include +#include #include "subsystems/imu/imu_krooz_sd_arch.h" void imu_krooz_sd_arch_init(void) { - rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SYSCFGEN); - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN); - rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN); + rcc_periph_clock_enable(RCC_SYSCFG); + rcc_periph_clock_enable(RCC_GPIOB); + rcc_periph_clock_enable(RCC_GPIOB); gpio_mode_setup(GPIOB, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO5); gpio_mode_setup(GPIOC, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO6); diff --git a/sw/airborne/arch/stm32/subsystems/radio_control/ppm_arch.c b/sw/airborne/arch/stm32/subsystems/radio_control/ppm_arch.c index f84b2ca338a..802cae7d60e 100644 --- a/sw/airborne/arch/stm32/subsystems/radio_control/ppm_arch.c +++ b/sw/airborne/arch/stm32/subsystems/radio_control/ppm_arch.c @@ -75,10 +75,8 @@ static uint32_t timer_rollover_cnt; #if USE_PPM_TIM2 PRINT_CONFIG_MSG("Using TIM2 for PPM input.") - -#define PPM_RCC &RCC_APB1ENR -#define PPM_PERIPHERAL RCC_APB1ENR_TIM2EN #define PPM_TIMER TIM2 +#define RCC_TIM_PPM RCC_TIM2 #ifdef STM32F4 /* Since APB prescaler != 1 : @@ -91,10 +89,8 @@ PRINT_CONFIG_MSG("Using TIM2 for PPM input.") #elif USE_PPM_TIM3 PRINT_CONFIG_MSG("Using TIM3 for PPM input.") - -#define PPM_RCC &RCC_APB1ENR -#define PPM_PERIPHERAL RCC_APB1ENR_TIM3EN #define PPM_TIMER TIM3 +#define RCC_TIM_PPM RCC_TIM3 #ifdef STM32F4 /* Since APB prescaler != 1 : @@ -107,10 +103,8 @@ PRINT_CONFIG_MSG("Using TIM3 for PPM input.") #elif USE_PPM_TIM4 PRINT_CONFIG_MSG("Using TIM4 for PPM input.") - -#define PPM_RCC &RCC_APB1ENR -#define PPM_PERIPHERAL RCC_APB1ENR_TIM4EN #define PPM_TIMER TIM4 +#define RCC_TIM_PPM RCC_TIM4 #ifdef STM32F4 /* Since APB prescaler != 1 : @@ -123,10 +117,8 @@ PRINT_CONFIG_MSG("Using TIM4 for PPM input.") #elif USE_PPM_TIM5 PRINT_CONFIG_MSG("Using TIM5 for PPM input.") - -#define PPM_RCC &RCC_APB1ENR -#define PPM_PERIPHERAL RCC_APB1ENR_TIM5EN #define PPM_TIMER TIM5 +#define RCC_TIM_PPM RCC_TIM5 #ifdef STM32F4 /* Since APB prescaler != 1 : @@ -139,10 +131,8 @@ PRINT_CONFIG_MSG("Using TIM5 for PPM input.") #elif USE_PPM_TIM1 PRINT_CONFIG_MSG("Using TIM1 for PPM input.") - -#define PPM_RCC &RCC_APB2ENR -#define PPM_PERIPHERAL RCC_APB2ENR_TIM1EN #define PPM_TIMER TIM1 +#define RCC_TIM_PPM RCC_TIM1 #ifdef STM32F4 #define PPM_TIMER_CLK (rcc_ppre2_frequency * 2) @@ -151,16 +141,13 @@ PRINT_CONFIG_MSG("Using TIM1 for PPM input.") #elif USE_PPM_TIM8 PRINT_CONFIG_MSG("Using TIM8 for PPM input.") - -#define PPM_RCC &RCC_APB2ENR -#define PPM_PERIPHERAL RCC_APB2ENR_TIM8EN #define PPM_TIMER TIM8 +#define RCC_TIM_PPM RCC_TIM8 #ifdef STM32F4 #define PPM_TIMER_CLK (rcc_ppre2_frequency * 2) #endif - #else #error Unknown PPM input timer configuration. #endif @@ -168,7 +155,7 @@ PRINT_CONFIG_MSG("Using TIM8 for PPM input.") void ppm_arch_init ( void ) { /* timer clock enable */ - rcc_peripheral_enable_clock(PPM_RCC, PPM_PERIPHERAL); + rcc_periph_clock_enable(RCC_TIM_PPM); /* GPIO clock enable */ gpio_enable_clock(PPM_GPIO_PORT); diff --git a/sw/airborne/arch/stm32/subsystems/radio_control/spektrum_arch.c b/sw/airborne/arch/stm32/subsystems/radio_control/spektrum_arch.c index 301d094b5fc..b4f74ede698 100644 --- a/sw/airborne/arch/stm32/subsystems/radio_control/spektrum_arch.c +++ b/sw/airborne/arch/stm32/subsystems/radio_control/spektrum_arch.c @@ -486,7 +486,7 @@ void RadioControlEventImp(void (*frame_handler)(void)) { void SpektrumTimerInit( void ) { /* enable TIM6 clock */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM6EN); + rcc_periph_clock_enable(RCC_TIM6); /* TIM6 configuration */ timer_set_mode(TIM6, TIM_CR1_CKD_CK_INT, @@ -542,7 +542,7 @@ void tim6_dac_isr( void ) { void SpektrumUartInit(void) { /* init RCC */ gpio_enable_clock(PrimaryUart(_BANK)); - rcc_peripheral_enable_clock(PrimaryUart(_RCC_REG), PrimaryUart(_RCC_DEV)); + rcc_periph_clock_enable(PrimaryUart(_RCC)); /* Enable USART interrupts */ nvic_set_priority(PrimaryUart(_IRQ), NVIC_PRIMARY_UART_PRIO); @@ -569,7 +569,7 @@ void SpektrumUartInit(void) { #ifdef RADIO_CONTROL_SPEKTRUM_SECONDARY_PORT /* init RCC */ gpio_enable_clock(SecondaryUart(_BANK)); - rcc_peripheral_enable_clock(SecondaryUart(_RCC_REG), SecondaryUart(_RCC_DEV)); + rcc_periph_clock_enable(SecondaryUart(_RCC)); /* Enable USART interrupts */ nvic_set_priority(SecondaryUart(_IRQ), NVIC_PRIMARY_UART_PRIO+1); @@ -722,7 +722,7 @@ void radio_control_spektrum_try_bind(void) { static void SpektrumDelayInit( void ) { /* Enable timer clock */ - rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM6EN); + rcc_periph_clock_enable(RCC_TIM6); /* Make sure the timer is reset to default values. */ timer_reset(TIM6); diff --git a/sw/airborne/boards/apogee_0.99.h b/sw/airborne/boards/apogee_0.99.h index 114ea5096e4..747ecb16370 100644 --- a/sw/airborne/boards/apogee_0.99.h +++ b/sw/airborne/boards/apogee_0.99.h @@ -16,7 +16,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOC -#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_1_GPIO_CLK RCC_GPIOC #define LED_1_GPIO_PIN GPIO0 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -27,7 +27,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOC -#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_2_GPIO_CLK RCC_GPIOC #define LED_2_GPIO_PIN GPIO13 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -167,7 +167,7 @@ #if USE_PWM0 #define PWM_SERVO_0 0 #define PWM_SERVO_0_TIMER TIM2 -#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_0_RCC RCC_GPIOA #define PWM_SERVO_0_GPIO GPIOA #define PWM_SERVO_0_PIN GPIO3 #define PWM_SERVO_0_AF GPIO_AF1 @@ -180,7 +180,7 @@ #if USE_PWM1 #define PWM_SERVO_1 1 #define PWM_SERVO_1_TIMER TIM2 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_1_RCC RCC_GPIOA #define PWM_SERVO_1_GPIO GPIOA #define PWM_SERVO_1_PIN GPIO2 #define PWM_SERVO_1_AF GPIO_AF1 @@ -193,7 +193,7 @@ #if USE_PWM2 #define PWM_SERVO_2 2 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_2_RCC RCC_GPIOB #define PWM_SERVO_2_GPIO GPIOB #define PWM_SERVO_2_PIN GPIO5 #define PWM_SERVO_2_AF GPIO_AF2 @@ -206,7 +206,7 @@ #if USE_PWM3 #define PWM_SERVO_3_IDX 3 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_3_RCC RCC_GPIOB #define PWM_SERVO_3_GPIO GPIOB #define PWM_SERVO_3_PIN GPIO4 #define PWM_SERVO_3_AF GPIO_AF2 @@ -219,7 +219,7 @@ #if USE_PWM4 #define PWM_SERVO_4 4 #define PWM_SERVO_4_TIMER TIM2 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_4_RCC RCC_GPIOB #define PWM_SERVO_4_GPIO GPIOB #define PWM_SERVO_4_PIN GPIO3 #define PWM_SERVO_4_AF GPIO_AF1 @@ -232,7 +232,7 @@ #if USE_PWM5 #define PWM_SERVO_5 5 #define PWM_SERVO_5_TIMER TIM2 -#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_5_RCC RCC_GPIOA #define PWM_SERVO_5_GPIO GPIOA #define PWM_SERVO_5_PIN GPIO15 #define PWM_SERVO_5_AF GPIO_AF1 @@ -270,8 +270,7 @@ #define SPEKTRUM_BIND_PIN GPIO8 #define SPEKTRUM_BIND_PIN_PORT GPIOA -#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN +#define SPEKTRUM_UART2_RCC RCC_USART2 #define SPEKTRUM_UART2_BANK GPIOA #define SPEKTRUM_UART2_PIN GPIO3 #define SPEKTRUM_UART2_AF GPIO_AF7 diff --git a/sw/airborne/boards/apogee_1.0.h b/sw/airborne/boards/apogee_1.0.h index 93567b594f5..1c03e680eac 100644 --- a/sw/airborne/boards/apogee_1.0.h +++ b/sw/airborne/boards/apogee_1.0.h @@ -16,7 +16,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOC -#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_1_GPIO_CLK RCC_GPIOC #define LED_1_GPIO_PIN GPIO0 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -27,7 +27,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOC -#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_2_GPIO_CLK RCC_GPIOC #define LED_2_GPIO_PIN GPIO13 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -38,7 +38,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOC -#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_3_GPIO_CLK RCC_GPIOC #define LED_3_GPIO_PIN GPIO1 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -49,7 +49,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOC -#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_4_GPIO_CLK RCC_GPIOC #define LED_4_GPIO_PIN GPIO3 #define LED_4_GPIO_ON gpio_clear #define LED_4_GPIO_OFF gpio_set @@ -60,7 +60,7 @@ #define USE_LED_5 0 #endif #define LED_5_GPIO GPIOB -#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_5_GPIO_CLK RCC_GPIOB #define LED_5_GPIO_PIN GPIO1 #define LED_5_GPIO_ON gpio_set #define LED_5_GPIO_OFF gpio_clear @@ -71,7 +71,7 @@ #define USE_LED_6 0 #endif #define LED_6_GPIO GPIOC -#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_6_GPIO_CLK RCC_GPIOC #define LED_6_GPIO_PIN GPIO5 #define LED_6_GPIO_ON gpio_set #define LED_6_GPIO_OFF gpio_clear @@ -82,7 +82,7 @@ #define USE_LED_7 0 #endif #define LED_7_GPIO GPIOC -#define LED_7_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_7_GPIO_CLK RCC_GPIOC #define LED_7_GPIO_PIN GPIO4 #define LED_7_GPIO_ON gpio_set #define LED_7_GPIO_OFF gpio_clear @@ -93,7 +93,7 @@ #define USE_LED_8 0 #endif #define LED_8_GPIO GPIOB -#define LED_8_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_8_GPIO_CLK RCC_GPIOB #define LED_8_GPIO_PIN GPIO15 #define LED_8_GPIO_ON gpio_set #define LED_8_GPIO_OFF gpio_clear @@ -104,7 +104,7 @@ #define USE_LED_9 1 #endif #define LED_9_GPIO GPIOB -#define LED_9_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_9_GPIO_CLK RCC_GPIOB #define LED_9_GPIO_PIN GPIO12 #define LED_9_GPIO_ON gpio_set #define LED_9_GPIO_OFF gpio_clear @@ -242,7 +242,7 @@ #if USE_PWM0 #define PWM_SERVO_0 0 #define PWM_SERVO_0_TIMER TIM3 -#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_0_RCC RCC_GPIOB #define PWM_SERVO_0_GPIO GPIOB #define PWM_SERVO_0_PIN GPIO0 #define PWM_SERVO_0_AF GPIO_AF2 @@ -255,7 +255,7 @@ #if USE_PWM1 #define PWM_SERVO_1 1 #define PWM_SERVO_1_TIMER TIM2 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_1_RCC RCC_GPIOA #define PWM_SERVO_1_GPIO GPIOA #define PWM_SERVO_1_PIN GPIO2 #define PWM_SERVO_1_AF GPIO_AF1 @@ -268,7 +268,7 @@ #if USE_PWM2 #define PWM_SERVO_2 2 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_2_RCC RCC_GPIOB #define PWM_SERVO_2_GPIO GPIOB #define PWM_SERVO_2_PIN GPIO5 #define PWM_SERVO_2_AF GPIO_AF2 @@ -281,7 +281,7 @@ #if USE_PWM3 #define PWM_SERVO_3 3 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_3_RCC RCC_GPIOB #define PWM_SERVO_3_GPIO GPIOB #define PWM_SERVO_3_PIN GPIO4 #define PWM_SERVO_3_AF GPIO_AF2 @@ -294,7 +294,7 @@ #if USE_PWM4 #define PWM_SERVO_4 4 #define PWM_SERVO_4_TIMER TIM2 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_4_RCC RCC_GPIOB #define PWM_SERVO_4_GPIO GPIOB #define PWM_SERVO_4_PIN GPIO3 #define PWM_SERVO_4_AF GPIO_AF1 @@ -307,7 +307,7 @@ #if USE_PWM5 #define PWM_SERVO_5 5 #define PWM_SERVO_5_TIMER TIM2 -#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_5_RCC RCC_GPIOA #define PWM_SERVO_5_GPIO GPIOA #define PWM_SERVO_5_PIN GPIO15 #define PWM_SERVO_5_AF GPIO_AF1 @@ -321,7 +321,7 @@ #if USE_PWM6 #define PWM_SERVO_6 6 #define PWM_SERVO_6_TIMER TIM3 -#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_6_RCC RCC_GPIOB #define PWM_SERVO_6_GPIO GPIOB #define PWM_SERVO_6_PIN GPIO1 #define PWM_SERVO_6_AF GPIO_AF2 @@ -358,8 +358,7 @@ #define SPEKTRUM_BIND_PIN GPIO8 #define SPEKTRUM_BIND_PIN_PORT GPIOA -#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN +#define SPEKTRUM_UART2_RCC RCC_USART2 #define SPEKTRUM_UART2_BANK GPIOA #define SPEKTRUM_UART2_PIN GPIO3 #define SPEKTRUM_UART2_AF GPIO_AF7 diff --git a/sw/airborne/boards/beth.h b/sw/airborne/boards/beth.h index 18256a7ee55..17e0abc1c5b 100644 --- a/sw/airborne/boards/beth.h +++ b/sw/airborne/boards/beth.h @@ -11,35 +11,35 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOC -#define LED_1_GPIO_CLK RCC_APB2Periph_GPIOC +#define LED_1_GPIO_CLK RCC_GPIOC #define LED_1_GPIO_PIN GPIO_Pin_12 #ifndef USE_LED_4 #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOA -#define LED_4_GPIO_CLK RCC_APB2Periph_GPIOA +#define LED_4_GPIO_CLK RCC_GPIOA #define LED_4_GPIO_PIN GPIO_Pin_6 #ifndef USE_LED_5 #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOA -#define LED_5_GPIO_CLK RCC_APB2Periph_GPIOA +#define LED_5_GPIO_CLK RCC_GPIOA #define LED_5_GPIO_PIN GPIO_Pin_7 #ifndef USE_LED_6 #define USE_LED_6 1 #endif #define LED_6_GPIO GPIOB -#define LED_6_GPIO_CLK RCC_APB2Periph_GPIOB +#define LED_6_GPIO_CLK RCC_GPIOB #define LED_6_GPIO_PIN GPIO_Pin_0 #ifndef USE_LED_7 #define USE_LED_7 1 #endif #define LED_7_GPIO GPIOB -#define LED_7_GPIO_CLK RCC_APB2Periph_GPIOB +#define LED_7_GPIO_CLK RCC_GPIOB #define LED_7_GPIO_PIN GPIO_Pin_1 #endif /* CONFIG_BETH_H */ diff --git a/sw/airborne/boards/krooz_sd.h b/sw/airborne/boards/krooz_sd.h index 6c75389bd3f..b96962cc4dd 100644 --- a/sw/airborne/boards/krooz_sd.h +++ b/sw/airborne/boards/krooz_sd.h @@ -16,7 +16,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOA -#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPAEN +#define LED_1_GPIO_CLK RCC_GPIOA #define LED_1_GPIO_PIN GPIO13 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -27,7 +27,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOA -#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPAEN +#define LED_2_GPIO_CLK RCC_GPIOA #define LED_2_GPIO_PIN GPIO14 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -38,7 +38,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOA -#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPAEN +#define LED_3_GPIO_CLK RCC_GPIOA #define LED_3_GPIO_PIN GPIO15 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -50,24 +50,24 @@ /* PB4, Camera power On/Off */ #define CAM_SW_GPIO GPIOB -#define CAM_SW_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define CAM_SW_GPIO_CLK RCC_GPIOB #define CAM_SW_GPIO_PIN GPIO4 #define CAM_SW_AFIO_REMAP ((void)0) /* PC2, Camera shot */ #define CAM_SH_GPIO GPIOC -#define CAM_SH_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define CAM_SH_GPIO_CLK RCC_GPIOC #define CAM_SH_GPIO_PIN GPIO2 #define CAM_SH_AFIO_REMAP ((void)0) /* PC15, Camera video */ #define CAM_V_GPIO GPIOC -#define CAM_V_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define CAM_V_GPIO_CLK RCC_GPIOC #define CAM_V_GPIO_PIN GPIO15 #define CAM_V_AFIO_REMAP ((void)0) -#define BEEPER_GPIO GPIOC -#define BEEPER_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define BEEPER_GPIO GPIOC +#define BEEPER_GPIO_CLK RCC_GPIOC #define BEEPER_GPIO_PIN GPIO14 #define BEEPER_AFIO_REMAP ((void)0) @@ -222,7 +222,7 @@ #if USE_PWM0 #define PWM_SERVO_0 0 #define PWM_SERVO_0_TIMER TIM3 -#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_0_RCC RCC_GPIOB #define PWM_SERVO_0_GPIO GPIOB #define PWM_SERVO_0_PIN GPIO1 #define PWM_SERVO_0_AF GPIO_AF2 @@ -235,7 +235,7 @@ #if USE_PWM1 #define PWM_SERVO_1 1 #define PWM_SERVO_1_TIMER TIM3 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_1_RCC RCC_GPIOC #define PWM_SERVO_1_GPIO GPIOC #define PWM_SERVO_1_PIN GPIO8 #define PWM_SERVO_1_AF GPIO_AF2 @@ -248,7 +248,7 @@ #if USE_PWM2 #define PWM_SERVO_2 2 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_2_RCC RCC_GPIOC #define PWM_SERVO_2_GPIO GPIOC #define PWM_SERVO_2_PIN GPIO7 #define PWM_SERVO_2_AF GPIO_AF2 @@ -261,7 +261,7 @@ #if USE_PWM3 #define PWM_SERVO_3 3 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_3_RCC RCC_GPIOB #define PWM_SERVO_3_GPIO GPIOB #define PWM_SERVO_3_PIN GPIO4 #define PWM_SERVO_3_AF GPIO_AF2 @@ -274,7 +274,7 @@ #if USE_PWM4 #define PWM_SERVO_4 4 #define PWM_SERVO_4_TIMER TIM4 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_4_RCC RCC_GPIOB #define PWM_SERVO_4_GPIO GPIOB #define PWM_SERVO_4_PIN GPIO7 #define PWM_SERVO_4_AF GPIO_AF2 @@ -287,7 +287,7 @@ #if USE_PWM5 #define PWM_SERVO_5 5 #define PWM_SERVO_5_TIMER TIM4 -#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_5_RCC RCC_GPIOB #define PWM_SERVO_5_GPIO GPIOB #define PWM_SERVO_5_PIN GPIO6 #define PWM_SERVO_5_AF GPIO_AF2 @@ -300,7 +300,7 @@ #if USE_PWM6 #define PWM_SERVO_6 6 #define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_6_RCC RCC_GPIOA #define PWM_SERVO_6_GPIO GPIOA #define PWM_SERVO_6_PIN GPIO3 #define PWM_SERVO_6_AF GPIO_AF2 @@ -313,7 +313,7 @@ #if USE_PWM7 #define PWM_SERVO_7 7 #define PWM_SERVO_7_TIMER TIM5 -#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_7_RCC RCC_GPIOA #define PWM_SERVO_7_GPIO GPIOA #define PWM_SERVO_7_PIN GPIO2 #define PWM_SERVO_7_AF GPIO_AF2 @@ -326,7 +326,7 @@ #if USE_PWM8 #define PWM_SERVO_8 8 #define PWM_SERVO_8_TIMER TIM5 -#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_8_RCC RCC_GPIOA #define PWM_SERVO_8_GPIO GPIOA #define PWM_SERVO_8_PIN GPIO1 #define PWM_SERVO_8_AF GPIO_AF2 @@ -339,7 +339,7 @@ #if USE_PWM9 #define PWM_SERVO_9 9 #define PWM_SERVO_9_TIMER TIM5 -#define PWM_SERVO_9_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_9_RCC RCC_GPIOA #define PWM_SERVO_9_GPIO GPIOA #define PWM_SERVO_9_PIN GPIO0 #define PWM_SERVO_9_AF GPIO_AF2 @@ -352,7 +352,7 @@ #if USE_PWM10 #define PWM_SERVO_10 10 #define PWM_SERVO_10_TIMER TIM2 -#define PWM_SERVO_10_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_10_RCC RCC_GPIOB #define PWM_SERVO_10_GPIO GPIOB #define PWM_SERVO_10_PIN GPIO3 #define PWM_SERVO_10_AF GPIO_AF1 diff --git a/sw/airborne/boards/lia_1.1.h b/sw/airborne/boards/lia_1.1.h index fa1243e5a78..aca97ffeea1 100644 --- a/sw/airborne/boards/lia_1.1.h +++ b/sw/airborne/boards/lia_1.1.h @@ -18,7 +18,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOA -#define LED_1_GPIO_CLK RCC_APB2ENR_IOPAEN +#define LED_1_GPIO_CLK RCC_GPIOA #define LED_1_GPIO_PIN GPIO8 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -29,18 +29,21 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOB -#define LED_2_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN +#define LED_2_GPIO_CLK RCC_GPIOB #define LED_2_GPIO_PIN GPIO4 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set -#define LED_2_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST +#define LED_2_AFIO_REMAP { \ + rcc_periph_clock_enable(RCC_AFIO); \ + AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \ +} /* green, shared with ADC12 (ADC_6 on connector ANALOG2) */ #ifndef USE_LED_3 #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOC -#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_3_GPIO_CLK RCC_GPIOC #define LED_3_GPIO_PIN GPIO2 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -51,7 +54,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOC -#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_4_GPIO_CLK RCC_GPIOC #define LED_4_GPIO_PIN GPIO5 #define LED_4_GPIO_ON gpio_clear #define LED_4_GPIO_OFF gpio_set @@ -62,7 +65,7 @@ #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOC -#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_5_GPIO_CLK RCC_GPIOC #define LED_5_GPIO_PIN GPIO15 #define LED_5_GPIO_ON gpio_clear #define LED_5_GPIO_OFF gpio_set @@ -73,7 +76,7 @@ */ /* PC3, ADC13 on ADC_1 */ #define LED_6_GPIO GPIOC -#define LED_6_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_6_GPIO_CLK RCC_GPIOC #define LED_6_GPIO_PIN GPIO3 #define LED_6_GPIO_ON gpio_clear #define LED_6_GPIO_OFF gpio_set @@ -81,7 +84,7 @@ /* PC0, ADC10 on ADC_2 */ #define LED_7_GPIO GPIOC -#define LED_7_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_7_GPIO_CLK RCC_GPIOC #define LED_7_GPIO_PIN GPIO0 #define LED_7_GPIO_ON gpio_clear #define LED_7_GPIO_OFF gpio_set @@ -89,7 +92,7 @@ /* PC1, ADC11 on ADC_3 */ #define LED_8_GPIO GPIOC -#define LED_8_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_8_GPIO_CLK RCC_GPIOC #define LED_8_GPIO_PIN GPIO1 #define LED_8_GPIO_ON gpio_clear #define LED_8_GPIO_OFF gpio_set @@ -102,7 +105,7 @@ /* PB1, DRDY on EXT SPI connector*/ #define LED_BODY_GPIO GPIOB -#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN +#define LED_BODY_GPIO_CLK RCC_GPIOB #define LED_BODY_GPIO_PIN GPIO1 #define LED_BODY_GPIO_ON gpio_set #define LED_BODY_GPIO_OFF gpio_clear @@ -110,7 +113,7 @@ /* PC12, on GPIO connector*/ #define LED_12_GPIO GPIOC -#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_12_GPIO_CLK RCC_GPIOC #define LED_12_GPIO_PIN GPIO12 #define LED_12_GPIO_ON gpio_clear #define LED_12_GPIO_OFF gpio_set diff --git a/sw/airborne/boards/lisa_l_1.0.h b/sw/airborne/boards/lisa_l_1.0.h index 7d6c10f13d9..3ef3a14c6d9 100644 --- a/sw/airborne/boards/lisa_l_1.0.h +++ b/sw/airborne/boards/lisa_l_1.0.h @@ -18,23 +18,23 @@ /* SPI slave mapping */ -#define SPI_SELECT_SLAVE0_PERIPH RCC_APB2ENR_IOPAEN +#define SPI_SELECT_SLAVE0_PERIPH RCC_GPIOA #define SPI_SELECT_SLAVE0_PORT GPIOA #define SPI_SELECT_SLAVE0_PIN GPIO15 -#define SPI_SELECT_SLAVE1_PERIPH RCC_APB2ENR_IOPAEN +#define SPI_SELECT_SLAVE1_PERIPH RCC_GPIOA #define SPI_SELECT_SLAVE1_PORT GPIOA #define SPI_SELECT_SLAVE1_PIN GPIO4 -#define SPI_SELECT_SLAVE2_PERIPH RCC_APB2ENR_IOPBEN +#define SPI_SELECT_SLAVE2_PERIPH RCC_GPIOB #define SPI_SELECT_SLAVE2_PORT GPIOB #define SPI_SELECT_SLAVE2_PIN GPIO12 -#define SPI_SELECT_SLAVE3_PERIPH RCC_APB2ENR_IOPCEN +#define SPI_SELECT_SLAVE3_PERIPH RCC_GPIOC #define SPI_SELECT_SLAVE3_PORT GPIOC #define SPI_SELECT_SLAVE3_PIN GPIO13 -#define SPI_SELECT_SLAVE4_PERIPH RCC_APB2ENR_IOPCEN +#define SPI_SELECT_SLAVE4_PERIPH RCC_GPIOC #define SPI_SELECT_SLAVE4_PORT GPIOC #define SPI_SELECT_SLAVE4_PIN GPIO12 @@ -89,8 +89,7 @@ #define SPEKTRUM_BIND_PIN GPIO3 #define SPEKTRUM_BIND_PIN_PORT GPIOC -#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR -#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN +#define SPEKTRUM_UART1_RCC RCC_USART1 #define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX #define SPEKTRUM_UART1_PIN GPIO_USART1_RX #define SPEKTRUM_UART1_AF 0 @@ -98,8 +97,7 @@ #define SPEKTRUM_UART1_ISR usart1_isr #define SPEKTRUM_UART1_DEV USART1 -#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN +#define SPEKTRUM_UART3_RCC RCC_USART3 #define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX #define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX #define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP @@ -107,8 +105,7 @@ #define SPEKTRUM_UART3_ISR usart3_isr #define SPEKTRUM_UART3_DEV USART3 -#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN +#define SPEKTRUM_UART5_RCC RCC_UART5 #define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX #define SPEKTRUM_UART5_PIN GPIO_UART5_RX #define SPEKTRUM_UART5_AF 0 @@ -209,7 +206,7 @@ #if USE_PWM1 #define PWM_SERVO_1 0 #define PWM_SERVO_1_TIMER TIM3 -#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_1_RCC RCC_GPIOC #define PWM_SERVO_1_GPIO GPIOC #define PWM_SERVO_1_PIN GPIO6 #define PWM_SERVO_1_AF 0 @@ -222,7 +219,7 @@ #if USE_PWM2 #define PWM_SERVO_2 1 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_2_RCC RCC_GPIOC #define PWM_SERVO_2_GPIO GPIOC #define PWM_SERVO_2_PIN GPIO7 #define PWM_SERVO_2_AF 0 @@ -235,7 +232,7 @@ #if USE_PWM3 #define PWM_SERVO_3 2 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_3_RCC RCC_GPIOC #define PWM_SERVO_3_GPIO GPIOC #define PWM_SERVO_3_PIN GPIO8 #define PWM_SERVO_3_AF 0 @@ -248,7 +245,7 @@ #if USE_PWM4 #define PWM_SERVO_4 3 #define PWM_SERVO_4_TIMER TIM3 -#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_4_RCC RCC_GPIOC #define PWM_SERVO_4_GPIO GPIOC #define PWM_SERVO_4_PIN GPIO9 #define PWM_SERVO_4_AF 0 @@ -261,7 +258,7 @@ #if USE_PWM5 #define PWM_SERVO_5 4 #define PWM_SERVO_5_TIMER TIM4 -#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_5_RCC RCC_GPIOB #define PWM_SERVO_5_GPIO GPIOB #define PWM_SERVO_5_PIN GPIO8 #define PWM_SERVO_5_AF 0 @@ -274,7 +271,7 @@ #if USE_PWM6 #define PWM_SERVO_6 5 #define PWM_SERVO_6_TIMER TIM4 -#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_6_RCC RCC_GPIOB #define PWM_SERVO_6_GPIO GPIOB #define PWM_SERVO_6_PIN GPIO9 #define PWM_SERVO_6_AF 0 diff --git a/sw/airborne/boards/lisa_m_1.0.h b/sw/airborne/boards/lisa_m_1.0.h index 57b62d91f5c..4bf669d575c 100644 --- a/sw/airborne/boards/lisa_m_1.0.h +++ b/sw/airborne/boards/lisa_m_1.0.h @@ -15,18 +15,21 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOB -#define LED_1_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN +#define LED_1_GPIO_CLK RCC_GPIOB #define LED_1_GPIO_PIN GPIO4 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set -#define LED_1_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST +#define LED_1_AFIO_REMAP { \ + rcc_periph_clock_enable(RCC_AFIO); \ + AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \ +} /* blue */ #ifndef USE_LED_2 #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOC -#define LED_2_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_2_GPIO_CLK RCC_GPIOC #define LED_2_GPIO_PIN GPIO5 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -37,7 +40,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOC -#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_3_GPIO_CLK RCC_GPIOC #define LED_3_GPIO_PIN GPIO2 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -48,7 +51,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOC -#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_4_GPIO_CLK RCC_GPIOC #define LED_4_GPIO_PIN GPIO12 #define LED_4_GPIO_ON gpio_clear #define LED_4_GPIO_OFF gpio_set @@ -58,7 +61,7 @@ #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOC -#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_5_GPIO_CLK RCC_GPIOC #define LED_5_GPIO_PIN GPIO10 #define LED_5_GPIO_ON gpio_clear #define LED_5_GPIO_OFF gpio_set @@ -66,7 +69,7 @@ /* PB1, DRDY on EXT SPI connector*/ #define LED_BODY_GPIO GPIOB -#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN +#define LED_BODY_GPIO_CLK RCC_GPIOB #define LED_BODY_GPIO_PIN GPIO1 #define LED_BODY_GPIO_ON gpio_set #define LED_BODY_GPIO_OFF gpio_clear diff --git a/sw/airborne/boards/lisa_m_2.0.h b/sw/airborne/boards/lisa_m_2.0.h index 705260e8162..d4fc06cc925 100644 --- a/sw/airborne/boards/lisa_m_2.0.h +++ b/sw/airborne/boards/lisa_m_2.0.h @@ -18,7 +18,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOA -#define LED_1_GPIO_CLK RCC_APB2ENR_IOPAEN +#define LED_1_GPIO_CLK RCC_GPIOA #define LED_1_GPIO_PIN GPIO8 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -29,18 +29,21 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOB -#define LED_2_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN +#define LED_2_GPIO_CLK RCC_GPIOB #define LED_2_GPIO_PIN GPIO4 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set -#define LED_2_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST +#define LED_2_AFIO_REMAP { \ + rcc_periph_clock_enable(RCC_AFIO); \ + AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \ +} /* green, shared with ADC12 (ADC_6 on connector ANALOG2) */ #ifndef USE_LED_3 #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOC -#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_3_GPIO_CLK RCC_GPIOC #define LED_3_GPIO_PIN GPIO2 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -51,7 +54,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOC -#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_4_GPIO_CLK RCC_GPIOC #define LED_4_GPIO_PIN GPIO5 #define LED_4_GPIO_ON gpio_clear #define LED_4_GPIO_OFF gpio_set @@ -62,7 +65,7 @@ #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOC -#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_5_GPIO_CLK RCC_GPIOC #define LED_5_GPIO_PIN GPIO15 #define LED_5_GPIO_ON gpio_clear #define LED_5_GPIO_OFF gpio_set @@ -73,7 +76,7 @@ */ /* PC3, ADC13 on ADC_1 */ #define LED_6_GPIO GPIOC -#define LED_6_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_6_GPIO_CLK RCC_GPIOC #define LED_6_GPIO_PIN GPIO3 #define LED_6_GPIO_ON gpio_clear #define LED_6_GPIO_OFF gpio_set @@ -81,7 +84,7 @@ /* PC0, ADC10 on ADC_2 */ #define LED_7_GPIO GPIOC -#define LED_7_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_7_GPIO_CLK RCC_GPIOC #define LED_7_GPIO_PIN GPIO0 #define LED_7_GPIO_ON gpio_clear #define LED_7_GPIO_OFF gpio_set @@ -89,7 +92,7 @@ /* PC1, ADC11 on ADC_3 */ #define LED_8_GPIO GPIOC -#define LED_8_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_8_GPIO_CLK RCC_GPIOC #define LED_8_GPIO_PIN GPIO1 #define LED_8_GPIO_ON gpio_clear #define LED_8_GPIO_OFF gpio_set @@ -102,7 +105,7 @@ /* PB1, DRDY on EXT SPI connector*/ #define LED_BODY_GPIO GPIOB -#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN +#define LED_BODY_GPIO_CLK RCC_GPIOB #define LED_BODY_GPIO_PIN GPIO1 #define LED_BODY_GPIO_ON gpio_set #define LED_BODY_GPIO_OFF gpio_clear @@ -110,7 +113,7 @@ /* PC12, on GPIO connector*/ #define LED_12_GPIO GPIOC -#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_12_GPIO_CLK RCC_GPIOC #define LED_12_GPIO_PIN GPIO12 #define LED_12_GPIO_ON gpio_clear #define LED_12_GPIO_OFF gpio_set diff --git a/sw/airborne/boards/lisa_m_common.h b/sw/airborne/boards/lisa_m_common.h index 7e0e999ed85..3fc39b5d0c9 100644 --- a/sw/airborne/boards/lisa_m_common.h +++ b/sw/airborne/boards/lisa_m_common.h @@ -59,8 +59,7 @@ #define SPEKTRUM_BIND_PIN GPIO3 #define SPEKTRUM_BIND_PIN_PORT GPIOC -#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR -#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN +#define SPEKTRUM_UART1_RCC RCC_USART1 #define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX #define SPEKTRUM_UART1_PIN GPIO_USART1_RX #define SPEKTRUM_UART1_AF 0 @@ -68,8 +67,7 @@ #define SPEKTRUM_UART1_ISR usart1_isr #define SPEKTRUM_UART1_DEV USART1 -#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN +#define SPEKTRUM_UART3_RCC RCC_USART3 #define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX #define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX #define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP @@ -77,8 +75,7 @@ #define SPEKTRUM_UART3_ISR usart3_isr #define SPEKTRUM_UART3_DEV USART3 -#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN +#define SPEKTRUM_UART5_RCC RCC_UART5 #define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX #define SPEKTRUM_UART5_PIN GPIO_UART5_RX #define SPEKTRUM_UART5_AF 0 @@ -249,7 +246,7 @@ #if USE_PWM1 #define PWM_SERVO_1 0 #define PWM_SERVO_1_TIMER TIM3 -#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_1_RCC RCC_GPIOC #define PWM_SERVO_1_GPIO GPIOC #define PWM_SERVO_1_PIN GPIO6 #define PWM_SERVO_1_AF 0 @@ -262,7 +259,7 @@ #if USE_PWM2 #define PWM_SERVO_2 1 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_2_RCC RCC_GPIOC #define PWM_SERVO_2_GPIO GPIOC #define PWM_SERVO_2_PIN GPIO7 #define PWM_SERVO_2_AF 0 @@ -275,7 +272,7 @@ #if USE_PWM3 #define PWM_SERVO_3 2 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_3_RCC RCC_GPIOC #define PWM_SERVO_3_GPIO GPIOC #define PWM_SERVO_3_PIN GPIO8 #define PWM_SERVO_3_AF 0 @@ -288,7 +285,7 @@ #if USE_PWM4 #define PWM_SERVO_4 3 #define PWM_SERVO_4_TIMER TIM3 -#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPCEN +#define PWM_SERVO_4_RCC RCC_GPIOC #define PWM_SERVO_4_GPIO GPIOC #define PWM_SERVO_4_PIN GPIO9 #define PWM_SERVO_4_AF 0 @@ -301,7 +298,7 @@ #if USE_PWM5 #define PWM_SERVO_5 4 #define PWM_SERVO_5_TIMER TIM5 -#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPAEN +#define PWM_SERVO_5_RCC RCC_GPIOA #define PWM_SERVO_5_GPIO GPIOA #define PWM_SERVO_5_PIN GPIO0 #define PWM_SERVO_5_AF 0 @@ -314,7 +311,7 @@ #if USE_PWM6 #define PWM_SERVO_6 5 #define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPAEN +#define PWM_SERVO_6_RCC RCC_GPIOA #define PWM_SERVO_6_GPIO GPIOA #define PWM_SERVO_6_PIN GPIO1 #define PWM_SERVO_6_AF 0 @@ -327,7 +324,7 @@ #if USE_PWM7 #define PWM_SERVO_7 6 #define PWM_SERVO_7_TIMER TIM4 -#define PWM_SERVO_7_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_7_RCC RCC_GPIOB #define PWM_SERVO_7_GPIO GPIOB #define PWM_SERVO_7_PIN GPIO6 #define PWM_SERVO_7_AF 0 @@ -340,7 +337,7 @@ #if USE_PWM8 #define PWM_SERVO_8 7 #define PWM_SERVO_8_TIMER TIM4 -#define PWM_SERVO_8_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_8_RCC RCC_GPIOB #define PWM_SERVO_8_GPIO GPIOB #define PWM_SERVO_8_PIN GPIO7 #define PWM_SERVO_8_AF 0 diff --git a/sw/airborne/boards/lisa_mx_2.0.h b/sw/airborne/boards/lisa_mx_2.0.h index 7c558117484..114de28c3b0 100644 --- a/sw/airborne/boards/lisa_mx_2.0.h +++ b/sw/airborne/boards/lisa_mx_2.0.h @@ -40,7 +40,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOA -#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPAEN +#define LED_1_GPIO_CLK RCC_GPIOA #define LED_1_GPIO_PIN GPIO8 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -51,7 +51,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOB -#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_2_GPIO_CLK RCC_GPIOB #define LED_2_GPIO_PIN GPIO4 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -62,7 +62,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOC -#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_3_GPIO_CLK RCC_GPIOC #define LED_3_GPIO_PIN GPIO2 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -73,7 +73,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOC -#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_4_GPIO_CLK RCC_GPIOC #define LED_4_GPIO_PIN GPIO5 #define LED_4_GPIO_ON gpio_clear #define LED_4_GPIO_OFF gpio_set @@ -84,7 +84,7 @@ #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOC -#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_5_GPIO_CLK RCC_GPIOC #define LED_5_GPIO_PIN GPIO15 #define LED_5_GPIO_ON gpio_clear #define LED_5_GPIO_OFF gpio_set @@ -95,7 +95,7 @@ */ /* PC3, ADC13 on ADC_1 */ #define LED_6_GPIO GPIOC -#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_6_GPIO_CLK RCC_GPIOC #define LED_6_GPIO_PIN GPIO3 #define LED_6_GPIO_ON gpio_clear #define LED_6_GPIO_OFF gpio_set @@ -103,7 +103,7 @@ /* PC0, ADC10 on ADC_2 */ #define LED_7_GPIO GPIOC -#define LED_7_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_7_GPIO_CLK RCC_GPIOC #define LED_7_GPIO_PIN GPIO0 #define LED_7_GPIO_ON gpio_clear #define LED_7_GPIO_OFF gpio_set @@ -111,7 +111,7 @@ /* PC1, ADC11 on ADC_3 */ #define LED_8_GPIO GPIOC -#define LED_8_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_8_GPIO_CLK RCC_GPIOC #define LED_8_GPIO_PIN GPIO1 #define LED_8_GPIO_ON gpio_clear #define LED_8_GPIO_OFF gpio_set @@ -124,7 +124,7 @@ /* PB1, DRDY on EXT SPI connector*/ #define LED_BODY_GPIO GPIOB -#define LED_BODY_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_BODY_GPIO_CLK RCC_GPIOB #define LED_BODY_GPIO_PIN GPIO1 #define LED_BODY_GPIO_ON gpio_set #define LED_BODY_GPIO_OFF gpio_clear @@ -132,7 +132,7 @@ /* PC12, on GPIO connector*/ #define LED_12_GPIO GPIOC -#define LED_12_GPIO_CLK RCC_AHB1ENR_IOPCEN +#define LED_12_GPIO_CLK RCC_GPIOC #define LED_12_GPIO_PIN GPIO12 #define LED_12_GPIO_ON gpio_clear #define LED_12_GPIO_OFF gpio_set @@ -178,8 +178,7 @@ #define SPEKTRUM_BIND_PIN GPIO3 #define SPEKTRUM_BIND_PIN_PORT GPIOC -#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR -#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN +#define SPEKTRUM_UART1_RCC RCC_USART1 #define SPEKTRUM_UART1_BANK GPIOA #define SPEKTRUM_UART1_PIN GPIO10 #define SPEKTRUM_UART1_AF GPIO_AF7 @@ -187,8 +186,7 @@ #define SPEKTRUM_UART1_ISR usart1_isr #define SPEKTRUM_UART1_DEV USART1 -#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN +#define SPEKTRUM_UART5_RCC RCC_UART5 #define SPEKTRUM_UART5_BANK GPIOD #define SPEKTRUM_UART5_PIN GPIO2 #define SPEKTRUM_UART5_AF GPIO_AF7 @@ -394,7 +392,7 @@ #if USE_PWM1 #define PWM_SERVO_1 0 #define PWM_SERVO_1_TIMER TIM3 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_1_RCC RCC_GPIOC #define PWM_SERVO_1_GPIO GPIOC #define PWM_SERVO_1_PIN GPIO6 #define PWM_SERVO_1_AF GPIO_AF2 @@ -407,7 +405,7 @@ #if USE_PWM2 #define PWM_SERVO_2 1 #define PWM_SERVO_2_TIMER TIM3 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_2_RCC RCC_GPIOC #define PWM_SERVO_2_GPIO GPIOC #define PWM_SERVO_2_PIN GPIO7 #define PWM_SERVO_2_AF GPIO_AF2 @@ -420,7 +418,7 @@ #if USE_PWM3 #define PWM_SERVO_3 2 #define PWM_SERVO_3_TIMER TIM3 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_3_RCC RCC_GPIOC #define PWM_SERVO_3_GPIO GPIOC #define PWM_SERVO_3_PIN GPIO8 #define PWM_SERVO_3_AF GPIO_AF2 @@ -433,7 +431,7 @@ #if USE_PWM4 #define PWM_SERVO_4 3 #define PWM_SERVO_4_TIMER TIM3 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPCEN +#define PWM_SERVO_4_RCC RCC_GPIOC #define PWM_SERVO_4_GPIO GPIOC #define PWM_SERVO_4_PIN GPIO9 #define PWM_SERVO_4_AF GPIO_AF2 @@ -446,7 +444,7 @@ #if USE_PWM5 #define PWM_SERVO_5 4 #define PWM_SERVO_5_TIMER TIM5 -#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_5_RCC RCC_GPIOA #define PWM_SERVO_5_GPIO GPIOA #define PWM_SERVO_5_PIN GPIO0 #define PWM_SERVO_5_AF GPIO_AF2 @@ -459,7 +457,7 @@ #if USE_PWM6 #define PWM_SERVO_6 5 #define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_6_RCC RCC_GPIOA #define PWM_SERVO_6_GPIO GPIOA #define PWM_SERVO_6_PIN GPIO1 #define PWM_SERVO_6_AF GPIO_AF2 @@ -472,7 +470,7 @@ #if USE_PWM7 #define PWM_SERVO_7 6 #define PWM_SERVO_7_TIMER TIM4 -#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_7_RCC RCC_GPIOB #define PWM_SERVO_7_GPIO GPIOB #define PWM_SERVO_7_PIN GPIO6 #define PWM_SERVO_7_AF GPIO_AF2 @@ -485,7 +483,7 @@ #if USE_PWM8 #define PWM_SERVO_8 7 #define PWM_SERVO_8_TIMER TIM4 -#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_8_RCC RCC_GPIOB #define PWM_SERVO_8_GPIO GPIOB #define PWM_SERVO_8_PIN GPIO7 #define PWM_SERVO_8_AF GPIO_AF2 diff --git a/sw/airborne/boards/lisa_s_0.1.h b/sw/airborne/boards/lisa_s_0.1.h index 8bc6951e94c..a2ae81f5b0d 100644 --- a/sw/airborne/boards/lisa_s_0.1.h +++ b/sw/airborne/boards/lisa_s_0.1.h @@ -16,7 +16,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOC -#define LED_1_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_1_GPIO_CLK RCC_GPIOC #define LED_1_GPIO_PIN GPIO10 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -27,7 +27,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOC -#define LED_2_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_2_GPIO_CLK RCC_GPIOC #define LED_2_GPIO_PIN GPIO11 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -38,7 +38,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOD -#define LED_3_GPIO_CLK RCC_APB2ENR_IOPDEN +#define LED_3_GPIO_CLK RCC_GPIOD #define LED_3_GPIO_PIN GPIO2 #define LED_3_GPIO_ON gpio_clear #define LED_3_GPIO_OFF gpio_set @@ -50,7 +50,7 @@ /* PB1, DRDY on EXT SPI connector*/ #define LED_BODY_GPIO GPIOB -#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN +#define LED_BODY_GPIO_CLK RCC_GPIOB #define LED_BODY_GPIO_PIN GPIO1 #define LED_BODY_GPIO_ON gpio_set #define LED_BODY_GPIO_OFF gpio_clear @@ -58,7 +58,7 @@ /* PC12, on GPIO connector*/ #define LED_12_GPIO GPIOC -#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN +#define LED_12_GPIO_CLK RCC_GPIOC #define LED_12_GPIO_PIN GPIO12 #define LED_12_GPIO_ON gpio_clear #define LED_12_GPIO_OFF gpio_set @@ -147,8 +147,7 @@ #define SPEKTRUM_BIND_PIN_PORT GPIOB /* Diag Port RX */ -#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR -#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN +#define SPEKTRUM_UART1_RCC RCC_USART1 #define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX #define SPEKTRUM_UART1_PIN GPIO_USART1_RX #define SPEKTRUM_UART1_AF 0 @@ -157,8 +156,7 @@ #define SPEKTRUM_UART1_DEV USART1 /* AUX Radio RX */ -#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN +#define SPEKTRUM_UART2_RCC RCC_USART2 #define SPEKTRUM_UART2_BANK GPIO_BANK_USART2_RX #define SPEKTRUM_UART2_PIN GPIO_USART2_RX #define SPEKTRUM_UART2_AF 0 @@ -167,8 +165,7 @@ #define SPEKTRUM_UART2_DEV USART2 /* LED2 */ -#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN +#define SPEKTRUM_UART3_RCC RCC_USART3 #define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX #define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX #define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP @@ -177,8 +174,7 @@ #define SPEKTRUM_UART3_DEV USART3 /* LED3 */ -#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN +#define SPEKTRUM_UART5_RCC RCC_UART5 #define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX #define SPEKTRUM_UART5_PIN GPIO_UART5_RX #define SPEKTRUM_UART5_AF 0 @@ -311,7 +307,7 @@ #if USE_PWM1 #define PWM_SERVO_1 4 #define PWM_SERVO_1_TIMER TIM4 -#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_1_RCC RCC_GPIOB #define PWM_SERVO_1_GPIO GPIOB #define PWM_SERVO_1_PIN GPIO6 #define PWM_SERVO_1_AF 0 @@ -324,7 +320,7 @@ #if USE_PWM2 #define PWM_SERVO_2 5 #define PWM_SERVO_2_TIMER TIM4 -#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_2_RCC RCC_GPIOB #define PWM_SERVO_2_GPIO GPIOB #define PWM_SERVO_2_PIN GPIO7 #define PWM_SERVO_2_AF 0 @@ -337,7 +333,7 @@ #if USE_PWM3 #define PWM_SERVO_3 0 #define PWM_SERVO_3_TIMER TIM4 -#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_3_RCC RCC_GPIOB #define PWM_SERVO_3_GPIO GPIOB #define PWM_SERVO_3_PIN GPIO8 #define PWM_SERVO_3_AF 0 @@ -350,7 +346,7 @@ #if USE_PWM4 #define PWM_SERVO_4 1 #define PWM_SERVO_4_TIMER TIM4 -#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPBEN +#define PWM_SERVO_4_RCC RCC_GPIOB #define PWM_SERVO_4_GPIO GPIOB #define PWM_SERVO_4_PIN GPIO9 #define PWM_SERVO_4_AF 0 @@ -363,7 +359,7 @@ #if USE_PWM5 #define PWM_SERVO_5 2 #define PWM_SERVO_5_TIMER TIM5 -#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPAEN +#define PWM_SERVO_5_RCC RCC_GPIOA #define PWM_SERVO_5_GPIO GPIOA #define PWM_SERVO_5_PIN GPIO0 #define PWM_SERVO_5_AF 0 @@ -376,7 +372,7 @@ #if USE_PWM6 #define PWM_SERVO_6 3 #define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPAEN +#define PWM_SERVO_6_RCC RCC_GPIOA #define PWM_SERVO_6_GPIO GPIOA #define PWM_SERVO_6_PIN GPIO1 #define PWM_SERVO_6_AF 0 diff --git a/sw/airborne/boards/olimex_stm32-h103.h b/sw/airborne/boards/olimex_stm32-h103.h index 7c1a1239826..2c76141ccf5 100644 --- a/sw/airborne/boards/olimex_stm32-h103.h +++ b/sw/airborne/boards/olimex_stm32-h103.h @@ -10,7 +10,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOC -#define LED_1_GPIO_CLK RCC_APB2Periph_GPIOC +#define LED_1_GPIO_CLK RCC_GPIOC #define LED_1_GPIO_PIN GPIO_Pin_12 #endif /* CONFIG_OLIMEX_STM32_H103_H */ diff --git a/sw/airborne/boards/px4fmu_1.7.h b/sw/airborne/boards/px4fmu_1.7.h index 59b5dee27bb..e670e0262b3 100644 --- a/sw/airborne/boards/px4fmu_1.7.h +++ b/sw/airborne/boards/px4fmu_1.7.h @@ -16,7 +16,7 @@ #define USE_LED_1 1 #endif #define LED_1_GPIO GPIOB -#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_1_GPIO_CLK RCC_GPIOB #define LED_1_GPIO_PIN GPIO14 #define LED_1_GPIO_ON gpio_clear #define LED_1_GPIO_OFF gpio_set @@ -27,7 +27,7 @@ #define USE_LED_2 1 #endif #define LED_2_GPIO GPIOB -#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPBEN +#define LED_2_GPIO_CLK RCC_GPIOB #define LED_2_GPIO_PIN GPIO15 #define LED_2_GPIO_ON gpio_clear #define LED_2_GPIO_OFF gpio_set @@ -191,8 +191,7 @@ #define SPEKTRUM_BIND_PIN GPIO4 #define SPEKTRUM_BIND_PIN_PORT GPIOC -#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR -#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN +#define SPEKTRUM_UART2_RCC RCC_USART2 #define SPEKTRUM_UART2_BANK GPIOA #define SPEKTRUM_UART2_PIN GPIO3 #define SPEKTRUM_UART2_AF GPIO_AF7 @@ -228,7 +227,7 @@ #if USE_PWM1 #define PWM_SERVO_1 0 #define PWM_SERVO_1_TIMER TIM2 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_1_RCC RCC_GPIOA #define PWM_SERVO_1_GPIO GPIOA #define PWM_SERVO_1_PIN GPIO0 #define PWM_SERVO_1_AF GPIO_AF1 @@ -242,7 +241,7 @@ #if USE_PWM2 #define PWM_SERVO_2 1 #define PWM_SERVO_2_TIMER TIM2 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_2_RCC RCC_GPIOA #define PWM_SERVO_2_GPIO GPIOA #define PWM_SERVO_2_PIN GPIO1 #define PWM_SERVO_2_AF GPIO_AF1 @@ -256,7 +255,7 @@ #if USE_PWM3 #define PWM_SERVO_3_IDX 2 #define PWM_SERVO_3_TIMER TIM2 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_3_RCC RCC_GPIOA #define PWM_SERVO_3_GPIO GPIOA #define PWM_SERVO_3_PIN GPIO2 #define PWM_SERVO_3_AF GPIO_AF1 @@ -270,7 +269,7 @@ #if USE_PWM4 #define PWM_SERVO_4 3 #define PWM_SERVO_4_TIMER TIM2 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_4_RCC RCC_GPIOA #define PWM_SERVO_4_GPIO GPIOA #define PWM_SERVO_4_PIN GPIO3 #define PWM_SERVO_4_AF GPIO_AF1 diff --git a/sw/airborne/boards/stm32f4_discovery.h b/sw/airborne/boards/stm32f4_discovery.h index c715ae9f373..fc878abfd99 100644 --- a/sw/airborne/boards/stm32f4_discovery.h +++ b/sw/airborne/boards/stm32f4_discovery.h @@ -109,7 +109,7 @@ #define USE_LED_3 1 #endif #define LED_3_GPIO GPIOD -#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPDEN +#define LED_3_GPIO_CLK RCC_GPIOD #define LED_3_GPIO_PIN GPIO13 #define LED_3_AFIO_REMAP ((void)0) #define LED_3_GPIO_ON gpio_set @@ -120,7 +120,7 @@ #define USE_LED_4 1 #endif #define LED_4_GPIO GPIOD -#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPDEN +#define LED_4_GPIO_CLK RCC_GPIOD #define LED_4_GPIO_PIN GPIO12 #define LED_4_AFIO_REMAP ((void)0) #define LED_4_GPIO_ON gpio_set @@ -131,7 +131,7 @@ #define USE_LED_5 1 #endif #define LED_5_GPIO GPIOD -#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPDEN +#define LED_5_GPIO_CLK RCC_GPIOD #define LED_5_GPIO_PIN GPIO14 #define LED_5_AFIO_REMAP ((void)0) #define LED_5_GPIO_ON gpio_set @@ -142,7 +142,7 @@ #define USE_LED_6 1 #endif #define LED_6_GPIO GPIOD -#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPDEN +#define LED_6_GPIO_CLK RCC_GPIOD #define LED_6_GPIO_PIN GPIO15 #define LED_6_AFIO_REMAP ((void)0) #define LED_6_GPIO_ON gpio_set @@ -156,7 +156,7 @@ #define USE_LED_9 1 #endif #define LED_9_GPIO GPIOA -#define LED_9_GPIO_CLK RCC_AHB1ENR_IOPAEN +#define LED_9_GPIO_CLK RCC_GPIOA #define LED_9_GPIO_PIN GPIO9 #define LED_9_AFIO_REMAP ((void)0) #define LED_9_GPIO_ON gpio_set @@ -398,7 +398,7 @@ #if USE_PWM0 #define PWM_SERVO_0 0 #define PWM_SERVO_0_TIMER TIM1 -#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_0_RCC RCC_GPIOE #define PWM_SERVO_0_GPIO GPIOE #define PWM_SERVO_0_PIN GPIO9 #define PWM_SERVO_0_AF GPIO_AF1 @@ -411,7 +411,7 @@ #if USE_PWM1 #define PWM_SERVO_1 1 #define PWM_SERVO_1_TIMER TIM1 -#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_1_RCC RCC_GPIOE #define PWM_SERVO_1_GPIO GPIOE #define PWM_SERVO_1_PIN GPIO11 #define PWM_SERVO_1_AF GPIO_AF1 @@ -424,7 +424,7 @@ #if USE_PWM2 #define PWM_SERVO_2 2 #define PWM_SERVO_2_TIMER TIM1 -#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_2_RCC RCC_GPIOE #define PWM_SERVO_2_GPIO GPIOE #define PWM_SERVO_2_PIN GPIO13 #define PWM_SERVO_2_AF GPIO_AF1 @@ -437,7 +437,7 @@ #if USE_PWM3 #define PWM_SERVO_3 3 #define PWM_SERVO_3_TIMER TIM1 -#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_3_RCC RCC_GPIOE #define PWM_SERVO_3_GPIO GPIOE #define PWM_SERVO_3_PIN GPIO14 #define PWM_SERVO_3_AF GPIO_AF1 @@ -450,7 +450,7 @@ #if USE_PWM4 #define PWM_SERVO_4 4 #define PWM_SERVO_4_TIMER TIM9 -#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_4_RCC RCC_GPIOE #define PWM_SERVO_4_GPIO GPIOE #define PWM_SERVO_4_PIN GPIO5 #define PWM_SERVO_4_AF GPIO_AF3 @@ -463,7 +463,7 @@ #if USE_PWM5 #define PWM_SERVO_5 5 #define PWM_SERVO_5_TIMER TIM9 -#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPEEN +#define PWM_SERVO_5_RCC RCC_GPIOE #define PWM_SERVO_5_GPIO GPIOE #define PWM_SERVO_5_PIN GPIO6 #define PWM_SERVO_5_AF GPIO_AF3 @@ -477,7 +477,7 @@ #if USE_PWM6 #define PWM_SERVO_6 6 #define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_6_RCC RCC_GPIOA #define PWM_SERVO_6_GPIO GPIOA #define PWM_SERVO_6_PIN GPIO3 #define PWM_SERVO_6_AF GPIO_AF2 @@ -490,7 +490,7 @@ #if USE_PWM7 #define PWM_SERVO_7 7 #define PWM_SERVO_7_TIMER TIM5 -#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_7_RCC RCC_GPIOA #define PWM_SERVO_7_GPIO GPIOA #define PWM_SERVO_7_PIN GPIO2 #define PWM_SERVO_7_AF GPIO_AF2 @@ -503,7 +503,7 @@ #if USE_PWM8 #define PWM_SERVO_8 8 #define PWM_SERVO_8_TIMER TIM5 -#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_8_RCC RCC_GPIOA #define PWM_SERVO_8_GPIO GPIOA #define PWM_SERVO_8_PIN GPIO1 #define PWM_SERVO_8_AF GPIO_AF2 @@ -516,7 +516,7 @@ #if USE_PWM9 #define PWM_SERVO_9 9 #define PWM_SERVO_9_TIMER TIM5 -#define PWM_SERVO_9_RCC_IOP RCC_AHB1ENR_IOPAEN +#define PWM_SERVO_9_RCC RCC_GPIOA #define PWM_SERVO_9_GPIO GPIOA #define PWM_SERVO_9_PIN GPIO0 #define PWM_SERVO_9_AF GPIO_AF2 @@ -530,7 +530,7 @@ #if USE_PWM10 #define PWM_SERVO_10 10 #define PWM_SERVO_10_TIMER TIM12 -#define PWM_SERVO_10_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_10_RCC RCC_GPIOB #define PWM_SERVO_10_GPIO GPIOB #define PWM_SERVO_10_PIN GPIO14 #define PWM_SERVO_10_AF GPIO_AF9 @@ -543,7 +543,7 @@ #if USE_PWM11 #define PWM_SERVO_11 11 #define PWM_SERVO_11_TIMER TIM12 -#define PWM_SERVO_11_RCC_IOP RCC_AHB1ENR_IOPBEN +#define PWM_SERVO_11_RCC RCC_GPIOB #define PWM_SERVO_11_GPIO GPIOB #define PWM_SERVO_11_PIN GPIO15 #define PWM_SERVO_11_AF GPIO_AF9 @@ -598,8 +598,7 @@ #define SPEKTRUM_BIND_PIN GPIO8 #define SPEKTRUM_BIND_PIN_PORT GPIOA -#define SPEKTRUM_UART2_RCC_REG &RCC_APB2ENR -#define SPEKTRUM_UART2_RCC_DEV RCC_APB2ENR_USART1EN +#define SPEKTRUM_UART2_RCC RCC_USART1 #define SPEKTRUM_UART2_BANK GPIOA #define SPEKTRUM_UART2_PIN GPIO10 #define SPEKTRUM_UART2_AF GPIO_AF7