forked from betaflight/betaflight
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial MAMBAF411 Target (betaflight#8644)
Initial MAMBAF411 Target
- Loading branch information
Showing
4 changed files
with
266 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* | ||
* This file is part of Cleanflight and Betaflight. | ||
* | ||
* Cleanflight and Betaflight are free software. You can redistribute | ||
* this software and/or modify this software under the terms of the | ||
* GNU General Public License as published by the Free Software | ||
* Foundation, either version 3 of the License, or (at your option) | ||
* any later version. | ||
* | ||
* Cleanflight and Betaflight are distributed in the hope that they | ||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
* See the GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this software. | ||
* | ||
* If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#include <stdint.h> | ||
|
||
#include "platform.h" | ||
#include "drivers/io.h" | ||
|
||
#include "drivers/dma.h" | ||
#include "drivers/timer.h" | ||
#include "drivers/timer_def.h" | ||
|
||
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { | ||
|
||
DEF_TIM(TIM11, CH1, PB9, TIM_USE_PPM, 0, 0 ), // PPM IN | ||
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - UP1-1 | ||
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - UP1-2 | ||
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - UP1-2 | ||
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - UP1-2 | ||
DEF_TIM(TIM2, CH1, PA15, TIM_USE_ANY, 0, 0 ), // S5_OUT - UP1-1 | ||
DEF_TIM(TIM10, CH1, PB8, TIM_USE_ANY, 0, 0 ), // S6_OUT - DMA NONE | ||
|
||
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 0 ), // LED_STRIP - DMA2_ST3_CH6 | ||
|
||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
/* | ||
* This file is part of Cleanflight and Betaflight. | ||
* | ||
* Cleanflight and Betaflight are free software. You can redistribute | ||
* this software and/or modify this software under the terms of the | ||
* GNU General Public License as published by the Free Software | ||
* Foundation, either version 3 of the License, or (at your option) | ||
* any later version. | ||
* | ||
* Cleanflight and Betaflight are distributed in the hope that they | ||
* will be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
* See the GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this software. | ||
* | ||
* If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#define TARGET_BOARD_IDENTIFIER "MB41" | ||
#define USBD_PRODUCT_STRING "MAMBA411" | ||
|
||
// ******* LEDs and BEEPER ******** | ||
|
||
#define LED0_PIN PC13 | ||
#define LED1_PIN PC14 | ||
|
||
#define USE_BEEPER | ||
#define BEEPER_PIN PB2 | ||
#define BEEPER_INVERTED | ||
|
||
#define ENABLE_DSHOT_DMAR true | ||
|
||
// ******* INVERTER PIN ******** | ||
|
||
#define INVERTER_PIN_UART1 PB10 | ||
|
||
// ******* GYRO and ACC ******** | ||
|
||
#define USE_EXTI | ||
#define USE_GYRO_EXTI | ||
#define GYRO_1_EXTI_PIN PB0 | ||
#define USE_MPU_DATA_READY_SIGNAL | ||
|
||
#define GYRO_1_CS_PIN PA4 | ||
#define GYRO_1_SPI_INSTANCE SPI1 | ||
|
||
#define USE_GYRO | ||
#define USE_GYRO_SPI_MPU6000 | ||
#define GYRO_1_ALIGN CW180_DEG | ||
|
||
#define USE_ACC | ||
#define USE_ACC_SPI_MPU6000 | ||
|
||
// ******* OSD ******** | ||
|
||
#define USE_MAX7456 | ||
#define MAX7456_SPI_INSTANCE SPI2 | ||
#define MAX7456_SPI_CS_PIN PB12 | ||
|
||
// ******* SERIAL ******** | ||
|
||
#define USE_VCP | ||
|
||
#define USE_UART1 | ||
#define UART1_TX_PIN PA9 | ||
#define UART1_RX_PIN PA10 | ||
|
||
#define USE_UART2 | ||
#define UART2_TX_PIN PA2 | ||
#define UART2_RX_PIN PA3 | ||
|
||
#define USE_SOFTSERIAL1 | ||
#define USE_SOFTSERIAL2 | ||
|
||
#define SERIAL_PORT_COUNT 5 //VCP, USART1, USART2, SOFTSERIAL x 2 | ||
|
||
#define USE_ESCSERIAL | ||
#define ESCSERIAL_TIMER_TX_PIN PB9 // (HARDARE=0,PPM) | ||
|
||
// ******* SPI ******** | ||
|
||
#define USE_SPI | ||
|
||
#define USE_SPI_DEVICE_1 | ||
#define SPI1_NSS_PIN PA4 | ||
#define SPI1_SCK_PIN PA5 | ||
#define SPI1_MISO_PIN PA6 | ||
#define SPI1_MOSI_PIN PA7 | ||
|
||
#define USE_SPI_DEVICE_2 | ||
#define SPI2_NSS_PIN PB12 | ||
#define SPI2_SCK_PIN PB13 | ||
#define SPI2_MISO_PIN PB14 | ||
#define SPI2_MOSI_PIN PB15 | ||
|
||
// ******* ADC ******** | ||
|
||
#define USE_ADC | ||
#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC | ||
#define ADC_INSTANCE ADC1 // Default added | ||
#define ADC1_DMA_OPT 0 // DMA 2 Stream 0 Channel 0 | ||
#define VBAT_ADC_PIN PA0 | ||
#define RSSI_ADC_PIN PB1 | ||
#define CURRENT_METER_ADC_PIN PA1 | ||
|
||
// ******* FEATURES ******** | ||
|
||
#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL | ||
#define SERIALRX_UART SERIAL_PORT_USART1 | ||
#define SERIALRX_PROVIDER SERIALRX_SBUS | ||
|
||
#define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_TELEMETRY | FEATURE_SOFTSERIAL) | ||
#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC | ||
#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC | ||
|
||
#define TARGET_IO_PORTA 0xffff | ||
#define TARGET_IO_PORTB 0xffff | ||
#define TARGET_IO_PORTC 0xffff | ||
#define TARGET_IO_PORTD (BIT(2)) | ||
|
||
#define USABLE_TIMER_CHANNEL_COUNT 8 | ||
#define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(10) | TIM_N(11) ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
F411_TARGETS += $(TARGET) | ||
FEATURES += VCP | ||
|
||
TARGET_SRC = \ | ||
drivers/accgyro/accgyro_spi_mpu6000.c \ | ||
drivers/max7456.c |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Betaflight / STM32F411 (S411) 4.0.4 Jun 30 2019 / 14:58:36 (f3a95efa3) MSP API: 1.41 | ||
|
||
board_name MAMBAF411 | ||
manufacturer_id DIAT | ||
|
||
# I/O | ||
resource LED 1 C13 | ||
resource LED 2 C14 | ||
resource BEEPER 1 B02 | ||
set beeper_inversion = ON | ||
set beeper_od = OFF | ||
|
||
# ACC/GYRO | ||
resource GYRO_EXTI 1 B00 | ||
resource GYRO_CS 1 A04 | ||
set gyro_1_bustype = SPI | ||
set gyro_1_spibus = 1 | ||
set gyro_1_sensor_align = CW180 | ||
|
||
# SPI | ||
resource SPI_SCK 1 A05 | ||
resource SPI_MISO 1 A06 | ||
resource SPI_MOSI 1 A07 | ||
|
||
resource SPI_SCK 2 B13 | ||
resource SPI_MISO 2 B14 | ||
resource SPI_MOSI 2 B15 | ||
|
||
# OSD | ||
resource OSD_CS 1 B12 | ||
set max7456_spi_bus = 2 | ||
|
||
# ADC | ||
resource ADC_BATT 1 A00 | ||
resource ADC_RSSI 1 B01 | ||
resource ADC_CURR 1 A01 | ||
set adc_device = 1 | ||
set current_meter = ADC | ||
set battery_meter = ADC | ||
|
||
# SERIAL PORTS | ||
resource SERIAL_TX 1 A09 | ||
resource SERIAL_RX 1 A10 | ||
|
||
resource SERIAL_TX 2 A02 | ||
resource SERIAL_RX 2 A03 | ||
|
||
# TIMERS | ||
timer B09 AF3 # pin B09: TIM11 CH1 (AF3) | ||
timer B03 AF1 # pin B03: TIM2 CH2 (AF1) | ||
timer B04 AF2 # pin B04: TIM3 CH1 (AF2) | ||
timer B06 AF2 # pin B06: TIM4 CH1 (AF2) | ||
timer B07 AF2 # pin B07: TIM4 CH2 (AF2) | ||
timer A15 AF1 # pin A15: TIM2 CH1 (AF1) | ||
timer B08 AF3 # pin B08: TIM10 CH1 (AF3) | ||
timer A08 AF1 # pin A08: TIM1 CH1 (AF1) | ||
|
||
# RESOURCES | ||
resource MOTOR 1 B03 | ||
resource MOTOR 2 B04 | ||
resource MOTOR 3 B06 | ||
resource MOTOR 4 B07 | ||
resource PPM 1 B09 | ||
resource LED_STRIP 1 A08 | ||
resource INVERTER 1 B10 | ||
resource ESCSERIAL 1 B09 | ||
|
||
# DMA | ||
dma ADC 1 0 # ADC 1: DMA2 Stream 0 Channel 0 | ||
dma pin B03 0 # pin B03: DMA1 Stream 6 Channel 3 | ||
dma pin B04 0 # pin B04: DMA1 Stream 4 Channel 5 | ||
dma pin B06 0 # pin B06: DMA1 Stream 0 Channel 2 | ||
dma pin B07 0 # pin B07: DMA1 Stream 3 Channel 2 | ||
dma pin A15 0 # pin A15: DMA1 Stream 5 Channel 3 | ||
dma pin A08 0 # pin A08: DMA2 Stream 6 Channel 0 | ||
|
||
# FEATURE | ||
feature -RX_PARALLEL_PWM | ||
feature RX_SERIAL | ||
feature SOFTSERIAL | ||
feature TELEMETRY | ||
feature OSD | ||
|
||
# SERIAL | ||
serial 0 64 115200 57600 0 115200 | ||
|
||
# MASTER | ||
set mag_hardware = NONE | ||
set baro_hardware = NONE | ||
set serialrx_provider = SBUS | ||
set dshot_burst = ON | ||
set motor_pwm_protocol = DSHOT600 |