diff --git a/radio/src/gui/taranis/menu_model_setup.cpp b/radio/src/gui/taranis/menu_model_setup.cpp index 7e10819f8..b06844a9c 100644 --- a/radio/src/gui/taranis/menu_model_setup.cpp +++ b/radio/src/gui/taranis/menu_model_setup.cpp @@ -945,13 +945,17 @@ void menuModelSetup(uint8_t event) case MM_RF_PROTO_HUBSAN: lcd_putsLeft(y, STR_MULTI_VIDFREQ); break; + case MM_RF_PROTO_DSM2: + g_model.moduleData[moduleIdx].multi.optionValue = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_DSMFRAME, STR_OPTIONS_DSM, g_model.moduleData[moduleIdx].multi.optionValue, 0, 12, attr, event); + break; default: lcd_putsLeft(y, STR_MULTI_OPTION); break; } - lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT|attr); - if (attr) - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); + if (g_model.moduleData[moduleIdx].multi.rfProtocol != MM_RF_PROTO_DSM2) { + lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT | attr); + if (attr) + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); } } #endif @@ -961,7 +965,6 @@ void menuModelSetup(uint8_t event) case ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND: g_model.moduleData[EXTERNAL_MODULE].multi.autoBindMode = editCheckBox(g_model.moduleData[EXTERNAL_MODULE].multi.autoBindMode, MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_AUTOBIND, attr, event); break; - case ITEM_MODEL_EXTERNAL_MODULE_LOWPOWER: g_model.moduleData[EXTERNAL_MODULE].multi.lowPowerMode = editCheckBox(g_model.moduleData[EXTERNAL_MODULE].multi.lowPowerMode, MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_LOWPOWER, attr, event); break; diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 3467653b8..391487fd2 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -118,6 +118,7 @@ const pm_char STR_OPEN9X[] PROGMEM = ISTR(SUBTYPE_KN) ISTR(SUBTYPE_MT99) ISTR(SUBTYPE_MJXQ) + ISTR(OPTIONS_DSM) #endif ISTR(VOLTSRC) ISTR(CURVE_TYPES) @@ -453,6 +454,7 @@ const pm_char STR_MULTI_VIDFREQ[] PROGMEM = TR_MULTI_VIDFREQ; const pm_char STR_MULTI_OPTION[] PROGMEM = TR_MULTI_OPTION; const pm_char STR_MULTI_AUTOBIND[] PROGMEM = TR_MULTI_AUTOBIND; const pm_char STR_MULTI_LOWPOWER[] PROGMEM = TR_MULTI_LOWPOWER; +const pm_char STR_MULTI_DSMFRAME[] PROGMEM = TR_MULTI_DSMFRAME; #endif const pm_char STR_RESET_BTN[] PROGMEM = TR_RESET_BTN; diff --git a/radio/src/translations.h b/radio/src/translations.h index 0eadda25c..604f0da30 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -200,9 +200,10 @@ extern const pm_char STR_OPEN9X[]; #define OFS_SUBTYPE_KN (OFS_SUBTYPE_CG023 + sizeof(TR_SUBTYPE_CG023)) #define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN)) #define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99)) - #define OFS_VOLTSRC (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) + #define OFS_OPTIONS_DSM (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) + #define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM)) #else - #define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) + #define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) #endif #define OFS_CURVE_TYPES (OFS_VOLTSRC + sizeof(TR_VOLTSRC)) #define OFS_VSENSORTYPES (OFS_CURVE_TYPES + sizeof(TR_CURVE_TYPES)) @@ -329,9 +330,10 @@ extern const pm_char STR_OPEN9X[]; #define STR_SUBTYPE_KN (STR_OPEN9X + OFS_SUBTYPE_KN) #define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99) #define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ) + #define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM) #endif - #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES) - #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) + #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES) + #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) #define STR_VFORMULAS (STR_OPEN9X + OFS_VFORMULAS) #define STR_VPREC (STR_OPEN9X + OFS_VPREC) #define STR_VCELLINDEX (STR_OPEN9X + OFS_VCELLINDEX) @@ -562,6 +564,7 @@ extern const pm_char STR_MULTI_VIDFREQ[]; extern const pm_char STR_MULTI_RFTUNE[]; extern const pm_char STR_MULTI_AUTOBIND[]; extern const pm_char STR_MULTI_LOWPOWER[]; +extern const pm_char STR_MULTI_DSMFRAME[]; #endif #if defined(DSM2) || defined(PXX) extern const pm_char STR_RXNUM[]; @@ -1001,4 +1004,4 @@ extern const pm_char STR_BLCOLOR[]; #define CHR_HOUR TR_CHR_HOUR #define CHR_INPUT TR_CHR_INPUT -#endif // _TRANSLATIONS_H_ +#endif // _TRANSLATIONS_H_ diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index eb5bdff5a..1084b5a41 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -138,6 +138,9 @@ #define LEN_SUBTYPE_MJXQ "\005" #define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define LEN_OPTIONS_DSM "\011" +#define TR_OPTIONS_DSM " 4ch 22ms"" 5ch 22ms"" 6ch 22ms"" 7ch 22ms"" 4ch 11ms"" 5ch 11ms"" 6ch 11ms"" 7ch 11ms"" 8ch 22ms"" 9ch 22ms""10ch 22ms""11ch 22ms""12ch 22ms" + #define LEN_VTRIMINC TR("\006", "\013") #define TR_VTRIMINC TR("Expo\0 ""ExFine""Fine\0 ""Medium""Coarse", "Exponential""Extra Fine\0""Fine\0 ""Medium\0 ""Coarse\0 ") @@ -844,8 +847,9 @@ #endif #define TR_MULTI_RFTUNE INDENT "RF Freq. fine tune" #define TR_MULTI_VIDFREQ INDENT "Video frequency" +#define TR_MULTI_DSMFRAME INDENT "DSM frame format" #define TR_MULTI_OPTION INDENT "Option value" -#define TR_MULTI_AUTOBIND INDENT "Autobind on power up" +#define TR_MULTI_AUTOBIND INDENT "Autobind" #define TR_MULTI_LOWPOWER INDENT "Low power mode" #define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT "Limit"