[board] make the Tawaki header file more generic (#2596)

it is fixing some wrong pin and timer assigments
This commit is contained in:
Gautier Hattenberger
2020-10-13 14:06:48 +02:00
committed by GitHub
parent adce81e35e
commit 972b17a37f
5 changed files with 342 additions and 109 deletions
@@ -17,6 +17,11 @@
*/
#define AHB_CLK STM32_HCLK
/*
* Concat macro
*/
#define _CONCAT_BOARD_PARAM(_s1, _s2) _s1 ## _s2
#define CONCAT_BOARD_PARAM(_s1, _s2) _CONCAT_BOARD_PARAM(_s1, _s2)
/*
* LEDs
@@ -62,7 +67,7 @@
*/
// AUXa1
#if USE_ADC_1
#define AD1_1_CHANNEL ADC_CHANNEL_IN0
#define AD1_1_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_A1_ADC_IN)
#define ADC_1 AD1_1
#define ADC_1_GPIO_PORT PAL_PORT(LINE_AUX_A1)
#define ADC_1_GPIO_PIN PAL_PAD(LINE_AUX_A1)
@@ -70,7 +75,7 @@
// AUXa2
#if USE_ADC_2
#define AD1_2_CHANNEL ADC_CHANNEL_IN1
#define AD1_2_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_A2_ADC_IN)
#define ADC_2 AD1_2
#define ADC_2_GPIO_PORT PAL_PORT(LINE_AUX_A2)
#define ADC_2_GPIO_PIN PAL_PAD(LINE_AUX_A2)
@@ -78,7 +83,7 @@
// AUXa3
#if USE_ADC_3
#define AD1_3_CHANNEL ADC_CHANNEL_IN2
#define AD1_3_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_A3_ADC_IN)
#define ADC_3 AD1_3
#define ADC_3_GPIO_PORT PAL_PORT(LINE_AUX_A3)
#define ADC_3_GPIO_PIN PAL_PAD(LINE_AUX_A3)
@@ -86,7 +91,7 @@
// AUXa4
#if USE_ADC_4
#define AD1_4_CHANNEL ADC_CHANNEL_IN6
#define AD1_4_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_A4_ADC_IN)
#define ADC_4 AD1_4
#define ADC_4_GPIO_PORT PAL_PORT(LINE_AUX_A4)
#define ADC_4_GPIO_PIN PAL_PAD(LINE_AUX_A4)
@@ -94,7 +99,7 @@
// AUXb1
#if USE_ADC_5
#define AD1_5_CHANNEL ADC_CHANNEL_IN3
#define AD1_5_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_B1_ADC_IN)
#define ADC_5 AD1_5
#define ADC_5_GPIO_PORT PAL_PORT(LINE_AUX_B1)
#define ADC_5_GPIO_PIN PAL_PAD(LINE_AUX_B1)
@@ -102,7 +107,7 @@
// AUXb2
#if USE_ADC_6
#define AD1_6_CHANNEL ADC_CHANNEL_IN7
#define AD1_6_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_B2_ADC_IN)
#define ADC_6 AD1_6
#define ADC_6_GPIO_PORT PAL_PORT(LINE_AUX_B2)
#define ADC_6_GPIO_PIN PAL_PAD(LINE_AUX_B2)
@@ -110,7 +115,7 @@
// AUXb3
#if USE_ADC_7
#define AD1_7_CHANNEL ADC_CHANNEL_IN8
#define AD1_7_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_B3_ADC_IN)
#define ADC_7 AD1_7
#define ADC_7_GPIO_PORT PAL_PORT(LINE_AUX_B3)
#define ADC_7_GPIO_PIN PAL_PAD(LINE_AUX_B3)
@@ -118,7 +123,7 @@
// AUXb4
#if USE_ADC_8
#define AD1_8_CHANNEL ADC_CHANNEL_IN9
#define AD1_8_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, AUX_B4_ADC_IN)
#define ADC_8 AD1_8
#define ADC_8_GPIO_PORT PAL_PORT(LINE_AUX_B4)
#define ADC_8_GPIO_PIN PAL_PAD(LINE_AUX_B4)
@@ -129,7 +134,7 @@
#define USE_ADC_9 1
#endif
#if USE_ADC_9
#define AD1_9_CHANNEL ADC_CHANNEL_IN10
#define AD1_9_CHANNEL CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, VBAT_MEAS_ADC_IN)
#define ADC_9 AD1_9
#define ADC_9_GPIO_PORT PAL_PORT(LINE_VBAT_MEAS)
#define ADC_9_GPIO_PIN PAL_PAD(LINE_VBAT_MEAS)
@@ -163,8 +168,8 @@
#define PWM_SERVO_1_GPIO PAL_PORT(LINE_SRVA1)
#define PWM_SERVO_1_PIN PAL_PAD(LINE_SRVA1)
#define PWM_SERVO_1_AF AF_SRVA1
#define PWM_SERVO_1_DRIVER PWMD1
#define PWM_SERVO_1_CHANNEL 0
#define PWM_SERVO_1_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVA1_TIM)
#define PWM_SERVO_1_CHANNEL SRVA1_TIM_CH
#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_DISABLED
@@ -178,8 +183,8 @@
#define PWM_SERVO_2_GPIO PAL_PORT(LINE_SRVA2)
#define PWM_SERVO_2_PIN PAL_PAD(LINE_SRVA2)
#define PWM_SERVO_2_AF AF_SRVA2
#define PWM_SERVO_2_DRIVER PWMD1
#define PWM_SERVO_2_CHANNEL 1
#define PWM_SERVO_2_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVA2_TIM)
#define PWM_SERVO_2_CHANNEL SRVA2_TIM_CH
#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_DISABLED
@@ -193,8 +198,8 @@
#define PWM_SERVO_3_GPIO PAL_PORT(LINE_SRVA3)
#define PWM_SERVO_3_PIN PAL_PAD(LINE_SRVA3)
#define PWM_SERVO_3_AF AF_SRVA3
#define PWM_SERVO_3_DRIVER PWMD1
#define PWM_SERVO_3_CHANNEL 2
#define PWM_SERVO_3_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVA3_TIM)
#define PWM_SERVO_3_CHANNEL SRVA3_TIM_CH
#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_DISABLED
@@ -208,8 +213,8 @@
#define PWM_SERVO_4_GPIO PAL_PORT(LINE_SRVA4)
#define PWM_SERVO_4_PIN PAL_PAD(LINE_SRVA4)
#define PWM_SERVO_4_AF AF_SRVA4
#define PWM_SERVO_4_DRIVER PWMD1
#define PWM_SERVO_4_CHANNEL 3
#define PWM_SERVO_4_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVA4_TIM)
#define PWM_SERVO_4_CHANNEL SRVA4_TIM_CH
#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_DISABLED
@@ -225,8 +230,8 @@
#define PWM_SERVO_5_GPIO PAL_PORT(LINE_SRVB1)
#define PWM_SERVO_5_PIN PAL_PAD(LINE_SRVB1)
#define PWM_SERVO_5_AF AF_SRVB1
#define PWM_SERVO_5_DRIVER PWMD4
#define PWM_SERVO_5_CHANNEL 0
#define PWM_SERVO_5_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVB1_TIM)
#define PWM_SERVO_5_CHANNEL SRVB1_TIM_CH
#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_DISABLED
@@ -240,8 +245,8 @@
#define PWM_SERVO_6_GPIO PAL_PORT(LINE_SRVB2)
#define PWM_SERVO_6_PIN PAL_PAD(LINE_SRVB2)
#define PWM_SERVO_6_AF AF_SRVB2
#define PWM_SERVO_6_DRIVER PWMD4
#define PWM_SERVO_6_CHANNEL 1
#define PWM_SERVO_6_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVB2_TIM)
#define PWM_SERVO_6_CHANNEL SRVB2_TIM_CH
#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_DISABLED
@@ -255,8 +260,8 @@
#define PWM_SERVO_7_GPIO PAL_PORT(LINE_SRVB3)
#define PWM_SERVO_7_PIN PAL_PAD(LINE_SRVB3)
#define PWM_SERVO_7_AF AF_SRVB3
#define PWM_SERVO_7_DRIVER PWMD4
#define PWM_SERVO_7_CHANNEL 2
#define PWM_SERVO_7_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVB3_TIM)
#define PWM_SERVO_7_CHANNEL SRVB3_TIM_CH
#define PWM_SERVO_7_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_7_ACTIVE PWM_OUTPUT_DISABLED
@@ -270,8 +275,8 @@
#define PWM_SERVO_8_GPIO PAL_PORT(LINE_SRVB4)
#define PWM_SERVO_8_PIN PAL_PAD(LINE_SRVB4)
#define PWM_SERVO_8_AF AF_SRVB4
#define PWM_SERVO_8_DRIVER PWMD4
#define PWM_SERVO_8_CHANNEL 3
#define PWM_SERVO_8_DRIVER CONCAT_BOARD_PARAM(PWMD, SRVB4_TIM)
#define PWM_SERVO_8_CHANNEL SRVB4_TIM_CH
#define PWM_SERVO_8_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_8_ACTIVE PWM_OUTPUT_DISABLED
@@ -285,8 +290,8 @@
#define PWM_SERVO_9_GPIO PAL_PORT(LINE_AUX_A1)
#define PWM_SERVO_9_PIN PAL_PAD(LINE_AUX_A1)
#define PWM_SERVO_9_AF GPIO_AF2
#define PWM_SERVO_9_DRIVER PWMD5
#define PWM_SERVO_9_CHANNEL 0
#define PWM_SERVO_9_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_A1_TIM)
#define PWM_SERVO_9_CHANNEL AUX_A1_TIM_CH
#define PWM_SERVO_9_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_9_ACTIVE PWM_OUTPUT_DISABLED
@@ -300,8 +305,8 @@
#define PWM_SERVO_10_GPIO PAL_PORT(LINE_AUX_A2)
#define PWM_SERVO_10_PIN PAL_PAD(LINE_AUX_A2)
#define PWM_SERVO_10_AF GPIO_AF2
#define PWM_SERVO_10_DRIVER PWMD5
#define PWM_SERVO_10_CHANNEL 1
#define PWM_SERVO_10_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_A2_TIM)
#define PWM_SERVO_10_CHANNEL AUX_A2_TIM_CH
#define PWM_SERVO_10_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_10_ACTIVE PWM_OUTPUT_DISABLED
@@ -315,8 +320,8 @@
#define PWM_SERVO_11_GPIO PAL_PORT(LINE_AUX_A3)
#define PWM_SERVO_11_PIN PAL_PAD(LINE_AUX_A3)
#define PWM_SERVO_11_AF GPIO_AF2
#define PWM_SERVO_11_DRIVER PWMD5
#define PWM_SERVO_11_CHANNEL 2
#define PWM_SERVO_11_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_A3_TIM)
#define PWM_SERVO_11_CHANNEL AUX_A3_TIM_CH
#define PWM_SERVO_11_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_11_ACTIVE PWM_OUTPUT_DISABLED
@@ -330,8 +335,8 @@
#define PWM_SERVO_12_GPIO PAL_PORT(LINE_AUX_A4)
#define PWM_SERVO_12_PIN PAL_PAD(LINE_AUX_A4)
#define PWM_SERVO_12_AF GPIO_AF2
#define PWM_SERVO_12_DRIVER PWMD5
#define PWM_SERVO_12_CHANNEL 3
#define PWM_SERVO_12_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_A4_TIM)
#define PWM_SERVO_12_CHANNEL AUX_A4_TIM_CH
#define PWM_SERVO_12_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_12_ACTIVE PWM_OUTPUT_DISABLED
@@ -345,8 +350,8 @@
#define PWM_SERVO_13_GPIO PAL_PORT(LINE_AUX_B1)
#define PWM_SERVO_13_PIN PAL_PAD(LINE_AUX_B1)
#define PWM_SERVO_13_AF GPIO_AF2
#define PWM_SERVO_13_DRIVER PWMD3
#define PWM_SERVO_13_CHANNEL 0
#define PWM_SERVO_13_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_B1_TIM)
#define PWM_SERVO_13_CHANNEL AUX_B1_TIM_CH
#define PWM_SERVO_13_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_13_ACTIVE PWM_OUTPUT_DISABLED
@@ -360,8 +365,8 @@
#define PWM_SERVO_14_GPIO PAL_PORT(LINE_AUX_B2)
#define PWM_SERVO_14_PIN PAL_PAD(LINE_AUX_B2)
#define PWM_SERVO_14_AF GPIO_AF2
#define PWM_SERVO_14_DRIVER PWMD3
#define PWM_SERVO_14_CHANNEL 1
#define PWM_SERVO_14_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_B2_TIM)
#define PWM_SERVO_14_CHANNEL AUX_B2_TIM_CH
#define PWM_SERVO_14_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_14_ACTIVE PWM_OUTPUT_DISABLED
@@ -375,8 +380,8 @@
#define PWM_SERVO_15_GPIO PAL_PORT(LINE_AUX_B3)
#define PWM_SERVO_15_PIN PAL_PAD(LINE_AUX_B3)
#define PWM_SERVO_15_AF GPIO_AF2
#define PWM_SERVO_15_DRIVER PWMD3
#define PWM_SERVO_15_CHANNEL 2
#define PWM_SERVO_15_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_B3_TIM)
#define PWM_SERVO_15_CHANNEL AUX_B3_TIM_CH
#define PWM_SERVO_15_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_15_ACTIVE PWM_OUTPUT_DISABLED
@@ -390,8 +395,8 @@
#define PWM_SERVO_16_GPIO PAL_PORT(LINE_AUX_B4)
#define PWM_SERVO_16_PIN PAL_PAD(LINE_AUX_B4)
#define PWM_SERVO_16_AF GPIO_AF2
#define PWM_SERVO_16_DRIVER PWMD3
#define PWM_SERVO_16_CHANNEL 3
#define PWM_SERVO_16_DRIVER CONCAT_BOARD_PARAM(PWMD, AUX_B4_TIM)
#define PWM_SERVO_16_CHANNEL AUX_B4_TIM_CH
#define PWM_SERVO_16_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
#else
#define PWM_SERVO_16_ACTIVE PWM_OUTPUT_DISABLED
@@ -496,29 +501,29 @@
#define DSHOT_SERVO_1_GPIO PAL_PORT(LINE_SRVB1)
#define DSHOT_SERVO_1_PIN PAL_PAD(LINE_SRVB1)
#define DSHOT_SERVO_1_AF AF_SRVB1
#define DSHOT_SERVO_1_DRIVER DSHOTD4
#define DSHOT_SERVO_1_CHANNEL 0
#define DSHOT_SERVO_1_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVB1_TIM)
#define DSHOT_SERVO_1_CHANNEL SRVB1_TIM_CH
#define DSHOT_SERVO_2 2
#define DSHOT_SERVO_2_GPIO PAL_PORT(LINE_SRVB2)
#define DSHOT_SERVO_2_PIN PAL_PAD(LINE_SRVB2)
#define DSHOT_SERVO_2_AF AF_SRVB2
#define DSHOT_SERVO_2_DRIVER DSHOTD4
#define DSHOT_SERVO_2_CHANNEL 1
#define DSHOT_SERVO_2_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVB2_TIM)
#define DSHOT_SERVO_2_CHANNEL SRVB2_TIM_CH
#define DSHOT_SERVO_3 3
#define DSHOT_SERVO_3_GPIO PAL_PORT(LINE_SRVB3)
#define DSHOT_SERVO_3_PIN PAL_PAD(LINE_SRVB3)
#define DSHOT_SERVO_3_AF AF_SRVB3
#define DSHOT_SERVO_3_DRIVER DSHOTD4
#define DSHOT_SERVO_3_CHANNEL 2
#define DSHOT_SERVO_3_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVB3_TIM)
#define DSHOT_SERVO_3_CHANNEL SRVB3_TIM_CH
#define DSHOT_SERVO_4 4
#define DSHOT_SERVO_4_GPIO PAL_PORT(LINE_SRVB4)
#define DSHOT_SERVO_4_PIN PAL_PAD(LINE_SRVB4)
#define DSHOT_SERVO_4_AF AF_SRVB4
#define DSHOT_SERVO_4_DRIVER DSHOTD4
#define DSHOT_SERVO_4_CHANNEL 3
#define DSHOT_SERVO_4_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVB4_TIM)
#define DSHOT_SERVO_4_CHANNEL SRVB4_TIM_CH
#define DSHOT_CONF_TIM4 1
#define DSHOT_CONF4_DEF { \
@@ -536,29 +541,29 @@
#define DSHOT_SERVO_5_GPIO PAL_PORT(LINE_SRVA1)
#define DSHOT_SERVO_5_PIN PAL_PAD(LINE_SRVA1)
#define DSHOT_SERVO_5_AF AF_SRVA1
#define DSHOT_SERVO_5_DRIVER DSHOTD1
#define DSHOT_SERVO_5_CHANNEL 0
#define DSHOT_SERVO_5_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVA1_TIM)
#define DSHOT_SERVO_5_CHANNEL SRVA1_TIM_CH
#define DSHOT_SERVO_6 6
#define DSHOT_SERVO_6_GPIO PAL_PORT(LINE_SRVA2)
#define DSHOT_SERVO_6_PIN PAL_PAD(LINE_SRVA2)
#define DSHOT_SERVO_6_AF AF_SRVA2
#define DSHOT_SERVO_6_DRIVER DSHOTD1
#define DSHOT_SERVO_6_CHANNEL 1
#define DSHOT_SERVO_6_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVA2_TIM)
#define DSHOT_SERVO_6_CHANNEL SRVA2_TIM_CH
#define DSHOT_SERVO_7 7
#define DSHOT_SERVO_7_GPIO PAL_PORT(LINE_SRVA3)
#define DSHOT_SERVO_7_PIN PAL_PAD(LINE_SRVA3)
#define DSHOT_SERVO_7_AF AF_SRVA3
#define DSHOT_SERVO_7_DRIVER DSHOTD1
#define DSHOT_SERVO_7_CHANNEL 2
#define DSHOT_SERVO_7_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVA3_TIM)
#define DSHOT_SERVO_7_CHANNEL SRVA3_TIM_CH
#define DSHOT_SERVO_8 8
#define DSHOT_SERVO_8_GPIO PAL_PORT(LINE_SRVA4)
#define DSHOT_SERVO_8_PIN PAL_PAD(LINE_SRVA4)
#define DSHOT_SERVO_8_AF AF_SRVA4
#define DSHOT_SERVO_8_DRIVER DSHOTD1
#define DSHOT_SERVO_8_CHANNEL 3
#define DSHOT_SERVO_8_DRIVER CONCAT_BOARD_PARAM(DSHOTD, SRVA4_TIM)
#define DSHOT_SERVO_8_CHANNEL SRVA4_TIM_CH
#define DSHOT_CONF_TIM1 1
#define DSHOT_CONF1_DEF { \
@@ -577,7 +582,7 @@
#define UART2_GPIO_TX PAL_PAD(LINE_UART2_TX)
#define UART2_GPIO_PORT_RX PAL_PORT(LINE_UART2_RX)
#define UART2_GPIO_RX PAL_PAD(LINE_UART2_RX)
#define UART2_GPIO_AF 7
#define UART2_GPIO_AF AF_UART2_TX
#ifndef UART2_HW_FLOW_CONTROL
#define UART2_HW_FLOW_CONTROL FALSE
#endif
@@ -591,13 +596,13 @@
#define UART3_GPIO_TX PAL_PAD(LINE_UART3_TX)
#define UART3_GPIO_PORT_RX PAL_PORT(LINE_UART3_RX)
#define UART3_GPIO_RX PAL_PAD(LINE_UART3_RX)
#define UART3_GPIO_AF 7
#define UART3_GPIO_AF AF_UART3_TX
#define UART7_GPIO_PORT_TX PAL_PORT(LINE_UART7_TX)
#define UART7_GPIO_TX PAL_PAD(LINE_UART7_TX)
#define UART7_GPIO_PORT_RX PAL_PORT(LINE_UART7_RX)
#define UART7_GPIO_RX PAL_PAD(LINE_UART7_RX)
#define UART7_GPIO_AF 12
#define UART7_GPIO_AF AF_UART7_TX
/**
* UART4 on AUXa (not configured by default)
@@ -607,7 +612,7 @@
#define UART4_GPIO_TX PAL_PAD(LINE_AUX_A1)
#define UART4_GPIO_PORT_RX PAL_PORT(LINE_AUX_A2)
#define UART4_GPIO_RX PAL_PAD(LINE_AUX_A2)
#define UART4_GPIO_AF 8
#define UART4_GPIO_AF AUX_A1_UART_AF
/**
* SBUS / Spektrum port
@@ -628,14 +633,14 @@
#endif
#define UART8_GPIO_PORT_RX PAL_PORT(LINE_RC1)
#define UART8_GPIO_RX PAL_PAD(LINE_RC1)
#define UART8_GPIO_AF 8
#define UART8_GPIO_AF RC1_UART_AF
// FIXME when RC2 is used for FrSky telemetry
#define USE_UART6_RX TRUE
#define USE_UART6_TX FALSE
#define UART6_GPIO_PORT_RX PAL_PORT(LINE_RC2)
#define UART6_GPIO_RX PAL_PAD(LINE_RC2)
#define UART6_GPIO_AF 8
#define UART6_GPIO_AF RC2_USART_AF
/* The line that is pulled low at power up to initiate the bind process
* PB1: AUXb4
@@ -653,8 +658,8 @@
*/
#define RC_PPM_TICKS_PER_USEC 6
#define PPM_TIMER_FREQUENCY 6000000
#define PPM_CHANNEL ICU_CHANNEL_1
#define PPM_TIMER ICUD8
#define PPM_CHANNEL CONCAT_BOARD_PARAM(ICU_CHANNEL_, RC2_TIM_CH)
#define PPM_TIMER CONCAT_BOARD_PARAM(ICUD, RC2_TIM)
/*
* PWM input
@@ -736,7 +741,7 @@
*/
// Internal SPI (IMU)
#define SPI4_GPIO_AF GPIO_AF5
#define SPI4_GPIO_AF AF_SPI4_INTERNAL_CLK
#define SPI4_GPIO_PORT_MISO PAL_PORT(LINE_SPI4_INTERNAL_MISO)
#define SPI4_GPIO_MISO PAL_PAD(LINE_SPI4_INTERNAL_MISO)
#define SPI4_GPIO_PORT_MOSI PAL_PORT(LINE_SPI4_INTERNAL_MOSI)
@@ -745,7 +750,7 @@
#define SPI4_GPIO_SCK PAL_PAD(LINE_SPI4_INTERNAL_CLK)
// External SPI
#define SPI2_GPIO_AF GPIO_AF5
#define SPI2_GPIO_AF AF_SPI2_EXTERNAL_CLK
#define SPI2_GPIO_PORT_MISO PAL_PORT(LINE_SPI2_EXTERNAL_MISO)
#define SPI2_GPIO_MISO PAL_PAD(LINE_SPI2_EXTERNAL_MISO)
#define SPI2_GPIO_PORT_MOSI PAL_PORT(LINE_SPI2_EXTERNAL_MOSI)
@@ -797,10 +802,10 @@
#define SDIO_CK_PIN PAL_PAD(LINE_SDMMC1_CK)
#define SDIO_CMD_PORT PAL_PORT(LINE_SDMMC1_CMD)
#define SDIO_CMD_PIN PAL_PAD(LINE_SDMMC1_CMD)
#define SDIO_AF 12
#define SDIO_AF AF_SDMMC1_CK
// bat monitoring for file closing
#define SDLOG_BAT_ADC ADCD1
#define SDLOG_BAT_CHAN ADC_CHANNEL_IN10
#define SDLOG_BAT_ADC CONCAT_BOARD_PARAM(ADCD, VBAT_MEAS_ADC)
#define SDLOG_BAT_CHAN CONCAT_BOARD_PARAM(ADC_CHANNEL_IN, VBAT_MEAS_ADC_IN)
// usb led status
#define SDLOG_USB_LED 4
#define SDLOG_USB_VBUS_PORT PAL_PORT(LINE_USB_VBUS)
@@ -1547,6 +1547,120 @@
#define AF_LINE_OSC_OUT 0U
#define AUX_A1_ADC 1
#define AUX_A1_ADC_FN IN
#define AUX_A1_ADC_IN 0
#define AUX_A1_TIM 5
#define AUX_A1_TIM_FN CH
#define AUX_A1_TIM_CH 1
#define AUX_A1_TIM_AF 2
#define AUX_A1_UART 4
#define AUX_A1_UART_FN TX
#define AUX_A1_UART_AF 8
#define AUX_A1_USART 2
#define AUX_A1_USART_FN CTS
#define AUX_A1_USART_AF 7
#define AUX_A2_ADC 1
#define AUX_A2_ADC_FN IN
#define AUX_A2_ADC_IN 1
#define AUX_A2_TIM 5
#define AUX_A2_TIM_FN CH
#define AUX_A2_TIM_CH 2
#define AUX_A2_TIM_AF 2
#define AUX_A2_UART 4
#define AUX_A2_UART_FN RX
#define AUX_A2_UART_AF 8
#define AUX_A2_USART 2
#define AUX_A2_USART_FN RTS
#define AUX_A2_USART_AF 7
#define AUX_A3_ADC 1
#define AUX_A3_ADC_FN IN
#define AUX_A3_ADC_IN 2
#define AUX_A3_TIM 5
#define AUX_A3_TIM_FN CH
#define AUX_A3_TIM_CH 3
#define AUX_A3_TIM_AF 2
#define AUX_B1_ADC 1
#define AUX_B1_ADC_FN IN
#define AUX_B1_ADC_IN 3
#define AUX_B1_TIM 5
#define AUX_B1_TIM_FN CH
#define AUX_B1_TIM_CH 4
#define AUX_B1_TIM_AF 2
#define AUX_A4_ADC 1
#define AUX_A4_ADC_FN IN
#define AUX_A4_ADC_IN 6
#define AUX_A4_TIM 3
#define AUX_A4_TIM_FN CH
#define AUX_A4_TIM_CH 1
#define AUX_A4_TIM_AF 2
#define AUX_B2_ADC 1
#define AUX_B2_ADC_FN IN
#define AUX_B2_ADC_IN 7
#define AUX_B2_TIM 3
#define AUX_B2_TIM_FN CH
#define AUX_B2_TIM_CH 2
#define AUX_B2_TIM_AF 2
#define AUX_B3_ADC 1
#define AUX_B3_ADC_FN IN
#define AUX_B3_ADC_IN 8
#define AUX_B3_TIM 3
#define AUX_B3_TIM_FN CH
#define AUX_B3_TIM_CH 3
#define AUX_B3_TIM_AF 2
#define AUX_B4_ADC 1
#define AUX_B4_ADC_FN IN
#define AUX_B4_ADC_IN 9
#define AUX_B4_TIM 3
#define AUX_B4_TIM_FN CH
#define AUX_B4_TIM_CH 4
#define AUX_B4_TIM_AF 2
#define SRVB1_TIM 4
#define SRVB1_TIM_FN CH
#define SRVB1_TIM_CH 1
#define SRVB1_TIM_AF 2
#define SRVB2_TIM 4
#define SRVB2_TIM_FN CH
#define SRVB2_TIM_CH 2
#define SRVB2_TIM_AF 2
#define SRVB3_TIM 4
#define SRVB3_TIM_FN CH
#define SRVB3_TIM_CH 3
#define SRVB3_TIM_AF 2
#define SRVB4_TIM 4
#define SRVB4_TIM_FN CH
#define SRVB4_TIM_CH 4
#define SRVB4_TIM_AF 2
#define VBAT_MEAS_ADC 1
#define VBAT_MEAS_ADC_FN IN
#define VBAT_MEAS_ADC_IN 1
#define RC2_TIM 8
#define RC2_TIM_FN CH
#define RC2_TIM_CH 1
#define RC2_TIM_AF 3
#define RC2_USART 6
#define RC2_USART_FN TX
#define RC2_USART_AF 8
#define RC1_UART 8
#define RC1_UART_FN RX
#define RC1_UART_AF 8
#define SRVA1_TIM 1
#define SRVA1_TIM_FN CH
#define SRVA1_TIM_CH 1
#define SRVA1_TIM_AF 1
#define SRVA2_TIM 1
#define SRVA2_TIM_FN CH
#define SRVA2_TIM_CH 2
#define SRVA2_TIM_AF 1
#define SRVA3_TIM 1
#define SRVA3_TIM_FN CH
#define SRVA3_TIM_CH 3
#define SRVA3_TIM_AF 1
#define SRVA4_TIM 1
#define SRVA4_TIM_FN CH
#define SRVA4_TIM_CH 4
#define SRVA4_TIM_AF 1
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
@@ -75,34 +75,34 @@ DEFAULT INPUT PUSHPULL SPEED_VERYLOW PULLDOWN LEVEL_LOW AF0
PA00 AUX_A1 PASSIVE #AF:USART2_CTS
PA01 AUX_A2 PASSIVE #AF:USART2_RTS
PA02 AUX_A3 PASSIVE #AF:TIM9_CH1
PA03 AUX_B1 PASSIVE #AF:TIM9_CH2
PA06 AUX_A4 PASSIVE #AF:TIM13_CH1
PA07 AUX_B2 PASSIVE #AF:TIM14_CH1
PA00 AUX_A1 PASSIVE (ADC1_IN0, AF:TIM5_CH1, AF:UART4_TX, AF:USART2_CTS)
PA01 AUX_A2 PASSIVE (ADC1_IN1, AF:TIM5_CH2, AF:UART4_RX, AF:USART2_RTS)
PA02 AUX_A3 PASSIVE (ADC1_IN2, AF:TIM5_CH3) #AF:TIM9_CH1
PA03 AUX_B1 PASSIVE (ADC1_IN3, AF:TIM5_CH4) #AF:TIM9_CH2
PA06 AUX_A4 PASSIVE (ADC1_IN6, AF:TIM3_CH1) #AF:TIM13_CH1
PA07 AUX_B2 PASSIVE (ADC1_IN7, AF:TIM3_CH2) #AF:TIM14_CH1
PA09 USB_VBUS INPUT PULLDOWN
PA10 LED2 LED
PA11 OTG_FS_DM OTG AF:USB_OTG_FS_DM
PA12 OTG_FS_DP OTG AF:USB_OTG_FS_DP
PA15 UART7_TX UART AF:UART7_TX
PB00 AUX_B3 PASSIVE
PB01 AUX_B4 PASSIVE
PB00 AUX_B3 PASSIVE (ADC1_IN8, AF:TIM3_CH3)
PB01 AUX_B4 PASSIVE (ADC1_IN9, AF:TIM3_CH4)
PB03 UART7_RX UART AF:UART7_RX
PB05 DSHOT_RX UART AF:UART5_RX
PB06 SRVB1 PWM AF:TIM4_CH1
PB07 SRVB2 PWM AF:TIM4_CH2
PB08 SRVB3 PWM AF:TIM4_CH3
PB09 SRVB4 PWM AF:TIM4_CH4
PB06 SRVB1 PWM AF:TIM4_CH1 ()
PB07 SRVB2 PWM AF:TIM4_CH2 ()
PB08 SRVB3 PWM AF:TIM4_CH3 ()
PB09 SRVB4 PWM AF:TIM4_CH4 ()
PB10 I2C2_SCL_EXTERNAL I2C AF:I2C2_SCL
PB11 I2C2_SDA_EXTERNAL I2C AF:I2C2_SDA
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
PC00 VBAT_MEAS ADC ADC1_IN10
PC06 RC2 PASSIVE #TLMF_TX6 UART AF:USART6_TX
PC00 VBAT_MEAS ADC ADC1_IN10 ()
PC06 RC2 PASSIVE (AF:TIM8_CH1, AF:USART6_TX) #TLMF_TX6 UART AF:USART6_TX
PC07 LED3 LED
PC08 SDMMC1_D0 SDIO AF:SDMMC1_D0
PC09 SDMMC1_D1 SDIO AF:SDMMC1_D1
@@ -125,15 +125,15 @@ PD12 I2C4_SCL_EXTERNAL I2C AF:I2C4_SCL
PD13 I2C4_SDA_EXTERNAL I2C AF:I2C4_SDA
PD15 LED1 LED
PE00 RC1 UART AF:UART8_RX
PE00 RC1 UART AF:UART8_RX ()
PE02 SPI4_INTERNAL_CLK SPI AF:SPI4_SCK
PE04 SPI4_INTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
PE05 SPI4_INTERNAL_MISO SPI AF:SPI4_MISO
PE06 SPI4_INTERNAL_MOSI SPI AF:SPI4_MOSI
PE09 SRVA1 PWM AF:TIM1_CH1
PE11 SRVA2 PWM AF:TIM1_CH2
PE13 SRVA3 PWM AF:TIM1_CH3
PE14 SRVA4 PWM AF:TIM1_CH4
PE09 SRVA1 PWM AF:TIM1_CH1 ()
PE11 SRVA2 PWM AF:TIM1_CH2 ()
PE13 SRVA3 PWM AF:TIM1_CH3 ()
PE14 SRVA4 PWM AF:TIM1_CH4 ()
@@ -1547,6 +1547,120 @@
#define AF_LINE_OSC_OUT 0U
#define AUX_A1_ADC 1
#define AUX_A1_ADC_FN IN
#define AUX_A1_ADC_IN 0
#define AUX_A1_TIM 5
#define AUX_A1_TIM_FN CH
#define AUX_A1_TIM_CH 1
#define AUX_A1_TIM_AF 2
#define AUX_A1_UART 4
#define AUX_A1_UART_FN TX
#define AUX_A1_UART_AF 8
#define AUX_A1_USART 2
#define AUX_A1_USART_FN CTS
#define AUX_A1_USART_AF 7
#define AUX_A2_ADC 1
#define AUX_A2_ADC_FN IN
#define AUX_A2_ADC_IN 1
#define AUX_A2_TIM 5
#define AUX_A2_TIM_FN CH
#define AUX_A2_TIM_CH 2
#define AUX_A2_TIM_AF 2
#define AUX_A2_UART 4
#define AUX_A2_UART_FN RX
#define AUX_A2_UART_AF 8
#define AUX_A2_USART 2
#define AUX_A2_USART_FN RTS
#define AUX_A2_USART_AF 7
#define AUX_A3_ADC 1
#define AUX_A3_ADC_FN IN
#define AUX_A3_ADC_IN 2
#define AUX_A3_TIM 5
#define AUX_A3_TIM_FN CH
#define AUX_A3_TIM_CH 3
#define AUX_A3_TIM_AF 2
#define AUX_A4_ADC 1
#define AUX_A4_ADC_FN IN
#define AUX_A4_ADC_IN 3
#define AUX_A4_TIM 5
#define AUX_A4_TIM_FN CH
#define AUX_A4_TIM_CH 4
#define AUX_A4_TIM_AF 2
#define AUX_B1_ADC 1
#define AUX_B1_ADC_FN IN
#define AUX_B1_ADC_IN 6
#define AUX_B1_TIM 3
#define AUX_B1_TIM_FN CH
#define AUX_B1_TIM_CH 1
#define AUX_B1_TIM_AF 2
#define AUX_B2_ADC 1
#define AUX_B2_ADC_FN IN
#define AUX_B2_ADC_IN 7
#define AUX_B2_TIM 3
#define AUX_B2_TIM_FN CH
#define AUX_B2_TIM_CH 2
#define AUX_B2_TIM_AF 2
#define AUX_B3_ADC 1
#define AUX_B3_ADC_FN IN
#define AUX_B3_ADC_IN 8
#define AUX_B3_TIM 3
#define AUX_B3_TIM_FN CH
#define AUX_B3_TIM_CH 3
#define AUX_B3_TIM_AF 2
#define AUX_B4_ADC 1
#define AUX_B4_ADC_FN IN
#define AUX_B4_ADC_IN 9
#define AUX_B4_TIM 3
#define AUX_B4_TIM_FN CH
#define AUX_B4_TIM_CH 4
#define AUX_B4_TIM_AF 2
#define SRVB1_TIM 4
#define SRVB1_TIM_FN CH
#define SRVB1_TIM_CH 1
#define SRVB1_TIM_AF 2
#define SRVB2_TIM 4
#define SRVB2_TIM_FN CH
#define SRVB2_TIM_CH 2
#define SRVB2_TIM_AF 2
#define SRVB3_TIM 4
#define SRVB3_TIM_FN CH
#define SRVB3_TIM_CH 3
#define SRVB3_TIM_AF 2
#define SRVB4_TIM 4
#define SRVB4_TIM_FN CH
#define SRVB4_TIM_CH 4
#define SRVB4_TIM_AF 2
#define VBAT_MEAS_ADC 1
#define VBAT_MEAS_ADC_FN IN
#define VBAT_MEAS_ADC_IN 1
#define RC2_TIM 8
#define RC2_TIM_FN CH
#define RC2_TIM_CH 1
#define RC2_TIM_AF 3
#define RC2_USART 6
#define RC2_USART_FN TX
#define RC2_USART_AF 8
#define RC1_UART 8
#define RC1_UART_FN RX
#define RC1_UART_AF 8
#define SRVA1_TIM 1
#define SRVA1_TIM_FN CH
#define SRVA1_TIM_CH 1
#define SRVA1_TIM_AF 1
#define SRVA2_TIM 1
#define SRVA2_TIM_FN CH
#define SRVA2_TIM_CH 2
#define SRVA2_TIM_AF 1
#define SRVA3_TIM 1
#define SRVA3_TIM_FN CH
#define SRVA3_TIM_CH 3
#define SRVA3_TIM_AF 1
#define SRVA4_TIM 1
#define SRVA4_TIM_FN CH
#define SRVA4_TIM_CH 4
#define SRVA4_TIM_AF 1
#if !defined(_FROM_ASM_)
#ifdef __cplusplus
extern "C" {
@@ -75,34 +75,34 @@ DEFAULT INPUT PUSHPULL SPEED_VERYLOW PULLDOWN LEVEL_LOW AF0
PA00 AUX_A1 PASSIVE #AF:USART2_CTS
PA01 AUX_A2 PASSIVE #AF:USART2_RTS
PA02 AUX_A3 PASSIVE #AF:TIM9_CH1
PA03 AUX_A4 PASSIVE #AF:TIM9_CH2
PA06 AUX_B1 PASSIVE #AF:TIM13_CH1
PA07 AUX_B2 PASSIVE #AF:TIM14_CH1
PA00 AUX_A1 PASSIVE (ADC1_IN0, AF:TIM5_CH1, AF:UART4_TX, AF:USART2_CTS)
PA01 AUX_A2 PASSIVE (ADC1_IN1, AF:TIM5_CH2, AF:UART4_RX, AF:USART2_RTS)
PA02 AUX_A3 PASSIVE (ADC1_IN2, AF:TIM5_CH3) #AF:TIM9_CH1
PA03 AUX_A4 PASSIVE (ADC1_IN3, AF:TIM5_CH4) #AF:TIM9_CH2
PA06 AUX_B1 PASSIVE (ADC1_IN6, AF:TIM3_CH1) #AF:TIM13_CH1
PA07 AUX_B2 PASSIVE (ADC1_IN7, AF:TIM3_CH2) #AF:TIM14_CH1
PA09 USB_VBUS INPUT PULLDOWN
PA10 LED2 LED
PA10 LED2 LED
PA11 OTG_FS_DM OTG AF:USB_OTG_FS_DM
PA12 OTG_FS_DP OTG AF:USB_OTG_FS_DP
PA15 UART7_TX UART AF:UART7_TX
PB00 AUX_B3 PASSIVE
PB01 AUX_B4 PASSIVE
PB00 AUX_B3 PASSIVE (ADC1_IN8, AF:TIM3_CH3)
PB01 AUX_B4 PASSIVE (ADC1_IN9, AF:TIM3_CH4)
PB03 UART7_RX UART AF:UART7_RX
PB05 DSHOT_RX UART AF:UART5_RX
PB06 SRVB1 PWM AF:TIM4_CH1
PB07 SRVB2 PWM AF:TIM4_CH2
PB08 SRVB3 PWM AF:TIM4_CH3
PB09 SRVB4 PWM AF:TIM4_CH4
PB06 SRVB1 PWM AF:TIM4_CH1 ()
PB07 SRVB2 PWM AF:TIM4_CH2 ()
PB08 SRVB3 PWM AF:TIM4_CH3 ()
PB09 SRVB4 PWM AF:TIM4_CH4 ()
PB10 I2C2_SCL_EXTERNAL I2C AF:I2C2_SCL
PB11 I2C2_SDA_EXTERNAL I2C AF:I2C2_SDA
PB12 SPI2_EXTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
PB14 SPI2_EXTERNAL_MISO SPI AF:SPI2_MISO
PB15 SPI2_EXTERNAL_MOSI SPI AF:SPI2_MOSI
PC00 VBAT_MEAS ADC ADC1_IN10
PC06 RC2 PASSIVE #TLMF_TX6 UART AF:USART6_TX
PC00 VBAT_MEAS ADC ADC1_IN10 ()
PC06 RC2 PASSIVE (AF:TIM8_CH1, AF:USART6_TX) #TLMF_TX6 UART AF:USART6_TX
PC07 LED3 LED
PC08 SDMMC1_D0 SDIO AF:SDMMC1_D0
PC09 SDMMC1_D1 SDIO AF:SDMMC1_D1
@@ -125,15 +125,15 @@ PD12 I2C4_SCL_EXTERNAL I2C AF:I2C4_SCL
PD13 I2C4_SDA_EXTERNAL I2C AF:I2C4_SDA
PD15 LED1 LED
PE00 RC1 UART AF:UART8_RX
PE00 RC1 UART AF:UART8_RX ()
PE02 SPI4_INTERNAL_CLK SPI AF:SPI4_SCK
PE04 SPI4_INTERNAL_CS OUTPUT PUSHPULL SPEED_HIGH FLOATING LEVEL_HIGH
PE05 SPI4_INTERNAL_MISO SPI AF:SPI4_MISO
PE06 SPI4_INTERNAL_MOSI SPI AF:SPI4_MOSI
PE09 SRVA1 PWM AF:TIM1_CH1
PE11 SRVA2 PWM AF:TIM1_CH2
PE13 SRVA3 PWM AF:TIM1_CH3
PE14 SRVA4 PWM AF:TIM1_CH4
PE09 SRVA1 PWM AF:TIM1_CH1 ()
PE11 SRVA2 PWM AF:TIM1_CH2 ()
PE13 SRVA3 PWM AF:TIM1_CH3 ()
PE14 SRVA4 PWM AF:TIM1_CH4 ()