chore(bw): tidy up Radio Setup menu (#4939)
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
@@ -426,7 +426,7 @@ void onBluetoothConnectMenu(const char * result)
|
||||
void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event)
|
||||
{
|
||||
TimerData & timer = g_model.timers[timerIdx];
|
||||
lcdDrawTextAlignedLeft(y, STR_BEEPCOUNTDOWN);
|
||||
lcdDrawTextIndented(y, STR_BEEPCOUNTDOWN);
|
||||
int value = timer.countdownBeep;
|
||||
if (timer.extraHaptic) value += (COUNTDOWN_VOICE + 1);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VBEEPCOUNTDOWN, value, (menuHorizontalPosition == 0 ? attr : 0));
|
||||
@@ -703,7 +703,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_TIMER2_START:
|
||||
case ITEM_MODEL_SETUP_TIMER3_START:
|
||||
{
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_START);
|
||||
lcdDrawTextIndented(y, STR_START);
|
||||
|
||||
TimerData *timer =
|
||||
&g_model.timers[k >= ITEM_MODEL_SETUP_TIMER3
|
||||
@@ -751,8 +751,8 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_TIMER3_NAME:
|
||||
{
|
||||
TimerData * timer = &g_model.timers[k>=ITEM_MODEL_SETUP_TIMER3 ? 2 : (k>=ITEM_MODEL_SETUP_TIMER2 ? 1 : 0)];
|
||||
editSingleName(MODEL_SETUP_2ND_COLUMN, y, INDENT TR_NAME, timer->name,
|
||||
sizeof(timer->name), event, attr, old_editMode);
|
||||
editSingleName(MODEL_SETUP_2ND_COLUMN, y, STR_NAME, timer->name,
|
||||
sizeof(timer->name), event, attr, old_editMode, INDENT_WIDTH);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -761,7 +761,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_TIMER3_MINUTE_BEEP:
|
||||
{
|
||||
TimerData * timer = &g_model.timers[k>=ITEM_MODEL_SETUP_TIMER3 ? 2 : (k>=ITEM_MODEL_SETUP_TIMER2 ? 1 : 0)];
|
||||
timer->minuteBeep = editCheckBox(timer->minuteBeep, MODEL_SETUP_2ND_COLUMN, y, INDENT TR_MINUTEBEEP, attr, event);
|
||||
timer->minuteBeep = editCheckBox(timer->minuteBeep, MODEL_SETUP_2ND_COLUMN, y, STR_MINUTEBEEP, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -778,7 +778,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_TIMER3_PERSISTENT:
|
||||
{
|
||||
TimerData * timer = &g_model.timers[k>=ITEM_MODEL_SETUP_TIMER3 ? 2 : (k>=ITEM_MODEL_SETUP_TIMER2 ? 1 : 0)];
|
||||
timer->persistent = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_PERSISTENT, STR_VPERSISTENT, timer->persistent, 0, 2, attr, event);
|
||||
timer->persistent = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_PERSISTENT, STR_VPERSISTENT, timer->persistent, 0, 2, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
}
|
||||
#if defined(FUNCTION_SWITCHES)
|
||||
@@ -832,7 +832,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_FS_STARTUP:
|
||||
{
|
||||
const char* s;
|
||||
lcdDrawText(0, y, INDENT "Start", menuHorizontalPosition < 0 ? attr : 0);
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_START, menuHorizontalPosition < 0 ? attr : 0);
|
||||
for (uint8_t i = 0; i < NUM_FUNCTIONS_SWITCHES; i++) {
|
||||
uint8_t startPos = (g_model.functionSwitchStartConfig >> 2 * i) & 0x03;
|
||||
s = _fct_sw_start[(g_model.functionSwitchStartConfig >> 2 * i) & 0x03];
|
||||
@@ -883,13 +883,12 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_THROTTLE_REVERSED:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_THROTTLEREVERSE);
|
||||
g_model.throttleReversed = editCheckBox(g_model.throttleReversed, MODEL_SETUP_2ND_COLUMN+20, y, nullptr, attr, event );
|
||||
g_model.throttleReversed = editCheckBox(g_model.throttleReversed, MODEL_SETUP_2ND_COLUMN+20, y, STR_THROTTLEREVERSE, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_THROTTLE_TRACE:
|
||||
{
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_TTRACE);
|
||||
lcdDrawTextIndented(y, STR_TTRACE);
|
||||
if (attr)
|
||||
CHECK_INCDEC_MODELVAR_ZERO_CHECK(
|
||||
event, g_model.thrTraceSrc,
|
||||
@@ -902,12 +901,11 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
|
||||
case ITEM_MODEL_SETUP_THROTTLE_TRIM:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_TTRIM);
|
||||
g_model.thrTrim = editCheckBox(g_model.thrTrim, MODEL_SETUP_2ND_COLUMN+20, y, nullptr, attr, event);
|
||||
g_model.thrTrim = editCheckBox(g_model.thrTrim, MODEL_SETUP_2ND_COLUMN+20, y, STR_TTRIM, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_THROTTLE_TRIM_SWITCH:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_TTRIM_SW);
|
||||
lcdDrawTextIndented(y, STR_TTRIM_SW);
|
||||
if (attr)
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, g_model.thrTrimSw, keysGetMaxTrims() - 1);
|
||||
drawSource(MODEL_SETUP_2ND_COLUMN+20, y, g_model.getThrottleStickTrimSource(), attr);
|
||||
@@ -918,19 +916,19 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_CHECKLIST_DISPLAY:
|
||||
g_model.displayChecklist = editCheckBox(g_model.displayChecklist, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST, attr, event);
|
||||
g_model.displayChecklist = editCheckBox(g_model.displayChecklist, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_CHECKLIST_INTERACTIVE:
|
||||
g_model.checklistInteractive = editCheckBox(g_model.checklistInteractive, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST_INTERACTIVE, attr, event);
|
||||
g_model.checklistInteractive = editCheckBox(g_model.checklistInteractive, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST_INTERACTIVE, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_THROTTLE_WARNING:
|
||||
g_model.disableThrottleWarning = !editCheckBox(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLE_WARNING, attr, event);
|
||||
g_model.disableThrottleWarning = !editCheckBox(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLE_WARNING, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING:
|
||||
g_model.enableCustomThrottleWarning = editCheckBox(g_model.enableCustomThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_CUSTOM_THROTTLE_WARNING, attr, event);
|
||||
g_model.enableCustomThrottleWarning = editCheckBox(g_model.enableCustomThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_CUSTOM_THROTTLE_WARNING, attr, event, INDENT_WIDTH*4);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_CUSTOM_THROTTLE_WARNING_VALUE:
|
||||
@@ -970,7 +968,7 @@ void menuModelSetup(event_t event)
|
||||
|
||||
swarnstate_t states = g_model.switchWarning;
|
||||
|
||||
lcdDrawTextAlignedLeft(y, STR_SWITCHWARNING);
|
||||
lcdDrawTextIndented(y, STR_SWITCHWARNING);
|
||||
#if defined(PCBXLITE)
|
||||
lcdDrawText(LCD_W, y, "<]", RIGHT);
|
||||
if (attr) {
|
||||
@@ -1045,7 +1043,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
|
||||
case ITEM_MODEL_SETUP_POTS_WARNING:
|
||||
lcdDrawTextAlignedLeft(y, STR_POTWARNING);
|
||||
lcdDrawTextIndented(y, STR_POTWARNING);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_PREFLIGHT_POTSLIDER_CHECK, g_model.potsWarnMode, (menuHorizontalPosition == 0) ? attr : 0);
|
||||
if (attr && (menuHorizontalPosition == 0)) {
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.potsWarnMode, POTS_WARN_OFF, POTS_WARN_AUTO);
|
||||
@@ -1145,7 +1143,7 @@ void menuModelSetup(event_t event)
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_TYPE:
|
||||
#endif
|
||||
lcdDrawTextAlignedLeft(y, INDENT TR_MODE);
|
||||
lcdDrawTextIndented(y, STR_MODE);
|
||||
lcdDrawTextAtIndex(
|
||||
MODEL_SETUP_2ND_COLUMN, y,
|
||||
STR_MODULE_PROTOCOLS,
|
||||
@@ -1301,7 +1299,7 @@ void menuModelSetup(event_t event)
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE) && (defined(CROSSFIRE) || defined(GHOST))
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_BAUDRATE: {
|
||||
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_BAUDRATE);
|
||||
lcdDrawTextIndented(y, STR_BAUDRATE);
|
||||
if (isModuleCrossfire(EXTERNAL_MODULE)) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_CRSF_BAUDRATE, CROSSFIRE_STORE_TO_INDEX(moduleData.crsf.telemetryBaudrate),attr | LEFT);
|
||||
if (attr) {
|
||||
@@ -1332,7 +1330,7 @@ void menuModelSetup(event_t event)
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_SERIALSTATUS:
|
||||
#endif
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_STATUS);
|
||||
lcdDrawTextIndented(y, STR_STATUS);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 1000000 / getMixerSchedulerPeriod(), LEFT | attr);
|
||||
lcdDrawText(lcdNextPos, y, "Hz ", attr);
|
||||
// lcdDrawNumber(lcdNextPos, y, telemetryErrors, attr);
|
||||
@@ -1356,7 +1354,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_PROTOCOL:
|
||||
#endif
|
||||
{
|
||||
lcdDrawTextAlignedLeft(y, TR_TYPE);
|
||||
lcdDrawTextIndented(y, STR_TYPE);
|
||||
int multi_rfProto = g_model.moduleData[moduleIdx].multi.rfProtocol;
|
||||
lcdDrawMultiProtocolString(MODEL_SETUP_2ND_COLUMN, y, moduleIdx, multi_rfProto, attr);
|
||||
if (attr) {
|
||||
@@ -1390,7 +1388,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_SUBTYPE:
|
||||
#endif
|
||||
{
|
||||
lcdDrawTextAlignedLeft(y, STR_SUBTYPE);
|
||||
lcdDrawTextIndented(y, STR_SUBTYPE);
|
||||
lcdDrawMultiSubProtocolString(MODEL_SETUP_2ND_COLUMN, y, moduleIdx, g_model.moduleData[moduleIdx].subType, menuHorizontalPosition == 0 ? attr : 0);
|
||||
int8_t optionValue = (g_model.moduleData[moduleIdx].multi.optionValue & 0x04) >> 2;
|
||||
if (isMultiProtocolDSMCloneAvailable(moduleIdx)) {
|
||||
@@ -1420,14 +1418,14 @@ void menuModelSetup(event_t event)
|
||||
|
||||
#if defined(AFHDS3) && defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS_PROTOCOL:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_PROTOCOL);
|
||||
lcdDrawTextIndented(y, STR_PROTOCOL);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||
if (attr && s_editMode > 0 && menuHorizontalPosition == 0) {
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].subType, AFHDS_SUBTYPE_FIRST, AFHDS_SUBTYPE_LAST);
|
||||
}
|
||||
break;
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_MODE:
|
||||
lcdDrawText(INDENT_WIDTH, y, TR_TELEMETRY_TYPE);
|
||||
lcdDrawTextIndented(y, TR_TELEMETRY_TYPE);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y,
|
||||
g_model.moduleData[EXTERNAL_MODULE].afhds3.telemetry ? STR_AFHDS3_ONE_TO_ONE_TELEMETRY : TR_AFHDS3_ONE_TO_MANY);
|
||||
break;
|
||||
@@ -1439,7 +1437,7 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_TRAINER_MODE:
|
||||
lcdDrawTextAlignedLeft(y, INDENT TR_MODE);
|
||||
lcdDrawTextIndented(y, STR_MODE);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VTRAINERMODES, g_model.trainerData.mode, attr);
|
||||
if (attr) {
|
||||
g_model.trainerData.mode = checkIncDec(event, g_model.trainerData.mode, TRAINER_MODE_MIN(), TRAINER_MODE_MAX(), EE_MODEL, isTrainerModeAvailable);
|
||||
@@ -1468,7 +1466,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcdDrawText(INDENT_WIDTH, y, "---");
|
||||
lcdDrawTextIndented(y, "---");
|
||||
if (bluetooth.state < BLUETOOTH_STATE_IDLE)
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_BUTTON_INIT, attr);
|
||||
else
|
||||
@@ -1497,7 +1495,7 @@ void menuModelSetup(event_t event)
|
||||
if (bluetooth.distantAddr[0])
|
||||
lcdDrawText(INDENT_WIDTH, y+1, bluetooth.distantAddr, TINSIZE);
|
||||
else
|
||||
lcdDrawText(INDENT_WIDTH, y, "---");
|
||||
lcdDrawTextIndented(y, "---");
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, bluetooth.state == BLUETOOTH_STATE_CONNECTED ? STR_CONNECTED : STR_NOT_CONNECTED);
|
||||
}
|
||||
break;
|
||||
@@ -1505,7 +1503,7 @@ void menuModelSetup(event_t event)
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
case ITEM_MODEL_SETUP_TRAINER_CHANNELS:
|
||||
lcdDrawTextAlignedLeft(y, STR_CHANNELRANGE);
|
||||
lcdDrawTextIndented(y, STR_CHANNELRANGE);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_CH, menuHorizontalPosition==0 ? attr : 0);
|
||||
lcdDrawNumber(lcdLastRightPos, y, g_model.trainerData.channelsStart+1, LEFT | (menuHorizontalPosition==0 ? attr : 0));
|
||||
lcdDrawChar(lcdLastRightPos, y, '-');
|
||||
@@ -1533,7 +1531,7 @@ void menuModelSetup(event_t event)
|
||||
#endif
|
||||
{
|
||||
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||
lcdDrawTextAlignedLeft(y, STR_CHANNELRANGE);
|
||||
lcdDrawTextIndented(y, STR_CHANNELRANGE);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_CH, menuHorizontalPosition==0 ? attr : 0);
|
||||
lcdDrawNumber(lcdLastRightPos, y, moduleData.channelsStart+1, LEFT | (menuHorizontalPosition==0 ? attr : 0));
|
||||
lcdDrawChar(lcdLastRightPos, y, '-');
|
||||
@@ -1561,15 +1559,14 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_RACING_MODE:
|
||||
{
|
||||
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RACING_MODE);
|
||||
moduleData.pxx2.racingMode = editCheckBox(moduleData.pxx2.racingMode, MODEL_SETUP_2ND_COLUMN, y, "", attr, event);
|
||||
moduleData.pxx2.racingMode = editCheckBox(moduleData.pxx2.racingMode, MODEL_SETUP_2ND_COLUMN, y, STR_RACING_MODE, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PCBX7) || defined(PCBX9LITE) || defined(PCBXLITE)
|
||||
case ITEM_MODEL_SETUP_TRAINER_PPM_PARAMS:
|
||||
lcdDrawTextAlignedLeft(y, STR_PPMFRAME);
|
||||
lcdDrawTextIndented(y, STR_PPMFRAME);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+3*FW, y, STR_MS);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)g_model.trainerData.frameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT);
|
||||
lcdDrawChar(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, 'u');
|
||||
@@ -1605,7 +1602,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_PXX2_MODEL_NUM:
|
||||
#endif
|
||||
{
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER_NUM);
|
||||
lcdDrawTextIndented(y, STR_RECEIVER_NUM);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.header.modelId[moduleIdx], attr | LEADING0 | LEFT, 2);
|
||||
if (attr) {
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, g_model.header.modelId[moduleIdx], getMaxRxNum(moduleIdx));
|
||||
@@ -1621,7 +1618,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_PXX2_REGISTER_RANGE:
|
||||
#endif
|
||||
{
|
||||
lcdDrawTextAlignedLeft(y, INDENT TR_MODULE);
|
||||
lcdDrawTextIndented(y, STR_MODULE);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, BUTTON(TR_REGISTER), (menuHorizontalPosition == 0 ? attr : 0));
|
||||
lcdDrawText(lcdLastRightPos + 3, y, STR_MODULE_RANGE, (menuHorizontalPosition == 1 ? attr : 0));
|
||||
if (attr) {
|
||||
@@ -1648,7 +1645,7 @@ void menuModelSetup(event_t event)
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_PXX2_OPTIONS:
|
||||
#endif
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_OPTIONS);
|
||||
lcdDrawTextIndented(y, STR_OPTIONS);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_SET, attr);
|
||||
if (event == EVT_KEY_BREAK(KEY_ENTER) && attr) {
|
||||
g_moduleIdx = CURRENT_MODULE_EDITED(k);
|
||||
@@ -1677,7 +1674,7 @@ void menuModelSetup(event_t event)
|
||||
{
|
||||
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
||||
if (isModulePPM(moduleIdx)) {
|
||||
lcdDrawTextAlignedLeft(y, STR_PPMFRAME);
|
||||
lcdDrawTextIndented(y, STR_PPMFRAME);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+3*FW, y, STR_MS);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.ppm.frameLength*PPM_STEP_SIZE + PPM_DEF_PERIOD, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT);
|
||||
lcdDrawChar(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, 'u');
|
||||
@@ -1698,7 +1695,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
}
|
||||
else if (isModuleSBUS(moduleIdx)) {
|
||||
lcdDrawTextAlignedLeft(y, STR_REFRESHRATE);
|
||||
lcdDrawTextIndented(y, STR_REFRESHRATE);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)moduleData.sbus.refreshRate * SBUS_STEPSIZE + SBUS_DEF_PERIOD, (menuHorizontalPosition<=0 ? attr : 0) | PREC1|LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, STR_MS);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+5*FW+2, y, moduleData.sbus.noninverted ? STR_NOT_INVERTED : STR_NORMAL, (CURSOR_ON_LINE() || menuHorizontalPosition==1) ? attr : 0);
|
||||
@@ -1714,7 +1711,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER);
|
||||
lcdDrawTextIndented(y, STR_RECEIVER);
|
||||
horzpos_t l_posHorz = menuHorizontalPosition;
|
||||
coord_t bindButtonPos = MODEL_SETUP_2ND_COLUMN;
|
||||
if (isModuleRxNumAvailable(moduleIdx)) {
|
||||
@@ -1843,7 +1840,7 @@ void menuModelSetup(event_t event)
|
||||
#endif
|
||||
{
|
||||
ModuleData &moduleData = g_model.moduleData[moduleIdx];
|
||||
lcdDrawTextAlignedLeft(y, STR_FAILSAFE);
|
||||
lcdDrawTextIndented(y, STR_FAILSAFE);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_VFAILSAFE, moduleData.failsafeMode, menuHorizontalPosition == 0 ? attr : 0);
|
||||
if (moduleData.failsafeMode == FAILSAFE_CUSTOM)
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + MODEL_SETUP_SET_FAILSAFE_OFS, y, STR_SET, menuHorizontalPosition == 1 ? attr : 0);
|
||||
@@ -1880,9 +1877,9 @@ void menuModelSetup(event_t event)
|
||||
|
||||
#if defined(INTERNAL_MODULE_PXX1) && defined(EXTERNAL_ANTENNA)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_ANTENNA:
|
||||
reusableBuffer.moduleSetup.antennaMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, INDENT TR_ANTENNA, STR_ANTENNA_MODES,
|
||||
reusableBuffer.moduleSetup.antennaMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_ANTENNA, STR_ANTENNA_MODES,
|
||||
reusableBuffer.moduleSetup.antennaMode == ANTENNA_MODE_PER_MODEL ? ANTENNA_MODE_INTERNAL : reusableBuffer.moduleSetup.antennaMode,
|
||||
ANTENNA_MODE_INTERNAL, ANTENNA_MODE_EXTERNAL, attr, event,
|
||||
ANTENNA_MODE_INTERNAL, ANTENNA_MODE_EXTERNAL, attr, event, INDENT_WIDTH,
|
||||
[](int value) { return value != ANTENNA_MODE_PER_MODEL; });
|
||||
if (event && !s_editMode && reusableBuffer.moduleSetup.antennaMode != g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode) {
|
||||
if (reusableBuffer.moduleSetup.antennaMode == ANTENNA_MODE_EXTERNAL && !isExternalAntennaEnabled()) {
|
||||
@@ -1908,7 +1905,7 @@ void menuModelSetup(event_t event)
|
||||
const char * title = getMultiOptionTitle(moduleIdx);
|
||||
|
||||
if (!title) break;
|
||||
lcdDrawText(INDENT_WIDTH, y, title);
|
||||
lcdDrawTextIndented(y, title);
|
||||
if (title == STR_MULTI_RFTUNE) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, getRxStatLabels()->label, LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, "(", LEFT);
|
||||
@@ -1961,7 +1958,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
#endif
|
||||
if (isModuleR9MNonAccess(moduleIdx)) {
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_TELEMETRY);
|
||||
lcdDrawTextIndented(y, STR_MODULE_TELEMETRY);
|
||||
if (modulePortIsPortUsedByModule(moduleIdx, ETX_MOD_PORT_SPORT)) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_TELEM_ON);
|
||||
} else {
|
||||
@@ -1969,12 +1966,12 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
}
|
||||
else if (isModuleSBUS(moduleIdx)) {
|
||||
lcdDrawTextAlignedLeft(y, STR_WARN_BATTVOLTAGE);
|
||||
lcdDrawTextIndented(y, STR_WARN_BATTVOLTAGE);
|
||||
putsVolts(lcdLastRightPos, y, getBatteryVoltage(), attr | PREC2 | LEFT);
|
||||
}
|
||||
else if (isModuleGhost(moduleIdx)) {
|
||||
auto & module = g_model.moduleData[moduleIdx];
|
||||
module.ghost.raw12bits = editCheckBox(module.ghost.raw12bits , MODEL_SETUP_2ND_COLUMN, y, INDENT "Raw 12 bits", attr, event);
|
||||
module.ghost.raw12bits = editCheckBox(module.ghost.raw12bits , MODEL_SETUP_2ND_COLUMN, y, "Raw 12 bits", attr, event, INDENT_WIDTH);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1989,7 +1986,7 @@ void menuModelSetup(event_t event)
|
||||
auto & module = g_model.moduleData[moduleIdx];
|
||||
// Lite FCC / Lite FLEX / Lite Pro Flex
|
||||
if (isModuleTypeR9MNonAccess(module.type)) {
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RF_POWER);
|
||||
lcdDrawTextIndented(y, STR_RF_POWER);
|
||||
if (isModuleR9M_FCC_VARIANT(moduleIdx)) {
|
||||
// FCC and FLEX modes ...
|
||||
if (isModuleTypeR9MLiteNonPro(module.type)) { // R9M lite FCC has only one power value, so displayed for info only
|
||||
@@ -2050,12 +2047,12 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
#if defined(MULTIMODULE)
|
||||
else if (isModuleMultimodule(moduleIdx)) {
|
||||
module.multi.lowPowerMode = editCheckBox(module.multi.lowPowerMode, MODEL_SETUP_2ND_COLUMN, y, IS_RX_MULTI(moduleIdx) ? STR_MULTI_LNA_DISABLE : STR_MULTI_LOWPOWER, attr, event);
|
||||
module.multi.lowPowerMode = editCheckBox(module.multi.lowPowerMode, MODEL_SETUP_2ND_COLUMN, y, IS_RX_MULTI(moduleIdx) ? STR_MULTI_LNA_DISABLE : STR_MULTI_LOWPOWER, attr, event, INDENT_WIDTH);
|
||||
}
|
||||
#endif
|
||||
#if defined(AFHDS3)
|
||||
else if (isModuleAFHDS3(EXTERNAL_MODULE)) {
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RF_POWER);
|
||||
lcdDrawTextIndented(y, STR_RF_POWER);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_POWERS, g_model.moduleData[EXTERNAL_MODULE].afhds3.runPower, LEFT | attr);
|
||||
if (attr)
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].afhds3.runPower, afhds3::RUN_POWER::RUN_POWER_FIRST, afhds3::RUN_POWER::RUN_POWER_LAST);
|
||||
@@ -2074,7 +2071,7 @@ void menuModelSetup(event_t event)
|
||||
#endif
|
||||
if (g_model.moduleData[moduleIdx].multi.rfProtocol == MODULE_SUBTYPE_MULTI_DSM2) {
|
||||
int8_t value = (g_model.moduleData[moduleIdx].multi.optionValue & 0x02) >> 1;
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_MULTI_SERVOFREQ);
|
||||
lcdDrawTextIndented(y, STR_MULTI_SERVOFREQ);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, value ? 11 : 22, attr);
|
||||
lcdDrawText(lcdNextPos, y, "ms", attr);
|
||||
if (attr) {
|
||||
@@ -2086,7 +2083,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
else {
|
||||
g_model.moduleData[moduleIdx].multi.autoBindMode = editCheckBox(g_model.moduleData[moduleIdx].multi.autoBindMode, MODEL_SETUP_2ND_COLUMN, y,
|
||||
STR_MULTI_AUTOBIND, attr, event);
|
||||
STR_MULTI_AUTOBIND, attr, event, INDENT_WIDTH);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2094,7 +2091,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_DISABLE_TELEM:
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_DISABLE_TELEM:
|
||||
|
||||
g_model.moduleData[moduleIdx].multi.disableTelemetry = editCheckBox(g_model.moduleData[moduleIdx].multi.disableTelemetry, MODEL_SETUP_2ND_COLUMN, y, INDENT TR_DISABLE_TELEM, attr, event);
|
||||
g_model.moduleData[moduleIdx].multi.disableTelemetry = editCheckBox(g_model.moduleData[moduleIdx].multi.disableTelemetry, MODEL_SETUP_2ND_COLUMN, y, STR_DISABLE_TELEM, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -2104,13 +2101,13 @@ void menuModelSetup(event_t event)
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_DISABLE_MAPPING:
|
||||
#endif
|
||||
g_model.moduleData[moduleIdx].multi.disableMapping = editCheckBox(g_model.moduleData[moduleIdx].multi.disableMapping, MODEL_SETUP_2ND_COLUMN, y, INDENT TR_DISABLE_CH_MAP, attr, event);
|
||||
g_model.moduleData[moduleIdx].multi.disableMapping = editCheckBox(g_model.moduleData[moduleIdx].multi.disableMapping, MODEL_SETUP_2ND_COLUMN, y, STR_DISABLE_CH_MAP, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(AFHDS3) && defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_RX_FREQ:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_AFHDS3_RX_FREQ);
|
||||
lcdDrawTextIndented(y, STR_AFHDS3_RX_FREQ);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[EXTERNAL_MODULE].afhds3.rxFreq(), attr | LEFT);
|
||||
if (attr) {
|
||||
uint16_t rxFreq = g_model.moduleData[EXTERNAL_MODULE].afhds3.rxFreq();
|
||||
@@ -2120,7 +2117,7 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_ACTUAL_POWER:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_AFHDS3_ACTUAL_POWER);
|
||||
lcdDrawTextIndented(y, STR_AFHDS3_ACTUAL_POWER);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_POWERS, actualAfhdsRunPower(EXTERNAL_MODULE), LEFT);
|
||||
break;
|
||||
#endif
|
||||
@@ -2133,7 +2130,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_STATUS:
|
||||
#endif
|
||||
{
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_STATUS);
|
||||
lcdDrawTextIndented(y, STR_MODULE_STATUS);
|
||||
getModuleStatusString(moduleIdx, reusableBuffer.moduleSetup.msg);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, reusableBuffer.moduleSetup.msg);
|
||||
break;
|
||||
@@ -2145,7 +2142,7 @@ void menuModelSetup(event_t event)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_SYNCSTATUS:
|
||||
#endif
|
||||
{
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_SYNC);
|
||||
lcdDrawTextIndented(y, STR_MODULE_SYNC);
|
||||
getModuleSyncStatusString(moduleIdx, reusableBuffer.moduleSetup.msg);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, reusableBuffer.moduleSetup.msg);
|
||||
break;
|
||||
@@ -2154,7 +2151,7 @@ void menuModelSetup(event_t event)
|
||||
|
||||
#if defined(AFHDS3) && defined(HARDWARE_EXTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_STATUS: {
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_STATUS);
|
||||
lcdDrawTextIndented(y, STR_MODULE_STATUS);
|
||||
|
||||
char statusText[64];
|
||||
getModuleStatusString(moduleIdx, statusText);
|
||||
@@ -2162,7 +2159,7 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
}
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_POWER_STATUS: {
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_AFHDS3_POWER_SOURCE);
|
||||
lcdDrawTextIndented(y, STR_AFHDS3_POWER_SOURCE);
|
||||
char statusText[64];
|
||||
getModuleSyncStatusString(moduleIdx, statusText);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, statusText);
|
||||
@@ -2193,7 +2190,7 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_PPM2_PARAMS:
|
||||
lcdDrawTextAlignedLeft(y, STR_PPMFRAME);
|
||||
lcdDrawTextIndented(y, STR_PPMFRAME);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+3*FW, y, STR_MS);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, (int16_t)g_model.moduleData[1].ppmFrameLength*5 + 225, (menuHorizontalPosition<=0 ? attr : 0) | PREC1 | LEFT);
|
||||
lcdDrawChar(MODEL_SETUP_2ND_COLUMN+8*FW+2, y, 'u');
|
||||
@@ -2264,15 +2261,15 @@ void menuModelSetup(event_t event)
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_USBJOYSTICK_MODE:
|
||||
g_model.usbJoystickExtMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, INDENT TR_USBJOYSTICK_EXTMODE, STR_VUSBJOYSTICK_EXTMODE, g_model.usbJoystickExtMode, 0, 1, attr, event);
|
||||
g_model.usbJoystickExtMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_USBJOYSTICK_EXTMODE, STR_VUSBJOYSTICK_EXTMODE, g_model.usbJoystickExtMode, 0, 1, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_USBJOYSTICK_IF_MODE:
|
||||
g_model.usbJoystickIfMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, INDENT TR_USBJOYSTICK_IF_MODE, STR_VUSBJOYSTICK_IF_MODE, g_model.usbJoystickIfMode, 0, USBJOYS_LAST, attr, event);
|
||||
g_model.usbJoystickIfMode = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_USBJOYSTICK_IF_MODE, STR_VUSBJOYSTICK_IF_MODE, g_model.usbJoystickIfMode, 0, USBJOYS_LAST, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_USBJOYSTICK_CIRC_CUTOUT:
|
||||
g_model.usbJoystickCircularCut = editChoice(MODEL_SETUP_2ND_COLUMN, y, INDENT TR_USBJOYSTICK_CIRC_COUTOUT, STR_VUSBJOYSTICK_CIRC_COUTOUT, g_model.usbJoystickCircularCut, 0, 2, attr, event);
|
||||
g_model.usbJoystickCircularCut = editChoice(MODEL_SETUP_2ND_COLUMN, y, STR_USBJOYSTICK_CIRC_COUTOUT, STR_VUSBJOYSTICK_CIRC_COUTOUT, g_model.usbJoystickCircularCut, 0, 2, attr, event, INDENT_WIDTH);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_USBJOYSTICK_CH_BUTTON:
|
||||
|
||||
Reference in New Issue
Block a user