diff --git a/src/myeeprom.h b/src/myeeprom.h index 0877e3e93..91ed6d2c3 100644 --- a/src/myeeprom.h +++ b/src/myeeprom.h @@ -100,6 +100,35 @@ enum BeeperMode { #define EXTRA_ARM_FIELDS #endif +#if defined(FRSKY) +#define FRSKY_OPTION 0x01 +#else +#define FRSKY_OPTION 0x00 +#endif +#if defined(HAPTIC) +#define HAPTIC_OPTION 0x02 +#else +#define HAPTIC_OPTION 0x00 +#endif +#if defined(DEBUG) +#define DEBUG_OPTION 0x04 +#else +#define DEBUG_OPTION 0x00 +#endif + +#if defined(PXX) +#define PXX_OPTION 0x10 +#else +#define PXX_OPTION 0x00 +#endif +#if defined(DSM2) +#define DSM2_OPTION 0x20 +#else +#define DSM2_OPTION 0x00 +#endif + +#define FW_OPTIONS (FRSKY_OPTION|HAPTIC_OPTION|DEBUG_OPTION|PXX_OPTION|DSM2_OPTION) + #define ALTERNATE_VIEW 0x10 PACK(typedef struct t_EEGeneral { uint8_t myVers; @@ -145,6 +174,8 @@ PACK(typedef struct t_EEGeneral { EXTRA_ARM_FIELDS + uint8_t fwOptions; + }) EEGeneral; // eeprom modelspec @@ -511,8 +542,12 @@ enum Protocols { PROTO_PPM, PROTO_PPM16, PROTO_PPMSIM, +#if defined(PXX) PROTO_PXX, +#endif +#if defined(DSM2) PROTO_DSM2, +#endif PROTO_MAX }; diff --git a/src/open9x.cpp b/src/open9x.cpp index 4e57f4f04..ed34ab338 100644 --- a/src/open9x.cpp +++ b/src/open9x.cpp @@ -135,6 +135,7 @@ void generalDefault() memset(&g_eeGeneral, 0, sizeof(g_eeGeneral)); g_eeGeneral.lightSw = SWITCH_ON; g_eeGeneral.myVers = EEPROM_VER; + g_eeGeneral.fwOptions = FW_OPTIONS; g_eeGeneral.contrast = 25; g_eeGeneral.vBatWarn = 90; for (int i = 0; i < 7; ++i) { @@ -2570,8 +2571,10 @@ int main(void) #endif { #ifdef SPLASH +#ifdef DSM2 // TODO rather use another Model Parameter if (g_model.protocol != PROTO_DSM2) +#endif doSplash(); #endif diff --git a/src/translations/en.h b/src/translations/en.h index 096c1e4fe..3c3da0e15 100644 --- a/src/translations/en.h +++ b/src/translations/en.h @@ -47,7 +47,17 @@ #endif #define LEN_VPROTOS "\006" -#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim""PXX\0 ""DSM2\0 " +#ifdef PXX +#define TR_PXX "PXX\0 " +#else +#define TR_PXX +#endif +#ifdef DSM2 +#define TR_DSM2 "DSM2\0 " +#else +#define TR_DSM2 +#endif +#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim" TR_PXX TR_DSM2 #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" diff --git a/src/translations/fr.h b/src/translations/fr.h index 65a01804e..6cb58e61b 100644 --- a/src/translations/fr.h +++ b/src/translations/fr.h @@ -47,7 +47,17 @@ #endif #define LEN_VPROTOS "\006" -#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim""PXX\0 ""DSM2\0 " +#ifdef PXX +#define TR_PXX "PXX\0 " +#else +#define TR_PXX +#endif +#ifdef DSM2 +#define TR_DSM2 "DSM2\0 " +#else +#define TR_DSM2 +#endif +#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim" TR_PXX TR_DSM2 #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" diff --git a/src/translations/se.h b/src/translations/se.h index ac434119d..2a808aebc 100644 --- a/src/translations/se.h +++ b/src/translations/se.h @@ -47,7 +47,17 @@ #endif #define LEN_VPROTOS "\006" -#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim""PXX\0 ""DSM2\0 " +#ifdef PXX +#define TR_PXX "PXX\0 " +#else +#define TR_PXX +#endif +#ifdef DSM2 +#define TR_DSM2 "DSM2\0 " +#else +#define TR_DSM2 +#endif +#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim" TR_PXX TR_DSM2 #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG"