Browse Source
Merge pull request #7968 from iNavFlight/dzikuvx-mamba-f722_2022A
Merge pull request #7968 from iNavFlight/dzikuvx-mamba-f722_2022A
MAMBAF722_2022A targetmaster
Paweł Spychalski
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 299 additions and 0 deletions
-
1src/main/target/MAMBAF722_2022A/CMakeLists.txt
-
65src/main/target/MAMBAF722_2022A/config.c
-
43src/main/target/MAMBAF722_2022A/target.c
-
190src/main/target/MAMBAF722_2022A/target.h
@ -0,0 +1 @@ |
|||
target_stm32f722xe(MAMBAF722_2022A) |
@ -0,0 +1,65 @@ |
|||
/* |
|||
* This file is part of INAV. |
|||
* |
|||
* INAV is free software: you can redistribute it and/or modify |
|||
* it 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. |
|||
* |
|||
* INAV is distributed in the hope that it 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 INAV. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#include <stdbool.h> |
|||
#include <stdint.h> |
|||
|
|||
#include <platform.h> |
|||
|
|||
#include "common/axis.h" |
|||
|
|||
#include "config/config_master.h" |
|||
#include "config/feature.h" |
|||
|
|||
#include "drivers/sensor.h" |
|||
#include "drivers/pwm_esc_detect.h" |
|||
#include "drivers/pwm_output.h" |
|||
#include "drivers/serial.h" |
|||
|
|||
#include "fc/rc_controls.h" |
|||
|
|||
#include "flight/failsafe.h" |
|||
#include "flight/mixer.h" |
|||
#include "flight/pid.h" |
|||
|
|||
#include "rx/rx.h" |
|||
|
|||
#include "io/serial.h" |
|||
|
|||
#include "sensors/battery.h" |
|||
#include "sensors/sensors.h" |
|||
|
|||
#include "telemetry/telemetry.h" |
|||
#include "io/piniobox.h" |
|||
|
|||
void targetConfiguration(void) |
|||
{ |
|||
|
|||
pinioBoxConfigMutable()->permanentId[0] = BOX_PERMANENT_ID_USER1; |
|||
pinioBoxConfigMutable()->permanentId[1] = BOX_PERMANENT_ID_USER2; |
|||
|
|||
/* |
|||
* UART1 is SerialRX |
|||
*/ |
|||
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(SERIAL_PORT_USART1)].functionMask = FUNCTION_RX_SERIAL; |
|||
|
|||
/* |
|||
* Enable MSP at 115200 at UART4 |
|||
*/ |
|||
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(SERIAL_PORT_USART4)].functionMask = FUNCTION_MSP; |
|||
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(SERIAL_PORT_USART4)].msp_baudrateIndex = BAUD_115200; |
|||
} |
@ -0,0 +1,43 @@ |
|||
/* |
|||
* This file is part of INAV. |
|||
* |
|||
* INAV is free software: you can redistribute it and/or modify |
|||
* it 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. |
|||
* |
|||
* INAV is distributed in the hope that it 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 INAV. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
|
|||
#include <stdint.h> |
|||
|
|||
#include "platform.h" |
|||
#include "drivers/io.h" |
|||
#include "drivers/timer.h" |
|||
#include "drivers/pwm_mapping.h" |
|||
#include "drivers/bus.h" |
|||
|
|||
timerHardware_t timerHardware[] = { |
|||
DEF_TIM(TIM11, CH1, PB9, TIM_USE_PPM, 0, 0 ), // PPM IN |
|||
|
|||
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR, 0, 0 ), // S1 |
|||
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR, 0, 0 ), // S2 |
|||
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 1 ), // S3 |
|||
DEF_TIM(TIM1, CH2, PA9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 1 ), // S4 |
|||
|
|||
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0 ), // S5 |
|||
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0 ), // S6 |
|||
DEF_TIM(TIM1, CH3, PA10, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0 ), // S7 |
|||
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0 ), // S8 |
|||
|
|||
DEF_TIM(TIM2, CH2, PB3, TIM_USE_LED, 0, 0 ), // LED_STRIP – D(1, 6, 3) |
|||
}; |
|||
|
|||
const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]); |
@ -0,0 +1,190 @@ |
|||
/* |
|||
* This file is part of INAV. |
|||
* |
|||
* INAV is free software: you can redistribute it and/or modify |
|||
* it 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. |
|||
* |
|||
* INAV is distributed in the hope that it 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 INAV. If not, see <http://www.gnu.org/licenses/>. |
|||
*/ |
|||
|
|||
#pragma once |
|||
|
|||
#define USE_TARGET_CONFIG |
|||
|
|||
#define TARGET_BOARD_IDENTIFIER "M72A" |
|||
#define USBD_PRODUCT_STRING "MAMBAF722_2022A" |
|||
|
|||
// ******** Board LEDs ********************** |
|||
#define LED0 PC15 |
|||
#define LED1 PC14 |
|||
|
|||
// ******* Beeper *********** |
|||
#define BEEPER PB2 |
|||
#define BEEPER_INVERTED |
|||
|
|||
// ******* GYRO and ACC ******** |
|||
#define USE_EXTI |
|||
#define GYRO_INT_EXTI PC4 |
|||
#define USE_MPU_DATA_READY_SIGNAL |
|||
|
|||
//MPU6000 |
|||
#define USE_IMU_MPU6000 |
|||
#define IMU_MPU6000_ALIGN CW180_DEG |
|||
#define MPU6000_CS_PIN SPI1_NSS_PIN |
|||
#define MPU6000_SPI_BUS BUS_SPI1 |
|||
|
|||
//MPU6500 |
|||
#define USE_IMU_MPU6500 |
|||
#define IMU_MPU6500_ALIGN CW180_DEG |
|||
#define MPU6500_CS_PIN SPI1_NSS_PIN |
|||
#define MPU6500_SPI_BUS BUS_SPI1 |
|||
|
|||
//BMI270 |
|||
#define USE_IMU_BMI270 |
|||
#define IMU_BMI270_ALIGN CW180_DEG |
|||
#define BMI270_SPI_BUS BUS_SPI1 |
|||
#define BMI270_CS_PIN SPI1_NSS_PIN |
|||
#define BMI270_EXTI_PIN GYRO_INT_EXTI |
|||
|
|||
#define USE_I2C |
|||
|
|||
#define USE_I2C_DEVICE_1 |
|||
#define I2C1_SCL PB8 |
|||
#define I2C1_SDA PB9 |
|||
#define DEFAULT_I2C_BUS BUS_I2C1 |
|||
|
|||
// *************** Baro ************************** |
|||
#define USE_BARO |
|||
#define BARO_I2C_BUS DEFAULT_I2C_BUS |
|||
#define USE_BARO_BMP280 |
|||
#define USE_BARO_MS5611 |
|||
#define USE_BARO_BMP085 |
|||
#define USE_BARO_DPS310 |
|||
#define USE_BARO_SPL06 |
|||
|
|||
//*********** Magnetometer / Compass ************* |
|||
#define USE_MAG |
|||
#define MAG_I2C_BUS DEFAULT_I2C_BUS |
|||
|
|||
#define USE_MAG_HMC5883 |
|||
#define USE_MAG_QMC5883 |
|||
#define USE_MAG_IST8310 |
|||
#define USE_MAG_MAG3110 |
|||
#define USE_MAG_LIS3MDL |
|||
|
|||
// ******* SERIAL ******** |
|||
#define USE_VCP |
|||
#define USE_UART1 |
|||
#define USE_UART2 |
|||
#define USE_UART3 |
|||
#define USE_UART4 |
|||
#define USE_UART5 |
|||
#define USE_UART6 |
|||
|
|||
#define UART1_TX_PIN PB6 |
|||
#define UART1_RX_PIN PB7 |
|||
|
|||
#define UART2_TX_PIN PA2 |
|||
#define UART2_RX_PIN PA3 |
|||
|
|||
#define UART3_TX_PIN PB10 |
|||
#define UART3_RX_PIN PB11 |
|||
|
|||
#define UART4_TX_PIN PA0 |
|||
#define UART4_RX_PIN PA1 |
|||
|
|||
#define UART5_TX_PIN PC12 |
|||
#define UART5_RX_PIN PD2 |
|||
|
|||
#define UART6_TX_PIN PC6 |
|||
#define UART6_RX_PIN PC7 |
|||
|
|||
#define SERIAL_PORT_COUNT 7 |
|||
|
|||
// ******* 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 |
|||
|
|||
#define USE_SPI_DEVICE_3 |
|||
#define SPI3_NSS_PIN PA15 |
|||
#define SPI3_SCK_PIN PC10 |
|||
#define SPI3_MISO_PIN PC11 |
|||
#define SPI3_MOSI_PIN PB5 |
|||
|
|||
// ******* ADC ******** |
|||
#define USE_ADC |
|||
#define ADC_CHANNEL_1_PIN PC1 |
|||
#define ADC_CHANNEL_2_PIN PC3 |
|||
|
|||
#define VBAT_ADC_CHANNEL ADC_CHN_1 |
|||
#define CURRENT_METER_ADC_CHANNEL ADC_CHN_2 |
|||
|
|||
#define VBAT_SCALE_DEFAULT 1100 |
|||
|
|||
// ******* OSD ******** |
|||
#define USE_MAX7456 |
|||
#define MAX7456_SPI_BUS BUS_SPI2 |
|||
#define MAX7456_CS_PIN SPI2_NSS_PIN |
|||
|
|||
//******* FLASH ******** |
|||
#define USE_FLASHFS |
|||
#define USE_FLASH_M25P16 |
|||
#define M25P16_CS_PIN SPI3_NSS_PIN |
|||
#define M25P16_SPI_BUS BUS_SPI3 |
|||
|
|||
#define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT |
|||
|
|||
//************ LEDSTRIP ***************** |
|||
#define USE_LED_STRIP |
|||
#define WS2811_PIN PB3 |
|||
|
|||
// ******* 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) |
|||
|
|||
#define TARGET_IO_PORTA 0xffff |
|||
#define TARGET_IO_PORTB 0xffff |
|||
#define TARGET_IO_PORTC 0xffff |
|||
#define TARGET_IO_PORTD (BIT(2)) |
|||
|
|||
#define MAX_PWM_OUTPUT_PORTS 8 |
|||
#define TARGET_MOTOR_COUNT 8 |
|||
|
|||
// ESC-related features |
|||
#define USE_DSHOT |
|||
#define USE_ESC_SENSOR |
|||
#define USE_SERIAL_4WAY_BLHELI_INTERFACE |
|||
|
|||
#define USE_RANGEFINDER |
|||
#define RANGEFINDER_I2C_BUS DEFAULT_I2C_BUS |
|||
#define TEMPERATURE_I2C_BUS DEFAULT_I2C_BUS |
|||
#define PITOT_I2C_BUS DEFAULT_I2C_BUS |
|||
#define BNO055_I2C_BUS DEFAULT_I2C_BUS |
|||
|
|||
// *************** PINIO *************************** |
|||
#define USE_PINIO |
|||
#define USE_PINIOBOX |
|||
#define PINIO1_PIN PC0 // VTX power switcher |
|||
#define PINIO2_PIN PC2 // WiFi Switcher |
Write
Preview
Loading…
Cancel
Save
Reference in new issue