add checkbox for racing mode

This commit is contained in:
WismyYao
2021-01-30 15:15:29 +08:00
parent 744bcab0b9
commit baa63a5424
17 changed files with 68 additions and 2 deletions
+12
View File
@@ -92,6 +92,7 @@ enum MenuModelSetupItems {
ITEM_MODEL_SETUP_INTERNAL_MODULE_SYNCSTATUS,
#endif
ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS,
ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_MODEL_NUM,
ITEM_MODEL_SETUP_INTERNAL_MODULE_OPTIONS,
@@ -323,6 +324,7 @@ void onBluetoothConnectMenu(const char * result)
MULTIMODULE_SUBTYPE_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_SUBTYPE */ \
MULTIMODULE_STATUS_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_STATUS, ITEM_MODEL_SETUP_INTERNAL_MODULE_SYNCSTATUS */ \
MODULE_CHANNELS_ROWS(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS */ \
IF_ALLOW_RACING_MODE(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE */ \
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, MODULE_BIND_ROWS(INTERNAL_MODULE)), /* *ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE */\
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_MODEL_NUM */ \
MODULE_OPTION_ROW(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_OPTIONS */ \
@@ -1230,6 +1232,16 @@ void menuModelSetup(event_t event)
break;
}
#if defined(HARDWARE_INTERNAL_MODULE)
case ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE:
{
ModuleData & moduleData = g_model.moduleData[moduleIdx];
lcdDrawTextAlignedLeft(y, STR_RACING_MODE);
moduleState[moduleIdx].racingMode = editCheckBox(moduleState[moduleIdx].racingMode, MODEL_SETUP_2ND_COLUMN, y, "", attr, event);
break;
}
#endif
#if defined(PCBX7) || defined(PCBX9LITE) || defined(PCBXLITE)
case ITEM_MODEL_SETUP_TRAINER_PPM_PARAMS:
lcdDrawTextAlignedLeft(y, STR_PPMFRAME);
+11
View File
@@ -87,6 +87,7 @@ enum MenuModelSetupItems {
ITEM_MODEL_SETUP_INTERNAL_MODULE_LABEL,
ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS,
ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_MODEL_NUM,
ITEM_MODEL_SETUP_INTERNAL_MODULE_FAILSAFE,
@@ -362,6 +363,7 @@ void menuModelSetup(event_t event)
LABEL(InternalModule),
INTERNAL_MODULE_TYPE_ROWS,
MODULE_CHANNELS_ROWS(INTERNAL_MODULE),
IF_ALLOW_RACING_MODE(INTERNAL_MODULE),
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, MODULE_BIND_ROWS(INTERNAL_MODULE)), // RxNum, [Bind] and [Range] buttons
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), // RxNum for ACCESS
IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)), // Failsafe
@@ -1098,6 +1100,15 @@ void menuModelSetup(event_t event)
break;
}
case ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE:
{
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
ModuleData & moduleData = g_model.moduleData[moduleIdx];
lcdDrawTextAlignedLeft(y, STR_RACING_MODE);
moduleState[moduleIdx].racingMode = editCheckBox(moduleState[moduleIdx].racingMode, MODEL_SETUP_2ND_COLUMN, y, "", attr, event);
break;
}
case ITEM_MODEL_SETUP_TRAINER_PPM_PARAMS:
lcdDrawTextAlignedLeft(y, STR_PPMFRAME);
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)g_model.trainerData.frameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT);
+19
View File
@@ -75,6 +75,7 @@ enum MenuModelSetupItems {
ITEM_MODEL_SETUP_INTERNAL_MODULE_SYNCSTATUS,
#endif
ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS,
ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE,
ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_MODEL_NUM,
ITEM_MODEL_SETUP_INTERNAL_MODULE_OPTIONS,
@@ -577,7 +578,12 @@ void onModelAntennaSwitchConfirm(const char * result)
MODULE_TYPE_ROWS(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE*/ \
MULTIMODULE_STATUS_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_STATUS, ITEM_MODEL_SETUP_INTERNAL_MODULE_SYNCSTATUS */ \
MODULE_CHANNELS_ROWS(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_CHANNELS*/ \
<<<<<<< HEAD
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, MODULE_BIND_ROWS(INTERNAL_MODULE)), /* *ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE */\
=======
IF_ALLOW_RACING_MODE(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE */ \
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(IF_INTERNAL_MODULE_ON(isModuleRxNumAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1))), /* *ITEM_MODEL_SETUP_INTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE */\
>>>>>>> 4b08d4bdeb2f13c57794ec8225bfa5b9a6ad06c9
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_MODEL_NUM*/ \
MODULE_OPTION_ROW(INTERNAL_MODULE), /* ITEM_MODEL_SETUP_INTERNAL_MODULE_OPTIONS */ \
MULTIMODULE_MODULE_ROWS(INTERNAL_MODULE) /* ITEM_MODEL_SETUP_INTERNAL_MODULE_AUTOBIND */ \
@@ -1248,6 +1254,19 @@ bool menuModelSetup(event_t event)
break;
}
<<<<<<< HEAD
=======
#if defined(HARDWARE_INTERNAL_MODULE)
case ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE:
{
ModuleData & moduleData = g_model.moduleData[moduleIdx];
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RACING_MODE);
moduleState[moduleIdx].racingMode = editCheckBox(moduleState[moduleIdx].racingMode, MODEL_SETUP_2ND_COLUMN, y, "", attr, event);
break;
}
#endif
>>>>>>> 4b08d4bdeb2f13c57794ec8225bfa5b9a6ad06c9
case ITEM_MODEL_SETUP_TRAINER_LABEL:
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_TRAINER);
break;
+13 -1
View File
@@ -186,12 +186,24 @@ inline uint8_t MODULE_CHANNELS_ROWS(int moduleIdx)
inline bool isRacingModeAllowed()
{
if (isModulePXX2(INTERNAL_MODULE) && 0 == g_model.moduleData[INTERNAL_MODULE].channelsCount)
if (isModulePXX2(INTERNAL_MODULE) && 0 == g_model.moduleData[INTERNAL_MODULE].channelsCount && moduleState[INTERNAL_MODULE].racingMode)
return true;
else
return false;
}
inline uint8_t IF_ALLOW_RACING_MODE(int moduleIdx)
{
if (!IS_MODULE_ENABLED(moduleIdx)) {
return HIDDEN_ROW;
}
else if (isModulePXX2(moduleIdx)) {
if (0 == g_model.moduleData[moduleIdx].channelsCount)
return 1;
}
return HIDDEN_ROW;
}
#if defined(MULTIMODULE)
inline uint8_t MULTI_DISABLE_CHAN_MAP_ROW(uint8_t moduleIdx)
{
+1
View File
@@ -831,3 +831,4 @@ const char STR_ABOUT_PARENTS_4[] = TR_ABOUT_PARENTS_4;
const char STR_AUTH_FAILURE[] = TR_AUTH_FAILURE;
const char STR_PROTOCOL[] = TR_PROTOCOL;
const char STR_RACING_MODE[] = TR_RACING_MODE;
+1
View File
@@ -966,6 +966,7 @@ extern const char STR_ABOUT_PARENTS_4[];
extern const char STR_AUTH_FAILURE[];
extern const char STR_PROTOCOL[];
extern const char STR_RACING_MODE[];
#define CHR_HOUR TR_CHR_HOUR
#define CHR_INPUT TR_CHR_INPUT
+1
View File
@@ -1225,6 +1225,7 @@
#define TR_JITTER_FILTER "ADC Filtr"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1231,6 +1231,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
// ----------------------------------------------------------------
#define ZSTR_VFR "VFR"
+1
View File
@@ -1229,6 +1229,7 @@
#define TR_JITTER_FILTER "ADC filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1228,6 +1228,7 @@
#define TR_JITTER_FILTER "Filtro ADC"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltaje")
#define TR_AUTH_FAILURE "Fallo " LCDW_128_480_LINEBREAK "autentificación"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1237,6 +1237,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1253,6 +1253,7 @@
#define TR_JITTER_FILTER "Filtre ADC"
#define TR_RTC_CHECK TR("Vérif. RTC", "Vérif. pile RTC")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1246,6 +1246,7 @@
#define TR_JITTER_FILTER "Filtro ADC"
#define TR_RTC_CHECK TR("Controllo RTC", "Controllo volt. RTC")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1238,6 +1238,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1
View File
@@ -1245,6 +1245,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
+1 -1
View File
@@ -1245,7 +1245,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
+1
View File
@@ -1245,6 +1245,7 @@
#define TR_JITTER_FILTER "ADC Filter"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define TR_AUTH_FAILURE "Auth-failure"
#define TR_RACING_MODE INDENT "Racing mode"
#define ZSTR_VFR "VFR"
#define ZSTR_RSSI "RSSI"