diff --git a/src/main/config/config.c b/src/main/config/config.c index 6f0b95275..46f0f669b 100755 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -73,6 +73,10 @@ #include "config/config_profile.h" #include "config/config_master.h" +#ifndef DEFAULT_RX_FEATURE +#define DEFAULT_RX_FEATURE FEATURE_RX_PARALLEL_PWM +#endif + #define BRUSHED_MOTORS_PWM_RATE 16000 #define BRUSHLESS_MOTORS_PWM_RATE 400 @@ -382,25 +386,20 @@ static void resetConf(void) memset(&masterConfig, 0, sizeof(master_t)); setProfile(0); - masterConfig.version = EEPROM_CONF_VERSION; - masterConfig.mixerMode = MIXER_QUADX; featureClearAll(); -#if defined(CJMCU) || defined(SPARKY) || defined(COLIBRI_RACE) || defined(MOTOLAB) || defined(SPRACINGF3MINI) || defined(LUX_RACE) || defined(DOGE) || defined(SINGULARITY) || defined(FURYF3) - featureSet(FEATURE_RX_PPM); + featureSet(DEFAULT_RX_FEATURE | FEATURE_FAILSAFE | FEATURE_SUPEREXPO_RATES); +#ifdef DEFAULT_FEATURES + featureSet(DEFAULT_FEATURES); #endif -//#if defined(SPRACINGF3MINI) -// featureSet(FEATURE_DISPLAY); -//#endif - #ifdef BOARD_HAS_VOLTAGE_DIVIDER // only enable the VBAT feature by default if the board has a voltage divider otherwise // the user may see incorrect readings and unexpected issues with pin mappings may occur. featureSet(FEATURE_VBAT); #endif - featureSet(FEATURE_FAILSAFE); - featureSet(FEATURE_SUPEREXPO_RATES); + masterConfig.version = EEPROM_CONF_VERSION; + masterConfig.mixerMode = MIXER_QUADX; // global settings masterConfig.current_profile_index = 0; // default profile @@ -574,7 +573,6 @@ static void resetConf(void) #endif #ifdef SPRACINGF3 - featureSet(FEATURE_BLACKBOX); masterConfig.blackbox_device = 1; #ifdef TRANSPONDER static const uint8_t defaultTransponderData[6] = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC }; // Note, this is NOT a valid transponder code, it's just for testing production hardware @@ -597,7 +595,6 @@ static void resetConf(void) #endif #if defined(FURYF3) - featureSet(FEATURE_BLACKBOX); masterConfig.blackbox_device = 2; masterConfig.blackbox_rate_num = 1; masterConfig.blackbox_rate_denom = 1; @@ -609,16 +606,6 @@ static void resetConf(void) masterConfig.escAndServoConfig.maxthrottle = 1980; masterConfig.batteryConfig.vbatmaxcellvoltage = 45; masterConfig.batteryConfig.vbatmincellvoltage = 30; - - featureSet(FEATURE_VBAT); - featureSet(FEATURE_FAILSAFE); -#endif - -#ifdef SPRACINGF3EVO - featureSet(FEATURE_TRANSPONDER); - featureSet(FEATURE_RSSI_ADC); - featureSet(FEATURE_CURRENT_METER); - featureSet(FEATURE_TELEMETRY); #endif // alternative defaults settings for ALIENFLIGHTF1 and ALIENFLIGHTF3 targets @@ -699,14 +686,12 @@ static void resetConf(void) // alternative defaults settings for SINGULARITY target #if defined(SINGULARITY) - featureSet(FEATURE_BLACKBOX); masterConfig.blackbox_device = 1; masterConfig.blackbox_rate_num = 1; masterConfig.blackbox_rate_denom = 1; masterConfig.batteryConfig.vbatscale = 77; - featureSet(FEATURE_RX_SERIAL); masterConfig.serialConfig.portConfigs[2].functionMask = FUNCTION_RX_SERIAL; #endif @@ -823,7 +808,7 @@ void activateConfig(void) void validateAndFixConfig(void) { if (!(featureConfigured(FEATURE_RX_PARALLEL_PWM) || featureConfigured(FEATURE_RX_PPM) || featureConfigured(FEATURE_RX_SERIAL) || featureConfigured(FEATURE_RX_MSP))) { - featureSet(FEATURE_RX_PARALLEL_PWM); // Consider changing the default to PPM + featureSet(FEATURE_RX_PARALLEL_PWM); } if (featureConfigured(FEATURE_RX_PPM)) { diff --git a/src/main/target/ALIENFLIGHTF3/target.h b/src/main/target/ALIENFLIGHTF3/target.h index 79365c62e..144ba1f7d 100644 --- a/src/main/target/ALIENFLIGHTF3/target.h +++ b/src/main/target/ALIENFLIGHTF3/target.h @@ -157,6 +157,7 @@ //#define DISPLAY #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define SPEKTRUM_BIND // USART2, PA3 diff --git a/src/main/target/CC3D/target.h b/src/main/target/CC3D/target.h index ca94199b8..3f6b753b5 100644 --- a/src/main/target/CC3D/target.h +++ b/src/main/target/CC3D/target.h @@ -128,6 +128,7 @@ #define SERIAL_RX #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define SONAR //#define GPS diff --git a/src/main/target/CJMCU/target.h b/src/main/target/CJMCU/target.h index cf32393b4..cd9cb1912 100644 --- a/src/main/target/CJMCU/target.h +++ b/src/main/target/CJMCU/target.h @@ -60,6 +60,7 @@ #define SERIAL_RX //#define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define SPEKTRUM_BIND // USART2, PA3 diff --git a/src/main/target/COLIBRI_RACE/target.h b/src/main/target/COLIBRI_RACE/target.h index 92edd4fea..d95a9cc48 100755 --- a/src/main/target/COLIBRI_RACE/target.h +++ b/src/main/target/COLIBRI_RACE/target.h @@ -192,5 +192,6 @@ #define SERIAL_RX #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define USE_SERIAL_4WAY_BLHELI_INTERFACE diff --git a/src/main/target/DOGE/target.h b/src/main/target/DOGE/target.h index 008557d33..fa18385a8 100644 --- a/src/main/target/DOGE/target.h +++ b/src/main/target/DOGE/target.h @@ -190,6 +190,7 @@ #define SERIAL_RX #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define SPEKTRUM_BIND // Use UART3 for speksat diff --git a/src/main/target/FURYF3/target.h b/src/main/target/FURYF3/target.h index 0fbe17c57..99d7340d7 100644 --- a/src/main/target/FURYF3/target.h +++ b/src/main/target/FURYF3/target.h @@ -212,6 +212,8 @@ #define USE_SERVOS #define USE_CLI #define SONAR +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM +#define DEFAULT_FEATURES FEATURE_BLACKBOX #define SPEKTRUM_BIND // USART3, diff --git a/src/main/target/LUX_RACE/target.h b/src/main/target/LUX_RACE/target.h index a3b370df7..2d04a2fee 100644 --- a/src/main/target/LUX_RACE/target.h +++ b/src/main/target/LUX_RACE/target.h @@ -154,6 +154,7 @@ #define TELEMETRY #define SERIAL_RX +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define USE_SERVOS #define USE_CLI diff --git a/src/main/target/MOTOLAB/target.h b/src/main/target/MOTOLAB/target.h index 9f168587f..23e54ab3b 100644 --- a/src/main/target/MOTOLAB/target.h +++ b/src/main/target/MOTOLAB/target.h @@ -121,6 +121,7 @@ #define TELEMETRY #define BLACKBOX #define SERIAL_RX +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM //#define GPS //#define GTUNE #define DISPLAY diff --git a/src/main/target/SINGULARITY/target.h b/src/main/target/SINGULARITY/target.h index 54d182444..fbc58bae3 100644 --- a/src/main/target/SINGULARITY/target.h +++ b/src/main/target/SINGULARITY/target.h @@ -127,6 +127,8 @@ #define GPS #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM +#define DEFAULT_FEATURES (FEATURE_BLACKBOX | FEATURE_RX_SERIAL) #define SPEKTRUM_BIND // USART2, PA15 diff --git a/src/main/target/SPARKY/target.h b/src/main/target/SPARKY/target.h index 8ff56c86c..5e69ef108 100644 --- a/src/main/target/SPARKY/target.h +++ b/src/main/target/SPARKY/target.h @@ -126,6 +126,7 @@ #define TELEMETRY #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define LED_STRIP #if 1 diff --git a/src/main/target/SPRACINGF3/target.h b/src/main/target/SPRACINGF3/target.h index c5a0e5265..0e0ede72c 100644 --- a/src/main/target/SPRACINGF3/target.h +++ b/src/main/target/SPRACINGF3/target.h @@ -158,6 +158,9 @@ #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM +#define DEFAULT_FEATURES FEATURE_BLACKBOX + #define SPEKTRUM_BIND // USART3, #define BIND_PORT GPIOB diff --git a/src/main/target/SPRACINGF3EVO/target.h b/src/main/target/SPRACINGF3EVO/target.h index 4586dbc2d..73ea225dc 100755 --- a/src/main/target/SPRACINGF3EVO/target.h +++ b/src/main/target/SPRACINGF3EVO/target.h @@ -206,8 +206,6 @@ #define TRANSPONDER_DMA_TC_FLAG DMA1_FLAG_TC2 #define TRANSPONDER_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER -#define DEFAULT_RX_FEATURE FEATURE_RX_PPM - #define GPS #define BLACKBOX #define ENABLE_BLACKBOX_LOGGING_ON_SDCARD_BY_DEFAULT @@ -217,6 +215,9 @@ #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM +#define DEFAULT_FEATURES (FEATURE_TRANSPONDER | FEATURE_RSSI_ADC | FEATURE_CURRENT_METER | FEATURE_TELEMETRY) + #define SPEKTRUM_BIND // USART3, #define BIND_PORT GPIOB diff --git a/src/main/target/SPRACINGF3MINI/target.h b/src/main/target/SPRACINGF3MINI/target.h index 5459d4f9a..6151d3549 100644 --- a/src/main/target/SPRACINGF3MINI/target.h +++ b/src/main/target/SPRACINGF3MINI/target.h @@ -212,10 +212,10 @@ #define ENABLE_BLACKBOX_LOGGING_ON_SDCARD_BY_DEFAULT #define TELEMETRY #define SERIAL_RX -#define AUTOTUNE #define DISPLAY #define USE_SERVOS #define USE_CLI +#define DEFAULT_RX_FEATURE FEATURE_RX_PPM #define BUTTONS #define BUTTON_A_PORT GPIOB