Added MERAKRCF405 target and MERAKRCF722 target

This commit is contained in:
Merak RC 2019-08-23 00:49:59 +08:00
parent bf06a135df
commit 57dcae950f
10 changed files with 238 additions and 68 deletions

View File

@ -0,0 +1,89 @@
# Board - MERAKRCF405
MERAKRCF405 flight control is carefully optimized layout, so that users can be more concise,convenient wiring,.For ensure a good flight experience ,we use of high-performance MPU6000 gyroscope. After a long flight verification test, the flight control ensures stable flight performance. For details of flight control, please visit MERAK RC website:(http://www.merakrc.com)
### Hardware
* Processors and Sensors
* *MCU: STM32F405RGT6
* IMU_1 MPU6000(0 deg)
* *OSD:* BetaFlight OSD (AT7456E)
* Blackbox: FLASH W25Q128 (16MB)
* 6 Dshot outputs
* 5 UARTs (UART5 support SerialRC)
* Stable voltage regulation,9V/2A DCDC BEC for VTX/camera etc.5V/2A DCDC BEC for FC/WS2812 etc.
* Independent camera control.
### Pinout
### All uarts have pad on board
| Value | Identifier | RX | TX | Notes |
| :---: | :--------: | :--: | :--: | :------: |
| 1 | USART1 | PA10 | PA9 | |
| 2 | USART2 | PA3 | PA2 | |
| 3 | USART3 | PB11 | PB10 | |
| 4 | USART4 | PC11 | PC10 | |
| 5 | USART5 | PD2 | PC12 | Rx input |
### Buzzer/LED output
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | LED0 | LED | PC13 | |
| 2 | BEEPER | BEEP | PC14 | |
### VBAT input, Current input, Analog RSSI input
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | ADC1 | VBAT | PC2 | |
| 2 | ADC1 | CURRENT | PC1 | |
| 3 | ADC1 | RSSI | PC3 | |
### PWM Input & PWM Output & LED strip & Camera control
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :---------: | :--: | :---: |
| 1 | TIM8_CH3 | PPM | PC8 | |
| 2 | TIM3_CH1 | Motor1 | PC6 | |
| 3 | TIM3_CH2 | Motor2 | PC7 | |
| 4 | TIM5_CH1 | Motor3 | PA0 | |
| 5 | TIM5_CH2 | Motor4 | PA1 | |
| 6 | TIM3_CH3 | Motor5 | PB0 | |
| 7 | TIM1_CH3N | Motor6 | PB1 | |
| 8 | TIM4_CH3 | LED strip | PB8 | |
| 9 | TIM11_CH1 | CAM Control | PB9 | |
### Gyro & ACC MPU6000
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :------------: |
| 1 | SPI2 | SCK | PB13 | MPU6000 |
| 2 | SPI2 | MISO | PB14 | MPU6000 |
| 3 | SPI2 | MOSI | PB15 | MPU6000 |
| 4 | SPI2 | CS1 | PB12 | MPU6000_CS |
| 5 | IO | INT2 | PC4 | MPU6000_INT |
### OSD MAX7456
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | SPI3 | SCK | PB3 | |
| 2 | SPI3 | MISO | PB4 | |
| 3 | SPI3 | MOSI | PB5 | |
| 4 | SPI3 | CS | PA15 | |
### FLash Blackbox
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | SPI1 | SCK | PA5 | |
| 2 | SPI1 | MISO | PA6 | |
| 3 | SPI1 | MOSI | PA7 | |
| 4 | SPI1 | CS | PA4 | |

View File

@ -0,0 +1,89 @@
# Board - MERAKRCF405
MERAKRCF405 flight control is carefully optimized layout, so that users can be more concise,convenient wiring,.For ensure a good flight experience ,we use of high-performance MPU6000 gyroscope. After a long flight verification test, the flight control ensures stable flight performance. For details of flight control, please visit MERAK RC website:(http://www.merakrc.com)
### Hardware
* Processors and Sensors
* *MCU: STM32F722RET6
* IMU_1 MPU6000(0 deg)
* *OSD:* BetaFlight OSD (AT7456E)
* Blackbox: FLASH W25Q128 (16MB)
* 6 Dshot outputs
* 5 UARTs (UART5 support SerialRC)
* Stable voltage regulation,9V/2A DCDC BEC for VTX/camera etc.5V/2A DCDC BEC for FC/WS2812 etc.
* Independent camera control.
### Pinout
### All uarts have pad on board
| Value | Identifier | RX | TX | Notes |
| :---: | :--------: | :--: | :--: | :------: |
| 1 | USART1 | PA10 | PA9 | |
| 2 | USART2 | PA3 | PA2 | |
| 3 | USART3 | PB11 | PB10 | |
| 4 | USART4 | PC11 | PC10 | |
| 5 | USART5 | PD2 | PC12 | Rx input |
### Buzzer/LED output
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | LED0 | LED | PC13 | |
| 2 | BEEPER | BEEP | PC14 | |
### VBAT input, Current input, Analog RSSI input
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | ADC1 | VBAT | PC2 | |
| 2 | ADC1 | CURRENT | PC1 | |
| 3 | ADC1 | RSSI | PC3 | |
### PWM Input & PWM Output & LED strip & Camera control
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :---------: | :--: | :---: |
| 1 | TIM8_CH3 | PPM | PC8 | |
| 2 | TIM3_CH1 | Motor1 | PC6 | |
| 3 | TIM3_CH2 | Motor2 | PC7 | |
| 4 | TIM5_CH1 | Motor3 | PA0 | |
| 5 | TIM5_CH2 | Motor4 | PA1 | |
| 6 | TIM3_CH3 | Motor5 | PB0 | |
| 7 | TIM1_CH3N | Motor6 | PB1 | |
| 8 | TIM4_CH3 | LED strip | PB8 | |
| 9 | TIM11_CH1 | CAM Control | PB9 | |
### Gyro & ACC MPU6000
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :------------: |
| 1 | SPI2 | SCK | PB13 | MPU6000 |
| 2 | SPI2 | MISO | PB14 | MPU6000 |
| 3 | SPI2 | MOSI | PB15 | MPU6000 |
| 4 | SPI2 | CS1 | PB12 | MPU6000_CS |
| 5 | IO | INT2 | PC4 | MPU6000_INT |
### OSD MAX7456
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | SPI3 | SCK | PB3 | |
| 2 | SPI3 | MISO | PB4 | |
| 3 | SPI3 | MOSI | PB5 | |
| 4 | SPI3 | CS | PA15 | |
### FLash Blackbox
| Value | Identifier | function | pin | Notes |
| :---: | :--------: | :------: | :--: | :---: |
| 1 | SPI1 | SCK | PA5 | |
| 2 | SPI1 | MISO | PA6 | |
| 3 | SPI1 | MOSI | PA7 | |
| 4 | SPI1 | CS | PA4 | |

View File

@ -31,12 +31,12 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0), // PPM
// Motors
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M1
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M5
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M6
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M1
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M2
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M4
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M5
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M6
// LED strip
DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED, 0, 0), // LED

View File

@ -51,7 +51,6 @@
#define USE_ACC
#define USE_ACC_SPI_MPU6000
#define ACC_1_ALIGN CW0_DEG
// *************** BLACKBOX **************************
#define USE_SPI_DEVICE_1
@ -149,7 +148,7 @@
#define TARGET_IO_PORTA 0xffff
#define TARGET_IO_PORTB 0xffff
#define TARGET_IO_PORTC 0xffff
#define TARGET_IO_PORTD 0xffff
#define TARGET_IO_PORTD (BIT(2))
#define USABLE_TIMER_CHANNEL_COUNT 12
#define USED_TIMERS (TIM_N(1)|TIM_N(2)|TIM_N(3)|TIM_N(4)|TIM_N(5)|TIM_N(8)|TIM_N(9)|TIM_N(12))
#define USABLE_TIMER_CHANNEL_COUNT 9
#define USED_TIMERS (TIM_N(1)|TIM_N(3)|TIM_N(4)|TIM_N(5)|TIM_N(8)|TIM_N(11))

View File

@ -10,4 +10,5 @@ TARGET_SRC = \
drivers/compass/compass_ak8975.c \
drivers/compass/compass_hmc5883l.c \
drivers/compass/compass_qmc5883l.c \
drivers/compass/compass_lis3mdl.c \
drivers/max7456.c

View File

@ -31,12 +31,12 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0), // PPM
// Motors
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M1
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M5
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M6
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M1
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M2
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M4
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M5
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M6
// LED strip
DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED, 0, 0), // LED

View File

@ -51,7 +51,6 @@
#define USE_ACC
#define USE_ACC_SPI_MPU6000
#define ACC_1_ALIGN CW0_DEG
// *************** BLACKBOX **************************
#define USE_SPI_DEVICE_1
@ -149,7 +148,7 @@
#define TARGET_IO_PORTA 0xffff
#define TARGET_IO_PORTB 0xffff
#define TARGET_IO_PORTC 0xffff
#define TARGET_IO_PORTD 0xffff
#define TARGET_IO_PORTD (BIT(2))
#define USABLE_TIMER_CHANNEL_COUNT 12
#define USED_TIMERS (TIM_N(1)|TIM_N(2)|TIM_N(3)|TIM_N(4)|TIM_N(5)|TIM_N(8)|TIM_N(9)|TIM_N(12))
#define USABLE_TIMER_CHANNEL_COUNT 9
#define USED_TIMERS (TIM_N(1)|TIM_N(3)|TIM_N(4)|TIM_N(5)|TIM_N(8)|TIM_N(11))

View File

@ -10,4 +10,5 @@ TARGET_SRC = \
drivers/compass/compass_ak8975.c \
drivers/compass/compass_hmc5883l.c \
drivers/compass/compass_qmc5883l.c \
drivers/compass/compass_lis3mdl.c \
drivers/max7456.c

View File

@ -5,12 +5,12 @@ manufacturer_id MERA
# resources
resource BEEPER 1 C14
resource MOTOR 1 A00
resource MOTOR 2 A01
resource MOTOR 3 B00
resource MOTOR 4 B01
resource MOTOR 5 C07
resource MOTOR 6 C06
resource MOTOR 1 C06
resource MOTOR 2 C07
resource MOTOR 3 A00
resource MOTOR 4 A01
resource MOTOR 5 B00
resource MOTOR 6 B01
resource PPM 1 C08
resource LED_STRIP 1 B08
resource SERIAL_TX 1 A09
@ -48,18 +48,18 @@ resource GYRO_CS 1 B12
# timer
timer C08 AF3
# pin C08: TIM8 CH3 (AF3)
timer C06 AF2
# pin C06: TIM3 CH1 (AF2)
timer C07 AF2
# pin C07: TIM3 CH2 (AF2)
timer A00 AF2
# pin A00: TIM5 CH1 (AF2)
timer A01 AF2
# pin A01: TIM5 CH2 (AF2)
timer B00 AF2
# pin B00: TIM3 CH3 (AF2)
timer B01 AF2
# pin B01: TIM3 CH4 (AF2)
timer C07 AF3
# pin C07: TIM8 CH2 (AF3)
timer C06 AF3
# pin C06: TIM8 CH1 (AF3)
timer B01 AF1
# pin B01: TIM1 CH3N (AF1)
timer B08 AF2
# pin B08: TIM4 CH3 (AF2)
timer B09 AF3
@ -70,6 +70,10 @@ dma ADC 1 0
# ADC 1: DMA2 Stream 0 Channel 0
dma pin C08 0
# pin C08: DMA2 Stream 2 Channel 0
dma pin C06 0
# pin C06: DMA1 Stream 4 Channel 5
dma pin C07 0
# pin C07: DMA1 Stream 5 Channel 5
dma pin A00 0
# pin A00: DMA1 Stream 2 Channel 6
dma pin A01 0
@ -77,17 +81,10 @@ dma pin A01 0
dma pin B00 0
# pin B00: DMA1 Stream 7 Channel 5
dma pin B01 0
# pin B01: DMA1 Stream 2 Channel 5
dma pin C07 0
# pin C07: DMA2 Stream 2 Channel 0
dma pin C06 0
# pin C06: DMA2 Stream 2 Channel 0
# pin B01: DMA2 Stream 6 Channel 0
dma pin B08 0
# pin B08: DMA1 Stream 7 Channel 2
# serial
serial 4 64 115200 57600 0 115200
# master
set mag_bustype = I2C
set mag_i2c_device = 1
@ -95,7 +92,6 @@ set baro_bustype = I2C
set baro_i2c_device = 1
set blackbox_device = SPIFLASH
set dshot_burst = ON
set motor_pwm_protocol = DSHOT600
set current_meter = ADC
set battery_meter = ADC
set ibata_scale = 179

View File

@ -5,12 +5,12 @@ manufacturer_id MERA
# resources
resource BEEPER 1 C14
resource MOTOR 1 A00
resource MOTOR 2 A01
resource MOTOR 3 B00
resource MOTOR 4 B01
resource MOTOR 5 C07
resource MOTOR 6 C06
resource MOTOR 1 C06
resource MOTOR 2 C07
resource MOTOR 3 A00
resource MOTOR 4 A01
resource MOTOR 5 B00
resource MOTOR 6 B01
resource PPM 1 C08
resource LED_STRIP 1 B08
resource SERIAL_TX 1 A09
@ -47,18 +47,18 @@ resource GYRO_CS 1 B12
# timer
timer C08 AF3
# pin C08: TIM8 CH3 (AF3)
timer C06 AF2
# pin C06: TIM3 CH1 (AF2)
timer C07 AF2
# pin C07: TIM3 CH2 (AF2)
timer A00 AF2
# pin A00: TIM5 CH1 (AF2)
timer A01 AF2
# pin A01: TIM5 CH2 (AF2)
timer B00 AF2
# pin B00: TIM3 CH3 (AF2)
timer B01 AF2
# pin B01: TIM3 CH4 (AF2)
timer C07 AF3
# pin C07: TIM8 CH2 (AF3)
timer C06 AF3
# pin C06: TIM8 CH1 (AF3)
timer B01 AF1
# pin B01: TIM1 CH3N (AF1)
timer B08 AF2
# pin B08: TIM4 CH3 (AF2)
timer B09 AF3
@ -69,6 +69,10 @@ dma ADC 1 0
# ADC 1: DMA2 Stream 0 Channel 0
dma pin C08 0
# pin C08: DMA2 Stream 2 Channel 0
dma pin C06 0
# pin C06: DMA1 Stream 4 Channel 5
dma pin C07 0
# pin C07: DMA1 Stream 5 Channel 5
dma pin A00 0
# pin A00: DMA1 Stream 2 Channel 6
dma pin A01 0
@ -76,17 +80,10 @@ dma pin A01 0
dma pin B00 0
# pin B00: DMA1 Stream 7 Channel 5
dma pin B01 0
# pin B01: DMA1 Stream 2 Channel 5
dma pin C07 0
# pin C07: DMA2 Stream 2 Channel 0
dma pin C06 0
# pin C06: DMA2 Stream 2 Channel 0
# pin B01: DMA2 Stream 6 Channel 0
dma pin B08 0
# pin B08: DMA1 Stream 7 Channel 2
# serial
serial 4 64 115200 57600 0 115200
# master
set mag_bustype = I2C
set mag_i2c_device = 1
@ -94,7 +91,6 @@ set baro_bustype = I2C
set baro_i2c_device = 1
set blackbox_device = SPIFLASH
set dshot_burst = ON
set motor_pwm_protocol = DSHOT600
set current_meter = ADC
set battery_meter = ADC
set ibata_scale = 179