mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 08:45:36 +03:00
Merge pull request #7913 from LexioTech/SYNERGYF4-target-including-new-config
SYNERGYF4 updated target for 4.0 and unified targets
This commit is contained in:
commit
d0d99f68a0
9 changed files with 224 additions and 0 deletions
1
src/main/target/OMNIBUSF4/SYNERGYF4.mk
Normal file
1
src/main/target/OMNIBUSF4/SYNERGYF4.mk
Normal file
|
@ -0,0 +1 @@
|
|||
#SYNERGYF4
|
|
@ -32,6 +32,23 @@
|
|||
#include "pg/max7456.h"
|
||||
#include "pg/pg.h"
|
||||
|
||||
#ifdef SYNERGYF4
|
||||
#include "io/vtx.h"
|
||||
#include "io/ledstrip.h"
|
||||
#include "fc/config.h"
|
||||
#include "pg/piniobox.h"
|
||||
#include "common/axis.h"
|
||||
#include "sensors/barometer.h"
|
||||
#include "sensors/compass.h"
|
||||
#include "sensors/gyro.h"
|
||||
#include "flight/mixer.h"
|
||||
#include "flight/pid.h"
|
||||
#include "drivers/pwm_output.h"
|
||||
static targetSerialPortFunction_t targetSerialPortFunction[] = {
|
||||
{ SERIAL_PORT_USART1, FUNCTION_RX_SERIAL },
|
||||
{ SERIAL_PORT_USART3, FUNCTION_VTX_SMARTAUDIO },
|
||||
};
|
||||
#endif
|
||||
#ifdef EXUAVF4PRO
|
||||
static targetSerialPortFunction_t targetSerialPortFunction[] = {
|
||||
{ SERIAL_PORT_USART1, FUNCTION_TELEMETRY_SMARTPORT },
|
||||
|
@ -51,5 +68,14 @@ void targetConfiguration(void)
|
|||
#ifdef EXUAVF4PRO
|
||||
targetSerialPortFunctionConfig(targetSerialPortFunction, ARRAYLEN(targetSerialPortFunction));
|
||||
#endif
|
||||
#ifdef SYNERGYF4
|
||||
pinioBoxConfigMutable()->permanentId[0] = 39;
|
||||
vtxSettingsConfigMutable()->pitModeFreq = 0;
|
||||
ledStripStatusModeConfigMutable()->ledConfigs[0] = DEFINE_LED(0, 0, 0, 0, LF(COLOR), LO(VTX), 0);
|
||||
targetSerialPortFunctionConfig(targetSerialPortFunction, ARRAYLEN(targetSerialPortFunction));
|
||||
motorConfigMutable()->dev.motorPwmProtocol = PWM_TYPE_DSHOT600;
|
||||
gyroConfigMutable()->gyro_sync_denom = 1; // 8kHz gyro
|
||||
pidConfigMutable()->pid_process_denom = 1; // 8kHz PID
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -50,10 +50,16 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
|
|||
#if defined(OMNIBUSF4SD) || defined(EXUAVF4PRO)
|
||||
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S5_OUT
|
||||
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
|
||||
#elif defined(SYNERGYF4)
|
||||
DEF_TIM(TIM5, CH2, PA1, TIM_USE_LED, 0, 0), // LED strip
|
||||
#else
|
||||
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT
|
||||
#endif
|
||||
#if defined(SYNERGYF4)
|
||||
DEF_TIM(TIM1, CH1, PA8, TIM_USE_CAMERA_CONTROL, 0, 0), // CAM_CTL
|
||||
#else
|
||||
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6_OUT
|
||||
#endif
|
||||
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 0), // UART1_TX
|
||||
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // UART1_RX
|
||||
};
|
||||
|
|
|
@ -32,6 +32,9 @@
|
|||
#define TARGET_BOARD_IDENTIFIER "XRF4"
|
||||
#elif defined(EXUAVF4PRO)
|
||||
#define TARGET_BOARD_IDENTIFIER "EXF4"
|
||||
#elif defined(SYNERGYF4)
|
||||
#define TARGET_BOARD_IDENTIFIER "SYN4"
|
||||
#define TARGET_MANUFACTURER_IDENTIFIER "KLEE"
|
||||
#else
|
||||
#define TARGET_BOARD_IDENTIFIER "OBF4"
|
||||
// Example of a manufacturer ID to be persisted as part of the config:
|
||||
|
@ -47,6 +50,8 @@
|
|||
#define USBD_PRODUCT_STRING "XRACERF4"
|
||||
#elif defined(EXUAVF4PRO)
|
||||
#define USBD_PRODUCT_STRING "ExuavF4Pro"
|
||||
#elif defined(SYNERGYF4)
|
||||
#define USBD_PRODUCT_STRING "SynergyF4"
|
||||
#else
|
||||
#define USBD_PRODUCT_STRING "OmnibusF4"
|
||||
#endif
|
||||
|
@ -93,6 +98,9 @@
|
|||
#elif defined(XRACERF4) || defined(EXUAVF4PRO)
|
||||
#define GYRO_1_ALIGN CW90_DEG
|
||||
#define ACC_1_ALIGN CW90_DEG
|
||||
#elif defined(SYNERGYF4)
|
||||
#define GYRO_1_ALIGN CW0_DEG_FLIP
|
||||
#define ACC_1_ALIGN CW0_DEG_FLIP
|
||||
#else
|
||||
#define GYRO_1_ALIGN CW180_DEG
|
||||
#define ACC_1_ALIGN CW180_DEG
|
||||
|
@ -113,12 +121,15 @@
|
|||
#define GYRO_2_EXTI_PIN NONE
|
||||
#define ACC_2_ALIGN ALIGN_DEFAULT
|
||||
|
||||
#if !defined(SYNERGYF4) //No mag sensor on SYNERGYF4
|
||||
#define USE_MAG
|
||||
#define USE_MAG_HMC5883
|
||||
#define USE_MAG_QMC5883
|
||||
#define USE_MAG_LIS3MDL
|
||||
#define MAG_HMC5883_ALIGN CW90_DEG
|
||||
#endif
|
||||
|
||||
#if !defined(SYNERGYF4) //No baro sensor on SYNERGYF4
|
||||
#define USE_BARO
|
||||
#if defined(OMNIBUSF4SD)
|
||||
#define USE_BARO_SPI_BMP280
|
||||
|
@ -135,6 +146,7 @@
|
|||
#else
|
||||
#define DEFAULT_BARO_BMP280
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define USE_MAX7456
|
||||
#define MAX7456_SPI_INSTANCE SPI3
|
||||
|
@ -278,7 +290,11 @@
|
|||
#define RANGEFINDER_HCSR04_ECHO_PIN PA8
|
||||
#define USE_RANGEFINDER_TF
|
||||
|
||||
#if defined(SYNERGYF4)
|
||||
#define DEFAULT_FEATURES (FEATURE_LED_STRIP | FEATURE_OSD | FEATURE_AIRMODE)
|
||||
#else
|
||||
#define DEFAULT_FEATURES (FEATURE_OSD)
|
||||
#endif
|
||||
|
||||
#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC
|
||||
#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC
|
||||
|
@ -295,3 +311,8 @@
|
|||
#define USABLE_TIMER_CHANNEL_COUNT 14
|
||||
#define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(5) | TIM_N(8) | TIM_N(12) )
|
||||
#endif
|
||||
#if defined(SYNERGYF4)
|
||||
#define USE_PINIO
|
||||
#define PINIO1_PIN PB15 // VTX power switcher
|
||||
#define USE_PINIOBOX
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue