diff --git a/docs/boards/Board - CrazyBeeF3FS.md b/docs/boards/Board - CrazyBeeF3FS.md new file mode 100644 index 0000000000..471dbb7a9c --- /dev/null +++ b/docs/boards/Board - CrazyBeeF3FS.md @@ -0,0 +1,74 @@ +# CrazyBee F3 FS +![CrazyBee F3 FS front](CrazyBeeF3FStop.jpg) +![CrazyBee F3 FS back](CrazyBeeF3FSbottom.jpg) +## Description +CrazyBee F3 FS flight controller is a Highly integrated board for 1S Whoop brushless racing drone. +It might be the world first Tiny whoop size brushless flight controller which integrated Receiver/4in1 ESC/OSD/Current Meter. +## MCU, Sensors and Features + +### Hardware and Features + + - MCU: STM32F303CCT6 + - IMU: MPU6000 (SPI) + - IMU Interrupt: yes + - VCP: yes + - OSD: Betaflight OSD + - Battery Voltage Sensor: yes + - Integrated Voltage Regulator: yes, booster, 5V/800mA + - Integrated Current sensor:Max 14A, could be modified to 28A by replace resistor + - Integrated Flysky compatible receiver + - Buttons: 1 (Receiver bind button) + - Integrated 4x Blheli_s ESC: Max 5A per ESC + - ESC Connector: 3-pin, PicoBlade 1.25mm pitch + - Beeper output: 2-pin, soldering pad + - 4 Rx Indicating LEDs: 2 x red and 2 x white + + + +## Resource mapping + + +| Label | Pin | Timer | DMA | Default | Note | +|----------------------------|------|-------|-----|-------------|----------------------------------| +| MPU6000_INT_EXTI | PC13 | | | | | +| MPU6000_CS_PIN | PA4 | | | | SPI1 | +| MPU6000_SCK_PIN | PA5 | | | | SPI1 | +| MPU6000_MISO_PIN | PA6 | | | | SPI1 | +| MPU6000_MOSI_PIN | PA7 | | | | SPI1 | +| OSD_CS_PIN | PB1 | | | | SPI1 | +| OSD_SCK_PIN | PA5 | | | | SPI1 | +| OSD_MISO_PIN | PA6 | | | | SPI1 | +| OSD_MOSI_PIN | PA7 | | | | SPI1 | +| RX_CS_PIN | PB12 | | | | SPI2 | +| RX_SCK_PIN | PB13 | | | | SPI2 | +| RX_MISO_PIN | PB14 | | | | SPI2 | +| RX_MOSI_PIN | PB15 | | | | SPI2 | +| RX_IRQ_PIN | PA8 | | | | | +| RX_BIND_PIN | PA9 | | | | | +| RX_LED_PIN | PA10 | | | | | +| PWM1 | PB8 | TIM8, CH2 | | | | +| PWM2 | PB9 | TIM8, CH3 | | | | +| PWM3 | PA3 | TIM2, CH4 | | | | +| PWM4 | PA2 | TIM15,CH1 | | | | +| VBAT_ADC_PIN | PA0 | | | | ADC1 | +| RSSI_ADC_PIN | PA1 | | | | ADC1 | +| BEEPER | PC15 | | | | | +| UART3 TX | PB10 | | | | will add pinout soon | +| UART3 RX | PB11 | | | | will add pinout soon | + + +## Manufacturers and Distributors + +https://www.banggood.com/Racerstar-Crazybee-F3-Flight-Controller-4-IN-1-5A-1S-Blheli_S-ESC-Compatible-Flysky-AFHDS-Receiver-p-1271331.html + +## Designers + + + +## Maintainers + + +## FAQ & Known Issues + +## Other Resources + User Manual: http://img.banggood.com/file/products/20180225215703Crazybeef3flysky.pdf \ No newline at end of file diff --git a/docs/boards/CrazyBeeF3FSbottom.jpg b/docs/boards/CrazyBeeF3FSbottom.jpg new file mode 100644 index 0000000000..acf049f9ae Binary files /dev/null and b/docs/boards/CrazyBeeF3FSbottom.jpg differ diff --git a/docs/boards/CrazyBeeF3FStop.jpg b/docs/boards/CrazyBeeF3FStop.jpg new file mode 100644 index 0000000000..87dd5e7c2b Binary files /dev/null and b/docs/boards/CrazyBeeF3FStop.jpg differ diff --git a/src/main/target/CRAZYBEEF3FR/CRAZYBEEF3FS.mk b/src/main/target/CRAZYBEEF3FR/CRAZYBEEF3FS.mk new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/target/CRAZYBEEF3FR/target.h b/src/main/target/CRAZYBEEF3FR/target.h index 7e16f0f0a7..08d029d626 100644 --- a/src/main/target/CRAZYBEEF3FR/target.h +++ b/src/main/target/CRAZYBEEF3FR/target.h @@ -17,8 +17,14 @@ #pragma once -#define TARGET_BOARD_IDENTIFIER "CBFR" // +#if defined(CRAZYBEEF3FS) +#define TARGET_BOARD_IDENTIFIER "CBFS" +#define USBD_PRODUCT_STRING "CrazyBee F3 FS" +#else //CRAZYBEEF3FS +#define TARGET_BOARD_IDENTIFIER "CBFR" #define USBD_PRODUCT_STRING "CrazyBee F3 FR" +#endif + #define LED0_PIN PB3 #define USE_BEEPER #define BEEPER_PIN PC15 @@ -55,6 +61,18 @@ #define SPI2_MISO_PIN PB14 #define SPI2_MOSI_PIN PB15 +#if defined(CRAZYBEEF3FS) +#define USE_RX_SPI +#define USE_RX_FLYSKY +#define RX_SPI_DEFAULT_PROTOCOL RX_SPI_A7105_FLYSKY_2A +#define FLYSKY_2A_CHANNEL_COUNT 14 +#define RX_SPI_INSTANCE SPI2 +#define RX_NSS_PIN SPI2_NSS_PIN +#define RX_IRQ_PIN PA8 +#define BINDPLUG_PIN PA9 +#define USE_RX_FLYSKY_SPI_LED +#define RX_FLYSKY_SPI_LED_PIN PA10 +#else #define USE_RX_SPI #define USE_RX_FRSKY_SPI_D #define USE_RX_FRSKY_SPI_X @@ -69,6 +87,7 @@ #define RX_FRSKY_SPI_GDO_0_PIN PA8 #define RX_FRSKY_SPI_LED_PIN PA10 #define BINDPLUG_PIN PA9 +#endif #define USE_OSD #define USE_MAX7456 @@ -80,15 +99,16 @@ #define USE_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC -#define VBAT_ADC_PIN PA0 -#define CURRENT_METER_ADC_PIN PA1 -#define ADC_INSTANCE ADC1 +#define VBAT_ADC_PIN PA0 +#define CURRENT_METER_ADC_PIN PA1 +#define ADC_INSTANCE ADC1 +#define CURRENT_METER_SCALE_DEFAULT 2350 -#define DEFAULT_FEATURES (FEATURE_TELEMETRY | FEATURE_OSD) +#define DEFAULT_FEATURES (FEATURE_TELEMETRY | FEATURE_OSD | FEATURE_RX_SPI | FEATURE_MOTOR_STOP) #define USE_SERIAL_4WAY_BLHELI_INTERFACE -#define TARGET_IO_PORTA 0xffff -#define TARGET_IO_PORTB 0xffff -#define TARGET_IO_PORTC (BIT(13)|BIT(14)|BIT(15)) -#define TARGET_IO_PORTF (BIT(0)|BIT(1)|BIT(4)) +#define TARGET_IO_PORTA 0xffff +#define TARGET_IO_PORTB 0xffff +#define TARGET_IO_PORTC (BIT(13)|BIT(14)|BIT(15)) +#define TARGET_IO_PORTF (BIT(0)|BIT(1)|BIT(4)) #define USABLE_TIMER_CHANNEL_COUNT 4 -#define USED_TIMERS (TIM_N(2) | TIM_N(8) | TIM_N(15)) +#define USED_TIMERS (TIM_N(2) | TIM_N(8) | TIM_N(15)) diff --git a/src/main/target/CRAZYBEEF3FR/target.mk b/src/main/target/CRAZYBEEF3FR/target.mk index 367faa2ad4..eca394fa08 100644 --- a/src/main/target/CRAZYBEEF3FR/target.mk +++ b/src/main/target/CRAZYBEEF3FR/target.mk @@ -5,8 +5,18 @@ FEATURES = VCP TARGET_SRC = \ drivers/accgyro/accgyro_mpu.c \ drivers/accgyro/accgyro_spi_mpu6000.c \ + drivers/max7456.c + +ifeq ($(TARGET), CRAZYBEEF3FS) +TARGET_SRC += \ + drivers/rx/rx_a7105.c \ + rx/flysky.c +else +ifeq ($(TARGET), CRAZYBEEF3FR) +TARGET_SRC += \ drivers/rx/rx_cc2500.c \ rx/cc2500_frsky_shared.c \ rx/cc2500_frsky_d.c \ - rx/cc2500_frsky_x.c \ - drivers/max7456.c \ No newline at end of file + rx/cc2500_frsky_x.c +endif +endif