Skip to content

Commit

Permalink
Merge pull request #3239 from bnn1044/CLRACINGF4AIRV3
Browse files Browse the repository at this point in the history
Add CLRACINGF4AIRV3 to CLRACINGF4AIR target
  • Loading branch information
fiam authored Jun 26, 2018
2 parents 9247691 + 44165a6 commit 5db1e1a
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 57 deletions.
1 change: 1 addition & 0 deletions src/main/target/CLRACINGF4AIR/CLRACINGF4AIRV3.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#CLRACINGF4AIRV3
27 changes: 14 additions & 13 deletions src/main/target/CLRACINGF4AIR/target.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,21 @@
const timerHardware_t timerHardware[] = {
{ TIM11, IO_TAG(PB9), TIM_Channel_1, 0, IOCFG_AF_PP, GPIO_AF_TIM11, TIM_USE_PPM | TIM_USE_PWM }, // PPM
{ TIM4, IO_TAG(PB8), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM4, TIM_USE_LED }, // LED_STRIP
#if defined(CLRACINGF4AIRV2)
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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

#if defined(CLRACINGF4AIRV2) || defined(CLRACINGF4AIRV3)
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
#else
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_1
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_2
{ TIM9, IO_TAG(PA3), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_1
{ TIM2, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM2, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_2
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_3
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_4
{ TIM3, IO_TAG(PB0), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_1
{ TIM3, IO_TAG(PB1), TIM_Channel_4, 1, IOCFG_AF_PP, GPIO_AF_TIM3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR }, // MOTOR_2
{ TIM9, IO_TAG(PA3), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_1
{ TIM2, IO_TAG(PA2), TIM_Channel_3, 1, IOCFG_AF_PP, GPIO_AF_TIM2, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_2
{ TIM12, IO_TAG(PB15), TIM_Channel_2, 1, IOCFG_AF_PP, GPIO_AF_TIM12, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_3
{ TIM1, IO_TAG(PA8), TIM_Channel_1, 1, IOCFG_AF_PP, GPIO_AF_TIM1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO }, // SERVO_4
#endif
};

Expand Down
81 changes: 44 additions & 37 deletions src/main/target/CLRACINGF4AIR/target.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,33 @@
#if defined(CLRACINGF4AIRV2)
#define TARGET_BOARD_IDENTIFIER "CLA2"
#define USBD_PRODUCT_STRING "CLRACINGF4AIRV2"
#elif defined(CLRACINGF4AIRV3)
#define TARGET_BOARD_IDENTIFIER "CLA3"
#define USBD_PRODUCT_STRING "CLRACINGF4AIRV3"
#else
#define TARGET_BOARD_IDENTIFIER "CLRA"
#define USBD_PRODUCT_STRING "CLRACINGF4AIR"
#endif

#if defined(CLRACINGF4AIRV3)
#define LED0 PC14
#else
#define LED0 PB5
#endif
#define BEEPER PB4
#define BEEPER_INVERTED

#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
// MPU-6000 GRYO
#define MPU6000_CS_PIN PA4
#define MPU6000_SPI_BUS BUS_SPI1
#define USE_GYRO
#define USE_GYRO_MPU6000
#define GYRO_MPU6000_ALIGN CW0_DEG
#define USE_ACC
#define USE_ACC_MPU6000
#define ACC_MPU6000_ALIGN CW0_DEG

#define USE_SPI
#define USE_SPI_DEVICE_1
#define USE_SPI_DEVICE_3
#define SPI3_NSS_PIN PA15
#define SPI3_SCK_PIN PC10
#define SPI3_MISO_PIN PC11
#if defined(CLRACINGF4AIRV3)
#define SPI3_MOSI_PIN PB5
#else
#define SPI3_MOSI_PIN PC12
#endif
//MPU-9250
#define MPU9250_CS_PIN PA4
#define MPU9250_SPI_BUS BUS_SPI1
Expand All @@ -48,7 +55,6 @@
#define ACC_MPU9250_ALIGN CW0_DEG
#define USE_MAG
#define USE_MAG_MPU9250

// MPU6 interrupts
#define USE_EXTI
#define GYRO_INT_EXTI PC4
Expand All @@ -68,7 +74,7 @@
#define USE_LED_STRIP
#define WS2811_PIN PB8
#define WS2811_DMA_HANDLER_IDENTIFER DMA1_ST7_HANDLER
#define WS2811_DMA_STREAM DMA1_Stream7
#define WS2811_DMA_STREAM DMA1_Stream7
#define WS2811_DMA_CHANNEL DMA_Channel_2

#define USE_VCP
Expand All @@ -77,74 +83,75 @@
#define UART1_TX_PIN PA9
#define UART1_AHB1_PERIPHERALS RCC_AHB1Periph_DMA2

//V2 add another uart 2
#if defined( CLRACINGF4AIRV2 )
#if defined( CLRACINGF4AIRV2) || defined(CLRACINGF4AIRV3)
#define USE_UART2
#define UART2_RX_PIN PA2
#define UART2_TX_PIN PA3
#endif
#define USE_UART3
#define UART3_RX_PIN PB11
#define UART3_TX_PIN PB10

#define USE_UART4
#define UART4_RX_PIN PA1
#define UART4_TX_PIN PA0

#define USE_UART6
#define UART6_RX_PIN PC7
#define UART6_TX_PIN PC6
#if defined( CLRACINGF4AIRV2 )
#define SERIAL_PORT_COUNT 6 //VCP, USART1, UART2, USART3,USART4, USART6,
#elif defined(CLRACINGF4AIRV3)
#define USE_UART5
#define UART5_RX_PIN PD2
#define UART5_TX_PIN PC12
#define SERIAL_PORT_COUNT 7 //VCP, USART1, UART2, USART3,USART4, USART5,USART6,
#else
#define SERIAL_PORT_COUNT 5 //VCP, USART1, USART3,USART4, USART6,
#endif

#define USE_ESCSERIAL
#define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1

#if defined( CLRACINGF4AIRV2 )
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
#define USE_I2C
#define I2C_DEVICE (I2CDEV_2)
#define I2C2_SCL PB10
#define I2C2_SDA PB11
#endif

#define USE_SPI
#define USE_SPI_DEVICE_1

#define USE_SPI_DEVICE_3
#define SPI3_NSS_PIN PA15
#define SPI3_SCK_PIN PC10
#define SPI3_MISO_PIN PC11
#define SPI3_MOSI_PIN PC12

#define USE_ADC
#define ADC_INSTANCE ADC1
#define ADC_CHANNEL_1_PIN PC1
#define ADC_CHANNEL_2_PIN PC2
#define ADC_CHANNEL_3_PIN PC3

#define CURRENT_METER_ADC_CHANNEL ADC_CHN_1
#define VBAT_ADC_CHANNEL ADC_CHN_2
#define RSSI_ADC_CHANNEL ADC_CHN_3

// V2 has airspeed input
#if defined( CLRACINGF4AIRV2 )
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
#define ADC_CHANNEL_4_PIN PC5
#define ADC_AIRSPEED_CHANNEL ADC_CHN_4
#define CURRENT_METER_SCALE 250
#endif

#define CURRENT_METER_ADC_CHANNEL ADC_CHN_1
#define VBAT_ADC_CHANNEL ADC_CHN_2
#define RSSI_ADC_CHANNEL ADC_CHN_3
#define USE_ESC_SENSOR
#define DEFAULT_FEATURES (FEATURE_TX_PROF_SEL | FEATURE_CURRENT_METER | FEATURE_TELEMETRY| FEATURE_VBAT | FEATURE_OSD )

#define SPEKTRUM_BIND_PIN UART1_RX_PIN
#define USE_SERIAL_4WAY_BLHELI_INTERFACE

// Number of available PWM outputs
#define MAX_PWM_OUTPUT_PORTS 8
#define TARGET_MOTOR_COUNT 8

#define TARGET_IO_PORTA (0xffff & ~(BIT(14)|BIT(13)))
#define TARGET_IO_PORTB (0xffff & ~(BIT(2)))
#define TARGET_IO_PORTC (0xffff & ~(BIT(15)|BIT(14)|BIT(13)))
#define TARGET_IO_PORTA (0xffff)
#define TARGET_IO_PORTB (0xffff)
#define TARGET_IO_PORTC (0xffff)
#define TARGET_IO_PORTD BIT(2)

// V2 has airspeed input
#if defined( CLRACINGF4AIRV2 ) || defined(CLRACINGF4AIRV3)
#define USABLE_TIMER_CHANNEL_COUNT 8
#define USED_TIMERS ( TIM_N(1) | TIM_N(3) | TIM_N(4) | TIM_N(8)| TIM_N(11) | TIM_N(12) )
#else
#define USABLE_TIMER_CHANNEL_COUNT 8
#define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(9) | TIM_N(11) | TIM_N(12) )
#endif
7 changes: 0 additions & 7 deletions src/main/target/CLRACINGF4AIR/target.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,8 @@ TARGET_SRC = \
drivers/accgyro/accgyro_fake.c \
drivers/accgyro/accgyro_mpu6500.c \
drivers/accgyro/accgyro_mpu9250.c \
drivers/accgyro/accgyro_mpu6000.c \
drivers/barometer/barometer_bmp085.c \
drivers/barometer/barometer_bmp280.c \
drivers/barometer/barometer_ms56xx.c \
drivers/compass/compass_mpu9250.c \
drivers/compass/compass_hmc5883l.c \
drivers/compass/compass_qmc5883l.c \
drivers/compass/compass_ist8310.c \
drivers/compass/compass_mag3110.c \
drivers/light_ws2811strip.c \
drivers/light_ws2811strip_stdperiph.c \
drivers/max7456.c

0 comments on commit 5db1e1a

Please sign in to comment.