1
0
Fork 0
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:
Michael Keller 2019-04-03 23:44:51 +13:00 committed by GitHub
commit d0d99f68a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 224 additions and 0 deletions

View file

@ -0,0 +1 @@
#SYNERGYF4

View file

@ -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

View file

@ -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
};

View file

@ -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