Skip to content

Commit 44165a6

Browse files
bnn1044DieHertz
authored andcommitted
add CLRACINGAIRF4V3
1 parent d3ff9d6 commit 44165a6

File tree

4 files changed

+59
-57
lines changed

4 files changed

+59
-57
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#CLRACINGF4AIRV3

src/main/target/CLRACINGF4AIR/target.c

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,21 @@
2323
const timerHardware_t timerHardware[] = {
2424
{ TIM11, IO_TAG(PB9), TIM_Channel_1, 0, IOCFG_AF_PP, GPIO_AF_TIM11, TIM_USE_PPM | TIM_USE_PWM }, // PPM
2525
{ TIM4, IO_TAG(PB8), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM4, TIM_USE_LED }, // LED_STRIP
26-
#if defined(CLRACINGF4AIRV2)
27-
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO 3 ELE
28-
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO 4 ROLL 1
29-
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO 5 ROLL 1
30-
{ TIM8, IO_TAG(PC8), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR 1 ESC
31-
{ TIM8, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR 2 ESC
32-
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO 6 YAW
26+
27+
#if defined(CLRACINGF4AIRV2) || defined(CLRACINGF4AIRV3)
28+
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // MOTOR 3 ELE
29+
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // MOTOR 4 ROLL 1
30+
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // MOTOR 5 ROLL 2
31+
{ TIM8, IO_TAG(PC8), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR 1 ESC
32+
{ TIM8, IO_TAG(PC9), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR 2 ESC
33+
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // MOTOR 6 YAW
3334
#else
34-
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_1
35-
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_2
36-
{ TIM9, IO_TAG(PA3), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_1
37-
{ TIM2, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM2, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_2
38-
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_3
39-
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_4
35+
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_1
36+
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_2
37+
{ TIM9, IO_TAG(PA3), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_1
38+
{ TIM2, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM2, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_2
39+
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_3
40+
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_4
4041
#endif
4142
};
4243

src/main/target/CLRACINGF4AIR/target.h

Lines changed: 44 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,33 @@
1717
#if defined(CLRACINGF4AIRV2)
1818
#define TARGET_BOARD_IDENTIFIER "CLA2"
1919
#define USBD_PRODUCT_STRING "CLRACINGF4AIRV2"
20+
#elif defined(CLRACINGF4AIRV3)
21+
#define TARGET_BOARD_IDENTIFIER "CLA3"
22+
#define USBD_PRODUCT_STRING "CLRACINGF4AIRV3"
2023
#else
2124
#define TARGET_BOARD_IDENTIFIER "CLRA"
2225
#define USBD_PRODUCT_STRING "CLRACINGF4AIR"
2326
#endif
24-
27+
#if defined(CLRACINGF4AIRV3)
28+
#define LED0 PC14
29+
#else
2530
#define LED0 PB5
31+
#endif
2632
#define BEEPER PB4
2733
#define BEEPER_INVERTED
2834

2935
#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
30-
// MPU-6000 GRYO
31-
#define MPU6000_CS_PIN PA4
32-
#define MPU6000_SPI_BUS BUS_SPI1
33-
#define USE_GYRO
34-
#define USE_GYRO_MPU6000
35-
#define GYRO_MPU6000_ALIGN CW0_DEG
36-
#define USE_ACC
37-
#define USE_ACC_MPU6000
38-
#define ACC_MPU6000_ALIGN CW0_DEG
39-
36+
#define USE_SPI
37+
#define USE_SPI_DEVICE_1
38+
#define USE_SPI_DEVICE_3
39+
#define SPI3_NSS_PIN PA15
40+
#define SPI3_SCK_PIN PC10
41+
#define SPI3_MISO_PIN PC11
42+
#if defined(CLRACINGF4AIRV3)
43+
#define SPI3_MOSI_PIN PB5
44+
#else
45+
#define SPI3_MOSI_PIN PC12
46+
#endif
4047
//MPU-9250
4148
#define MPU9250_CS_PIN PA4
4249
#define MPU9250_SPI_BUS BUS_SPI1
@@ -48,7 +55,6 @@
4855
#define ACC_MPU9250_ALIGN CW0_DEG
4956
#define USE_MAG
5057
#define USE_MAG_MPU9250
51-
5258
// MPU6 interrupts
5359
#define USE_EXTI
5460
#define GYRO_INT_EXTI PC4
@@ -68,7 +74,7 @@
6874
#define USE_LED_STRIP
6975
#define WS2811_PIN PB8
7076
#define WS2811_DMA_HANDLER_IDENTIFER DMA1_ST7_HANDLER
71-
#define WS2811_DMA_STREAM DMA1_Stream7
77+
#define WS2811_DMA_STREAM DMA1_Stream7
7278
#define WS2811_DMA_CHANNEL DMA_Channel_2
7379

7480
#define USE_VCP
@@ -77,74 +83,75 @@
7783
#define UART1_TX_PIN PA9
7884
#define UART1_AHB1_PERIPHERALS RCC_AHB1Periph_DMA2
7985

80-
//V2 add another uart 2
81-
#if defined( CLRACINGF4AIRV2 )
86+
#if defined( CLRACINGF4AIRV2) || defined(CLRACINGF4AIRV3)
8287
#define USE_UART2
8388
#define UART2_RX_PIN PA2
8489
#define UART2_TX_PIN PA3
8590
#endif
8691
#define USE_UART3
8792
#define UART3_RX_PIN PB11
8893
#define UART3_TX_PIN PB10
89-
9094
#define USE_UART4
9195
#define UART4_RX_PIN PA1
9296
#define UART4_TX_PIN PA0
93-
9497
#define USE_UART6
9598
#define UART6_RX_PIN PC7
9699
#define UART6_TX_PIN PC6
97100
#if defined( CLRACINGF4AIRV2 )
98101
#define SERIAL_PORT_COUNT 6 //VCP, USART1, UART2, USART3,USART4, USART6,
102+
#elif defined(CLRACINGF4AIRV3)
103+
#define USE_UART5
104+
#define UART5_RX_PIN PD2
105+
#define UART5_TX_PIN PC12
106+
#define SERIAL_PORT_COUNT 7 //VCP, USART1, UART2, USART3,USART4, USART5,USART6,
99107
#else
100108
#define SERIAL_PORT_COUNT 5 //VCP, USART1, USART3,USART4, USART6,
101109
#endif
102-
103110
#define USE_ESCSERIAL
104111
#define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1
105-
106-
#if defined( CLRACINGF4AIRV2 )
112+
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
107113
#define USE_I2C
108114
#define I2C_DEVICE (I2CDEV_2)
109115
#define I2C2_SCL PB10
110116
#define I2C2_SDA PB11
111117
#endif
112118

113-
#define USE_SPI
114-
#define USE_SPI_DEVICE_1
115-
116-
#define USE_SPI_DEVICE_3
117-
#define SPI3_NSS_PIN PA15
118-
#define SPI3_SCK_PIN PC10
119-
#define SPI3_MISO_PIN PC11
120-
#define SPI3_MOSI_PIN PC12
121-
122119
#define USE_ADC
120+
#define ADC_INSTANCE ADC1
123121
#define ADC_CHANNEL_1_PIN PC1
124122
#define ADC_CHANNEL_2_PIN PC2
125123
#define ADC_CHANNEL_3_PIN PC3
126124

125+
#define CURRENT_METER_ADC_CHANNEL ADC_CHN_1
126+
#define VBAT_ADC_CHANNEL ADC_CHN_2
127+
#define RSSI_ADC_CHANNEL ADC_CHN_3
128+
127129
// V2 has airspeed input
128-
#if defined( CLRACINGF4AIRV2 )
130+
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
129131
#define ADC_CHANNEL_4_PIN PC5
130132
#define ADC_AIRSPEED_CHANNEL ADC_CHN_4
131133
#define CURRENT_METER_SCALE 250
132134
#endif
133135

134-
#define CURRENT_METER_ADC_CHANNEL ADC_CHN_1
135-
#define VBAT_ADC_CHANNEL ADC_CHN_2
136-
#define RSSI_ADC_CHANNEL ADC_CHN_3
137136
#define USE_ESC_SENSOR
138137
#define DEFAULT_FEATURES (FEATURE_TX_PROF_SEL | FEATURE_CURRENT_METER | FEATURE_TELEMETRY| FEATURE_VBAT | FEATURE_OSD )
139138

140139
#define SPEKTRUM_BIND_PIN UART1_RX_PIN
141140
#define USE_SERIAL_4WAY_BLHELI_INTERFACE
142-
143141
// Number of available PWM outputs
144142
#define MAX_PWM_OUTPUT_PORTS 8
145143
#define TARGET_MOTOR_COUNT 8
146144

147-
#define TARGET_IO_PORTA (0xffff & ~(BIT(14)|BIT(13)))
148-
#define TARGET_IO_PORTB (0xffff & ~(BIT(2)))
149-
#define TARGET_IO_PORTC (0xffff & ~(BIT(15)|BIT(14)|BIT(13)))
145+
#define TARGET_IO_PORTA (0xffff)
146+
#define TARGET_IO_PORTB (0xffff)
147+
#define TARGET_IO_PORTC (0xffff)
150148
#define TARGET_IO_PORTD BIT(2)
149+
150+
// V2 has airspeed input
151+
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
152+
#define USABLE_TIMER_CHANNEL_COUNT 8
153+
#define USED_TIMERS ( TIM_N(1) | TIM_N(3) | TIM_N(4) | TIM_N(8)| TIM_N(11) | TIM_N(12) )
154+
#else
155+
#define USABLE_TIMER_CHANNEL_COUNT 8
156+
#define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(9) | TIM_N(11) | TIM_N(12) )
157+
#endif

src/main/target/CLRACINGF4AIR/target.mk

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,8 @@ TARGET_SRC = \
77
drivers/accgyro/accgyro_fake.c \
88
drivers/accgyro/accgyro_mpu6500.c \
99
drivers/accgyro/accgyro_mpu9250.c \
10-
drivers/accgyro/accgyro_mpu6000.c \
11-
drivers/barometer/barometer_bmp085.c \
1210
drivers/barometer/barometer_bmp280.c \
13-
drivers/barometer/barometer_ms56xx.c \
1411
drivers/compass/compass_mpu9250.c \
15-
drivers/compass/compass_hmc5883l.c \
16-
drivers/compass/compass_qmc5883l.c \
17-
drivers/compass/compass_ist8310.c \
18-
drivers/compass/compass_mag3110.c \
1912
drivers/light_ws2811strip.c \
2013
drivers/light_ws2811strip_stdperiph.c \
2114
drivers/max7456.c

0 commit comments

Comments
 (0)