diff --git a/radio/src/gui/128x64/CMakeLists.txt b/radio/src/gui/128x64/CMakeLists.txt index 1cfdcb12e..9b60f7158 100644 --- a/radio/src/gui/128x64/CMakeLists.txt +++ b/radio/src/gui/128x64/CMakeLists.txt @@ -16,7 +16,6 @@ set(GUI_SRC model_telemetry_sensor.cpp menu_radio.cpp radio_setup.cpp - radio_trainer.cpp radio_hardware.cpp radio_calibration.cpp view_main.cpp diff --git a/radio/src/gui/128x64/model_input_edit.cpp b/radio/src/gui/128x64/model_input_edit.cpp index a36a9fc4c..c2e27f738 100644 --- a/radio/src/gui/128x64/model_input_edit.cpp +++ b/radio/src/gui/128x64/model_input_edit.cpp @@ -100,7 +100,7 @@ void menuModelExpoOne(event_t event) break; case EXPO_FIELD_SOURCE: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE)); + lcdDrawTextAlignedLeft(y, STR_SOURCE); drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, RIGHT|STREXPANDED|attr); if (attr) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable); break; @@ -117,7 +117,7 @@ void menuModelExpoOne(event_t event) break; case EXPO_FIELD_OFFSET: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, RIGHT | attr, 0, event); break; diff --git a/radio/src/gui/128x64/model_inputs_mixes.cpp b/radio/src/gui/128x64/model_inputs_mixes.cpp index 246c14daa..7a49d67c2 100644 --- a/radio/src/gui/128x64/model_inputs_mixes.cpp +++ b/radio/src/gui/128x64/model_inputs_mixes.cpp @@ -397,7 +397,7 @@ void menuModelMixOne(event_t event) editSingleName(COLUMN_X+MIXES_2ND_COLUMN, y, STR_MIXNAME, md2->name, sizeof(md2->name), event, attr); break; case MIX_FIELD_SOURCE: - drawFieldLabel(COLUMN_X, y, NO_INDENT(STR_SOURCE)); + drawFieldLabel(COLUMN_X, y, STR_SOURCE); drawSource(COLUMN_X+MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr); if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST); break; @@ -407,7 +407,7 @@ void menuModelMixOne(event_t event) break; case MIX_FIELD_OFFSET: { - drawFieldLabel(COLUMN_X, y, NO_INDENT(STR_OFFSET)); + drawFieldLabel(COLUMN_X, y, STR_OFFSET); u_int8int16_t offset; MD_OFFSET_TO_UNION(md2, offset); offset.word = GVAR_MENU_ITEM(COLUMN_X+MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event); diff --git a/radio/src/gui/128x64/model_mix_edit.cpp b/radio/src/gui/128x64/model_mix_edit.cpp index 7f4aeee03..2a87faa7d 100644 --- a/radio/src/gui/128x64/model_mix_edit.cpp +++ b/radio/src/gui/128x64/model_mix_edit.cpp @@ -110,7 +110,7 @@ void menuModelMixOne(event_t event) break; case MIX_FIELD_SOURCE: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE)); + lcdDrawTextAlignedLeft(y, STR_SOURCE); drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr); if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST); break; @@ -122,7 +122,7 @@ void menuModelMixOne(event_t event) case MIX_FIELD_OFFSET: { - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); u_int8int16_t offset; MD_OFFSET_TO_UNION(md2, offset); offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event); diff --git a/radio/src/gui/128x64/model_telemetry.cpp b/radio/src/gui/128x64/model_telemetry.cpp index 846168ba5..3b98cad70 100644 --- a/radio/src/gui/128x64/model_telemetry.cpp +++ b/radio/src/gui/128x64/model_telemetry.cpp @@ -250,7 +250,7 @@ void menuModelTelemetryFrsky(event_t event) break; case ITEM_TELEMETRY_RSSI_SOURCE: { - lcdDrawTextAlignedLeft(y, STR_SOURCE); + lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE); drawSource(TELEM_COL2, y, g_model.rssiSource ? MIXSRC_FIRST_TELEM + 3 * (g_model.rssiSource - 1) : 0, attr); if (g_model.rssiSource) { TelemetrySensor * sensor = &g_model.telemetrySensors[g_model.rssiSource - 1]; @@ -288,7 +288,7 @@ void menuModelTelemetryFrsky(event_t event) break; case ITEM_TELEMETRY_VARIO_SOURCE: - lcdDrawTextAlignedLeft(y, STR_SOURCE); + lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE); drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr); if (attr) { g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/128x64/model_telemetry_sensor.cpp b/radio/src/gui/128x64/model_telemetry_sensor.cpp index 8aa4acfe6..744d05776 100644 --- a/radio/src/gui/128x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/128x64/model_telemetry_sensor.cpp @@ -234,7 +234,7 @@ void menuModelSensor(event_t event) break; } else { - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); if (attr) CHECK_INCDEC_MODELVAR(event, sensor->custom.offset, -30000, +30000); if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1); lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr); @@ -247,7 +247,7 @@ void menuModelSensor(event_t event) case SENSOR_FIELD_PARAM4: { - drawStringWithIndex(0, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1); + drawStringWithIndex(0, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1); int8_t & source = sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; if (attr) { source = checkIncDec(event, source, -MAX_TELEMETRY_SENSORS, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/128x64/radio_trainer.cpp b/radio/src/gui/128x64/radio_trainer.cpp deleted file mode 100644 index 2ec5d599f..000000000 --- a/radio/src/gui/128x64/radio_trainer.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "opentx.h" - -void menuRadioTrainer(event_t event) -{ - uint8_t y; - bool slave = SLAVE_MODE(); - - MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? HEADER_LINE : HEADER_LINE+6), { HEADER_LINE_COLUMNS 2, 2, 2, 2, 0/*, 0*/ }); - - if (slave) { - lcdDrawCenteredText(LCD_H/2, STR_SLAVE); - } - else { - uint8_t attr; - uint8_t blink = ((s_editMode>0) ? BLINK|INVERS : INVERS); - - lcdDrawText(3*FW, MENU_HEADER_HEIGHT+1, STR_MODESRC); - - y = MENU_HEADER_HEIGHT + 1 + FH; - - for (uint8_t i=HEADER_LINE; imode, attr); - if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->mode, 0, 2); - break; - - case 1: - lcdDrawNumber(11*FW, y, td->studWeight, attr|RIGHT); - if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->studWeight, -125, 125); - break; - - case 2: - lcdDrawTextAtIndex(12*FW, y, STR_TRNCHN, td->srcChn, attr); - if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->srcChn, 0, 3); - break; - } - } - y += FH; - } - - attr = (menuVerticalPosition==HEADER_LINE+4) ? blink : 0; - lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT+1+5*FH, STR_MULTIPLIER); - lcdDrawNumber(LEN_MULTIPLIER*FW+3*FW, MENU_HEADER_HEIGHT+1+5*FH, g_eeGeneral.PPM_Multiplier+10, attr|PREC1|RIGHT); - if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.PPM_Multiplier, -10, 40); - - attr = (menuVerticalPosition==HEADER_LINE+5) ? INVERS : 0; - lcdDrawText(0*FW, MENU_HEADER_HEIGHT+1+6*FH, STR_CAL, attr); - for (uint8_t i=0; i<4; i++) { - uint8_t x = (i*8+16)*FW/2; - lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, (ppmInput[i]-g_eeGeneral.trainer.calib[i])/5, RIGHT); - } - - if (attr) { - s_editMode = 0; - if (event==EVT_KEY_LONG(KEY_ENTER)){ - memcpy(g_eeGeneral.trainer.calib, ppmInput, sizeof(g_eeGeneral.trainer.calib)); - storageDirty(EE_GENERAL); - AUDIO_WARNING1(); - } - } - } -} diff --git a/radio/src/gui/212x64/CMakeLists.txt b/radio/src/gui/212x64/CMakeLists.txt index 1cfdcb12e..9b60f7158 100644 --- a/radio/src/gui/212x64/CMakeLists.txt +++ b/radio/src/gui/212x64/CMakeLists.txt @@ -16,7 +16,6 @@ set(GUI_SRC model_telemetry_sensor.cpp menu_radio.cpp radio_setup.cpp - radio_trainer.cpp radio_hardware.cpp radio_calibration.cpp view_main.cpp diff --git a/radio/src/gui/212x64/model_input_edit.cpp b/radio/src/gui/212x64/model_input_edit.cpp index 28233fd07..715393cc4 100644 --- a/radio/src/gui/212x64/model_input_edit.cpp +++ b/radio/src/gui/212x64/model_input_edit.cpp @@ -107,7 +107,7 @@ void menuModelExpoOne(event_t event) break; case EXPO_FIELD_SOURCE: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE)); + lcdDrawTextAlignedLeft(y, STR_SOURCE); drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, STREXPANDED|attr); if (attr) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable); break; @@ -124,7 +124,7 @@ void menuModelExpoOne(event_t event) break; case EXPO_FIELD_OFFSET: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, LEFT|attr, 0, event); break; diff --git a/radio/src/gui/212x64/model_mix_edit.cpp b/radio/src/gui/212x64/model_mix_edit.cpp index cd54823e7..1d0dcf9eb 100644 --- a/radio/src/gui/212x64/model_mix_edit.cpp +++ b/radio/src/gui/212x64/model_mix_edit.cpp @@ -109,7 +109,7 @@ void menuModelMixOne(event_t event) break; case MIX_FIELD_SOURCE: - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE)); + lcdDrawTextAlignedLeft(y, STR_SOURCE); drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr); if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST); break; @@ -121,7 +121,7 @@ void menuModelMixOne(event_t event) case MIX_FIELD_OFFSET: { - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); u_int8int16_t offset; MD_OFFSET_TO_UNION(md2, offset); offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event); diff --git a/radio/src/gui/212x64/model_telemetry.cpp b/radio/src/gui/212x64/model_telemetry.cpp index d952497da..fa1cb87b5 100644 --- a/radio/src/gui/212x64/model_telemetry.cpp +++ b/radio/src/gui/212x64/model_telemetry.cpp @@ -246,7 +246,7 @@ void menuModelTelemetryFrsky(event_t event) break; case ITEM_TELEMETRY_VARIO_SOURCE: - lcdDrawTextAlignedLeft(y, STR_SOURCE); + lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE); drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr); if (attr) { g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/212x64/model_telemetry_sensor.cpp b/radio/src/gui/212x64/model_telemetry_sensor.cpp index 5ebfe5ae2..78efb34a0 100644 --- a/radio/src/gui/212x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/212x64/model_telemetry_sensor.cpp @@ -178,7 +178,7 @@ void menuModelSensor(event_t event) break; } else if (sensor->formula == TELEM_FORMULA_TOTALIZE) { - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE)); + lcdDrawTextAlignedLeft(y, STR_SOURCE); drawSource(SENSOR_2ND_COLUMN, y, sensor->consumption.source ? MIXSRC_FIRST_TELEM+3*(sensor->consumption.source-1) : 0, attr); if (attr) { sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); @@ -227,7 +227,7 @@ void menuModelSensor(event_t event) break; } else { - lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET)); + lcdDrawTextAlignedLeft(y, STR_OFFSET); if (attr) sensor->custom.offset = checkIncDec(event, sensor->custom.offset, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10); if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1); lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr); @@ -240,7 +240,7 @@ void menuModelSensor(event_t event) case SENSOR_FIELD_PARAM4: { - drawStringWithIndex(0, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1); + drawStringWithIndex(0, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1); int8_t & source = sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; if (attr) { source = checkIncDec(event, source, -MAX_TELEMETRY_SENSORS, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/480x272/model_inputs.cpp b/radio/src/gui/480x272/model_inputs.cpp index 2d15d90df..7f7346b03 100644 --- a/radio/src/gui/480x272/model_inputs.cpp +++ b/radio/src/gui/480x272/model_inputs.cpp @@ -239,7 +239,7 @@ bool menuModelExpoOne(event_t event) break; case EXPO_FIELD_SOURCE: - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE); drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, menuHorizontalPosition==0 ? attr : 0); if (attr && menuHorizontalPosition==0) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable); if (ed->srcRaw >= MIXSRC_FIRST_TELEM) { @@ -263,7 +263,7 @@ bool menuModelExpoOne(event_t event) break; case EXPO_FIELD_OFFSET: - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET); ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, LEFT|attr, 0, event); break; diff --git a/radio/src/gui/480x272/model_mixes.cpp b/radio/src/gui/480x272/model_mixes.cpp index 7b70d1e7c..1502b99ec 100644 --- a/radio/src/gui/480x272/model_mixes.cpp +++ b/radio/src/gui/480x272/model_mixes.cpp @@ -203,7 +203,7 @@ bool menuModelMixOne(event_t event) editName(MIXES_2ND_COLUMN, y, md2->name, sizeof(md2->name), event, attr); break; case MIX_FIELD_SOURCE: - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE); drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, attr); if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST); break; @@ -213,7 +213,7 @@ bool menuModelMixOne(event_t event) break; case MIX_FIELD_OFFSET: { - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET); u_int8int16_t offset; MD_OFFSET_TO_UNION(md2, offset); offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event); diff --git a/radio/src/gui/480x272/model_telemetry.cpp b/radio/src/gui/480x272/model_telemetry.cpp index ae8a8aeda..f89edcc2b 100644 --- a/radio/src/gui/480x272/model_telemetry.cpp +++ b/radio/src/gui/480x272/model_telemetry.cpp @@ -305,7 +305,7 @@ bool menuModelTelemetryFrsky(event_t event) break; case ITEM_TELEMETRY_VARIO_SOURCE: - lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE); + lcdDrawText(MENUS_MARGIN_LEFT, y, INDENT TR_SOURCE); drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr); if (attr) { g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/480x272/model_telemetry_sensor.cpp b/radio/src/gui/480x272/model_telemetry_sensor.cpp index f50aebd95..8f4e1deda 100644 --- a/radio/src/gui/480x272/model_telemetry_sensor.cpp +++ b/radio/src/gui/480x272/model_telemetry_sensor.cpp @@ -181,7 +181,7 @@ bool menuModelSensor(event_t event) break; } else if (sensor->formula == TELEM_FORMULA_TOTALIZE) { - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE); drawSource(SENSOR_2ND_COLUMN, y, sensor->consumption.source ? MIXSRC_FIRST_TELEM+3*(sensor->consumption.source-1) : 0, attr); if (attr) { sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); @@ -231,7 +231,7 @@ bool menuModelSensor(event_t event) break; } else { - lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET)); + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET); if (attr) sensor->custom.offset = checkIncDec(event, sensor->custom.offset, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10); if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1); lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr); @@ -244,7 +244,7 @@ bool menuModelSensor(event_t event) case SENSOR_FIELD_PARAM4: { - drawStringWithIndex(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1); + drawStringWithIndex(MENUS_MARGIN_LEFT, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1); int8_t & source = sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; if (attr) { source = checkIncDec(event, source, -MAX_TELEMETRY_SENSORS, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); diff --git a/radio/src/gui/common/stdlcd/CMakeLists.txt b/radio/src/gui/common/stdlcd/CMakeLists.txt index 1b213b765..7918bb6d7 100644 --- a/radio/src/gui/common/stdlcd/CMakeLists.txt +++ b/radio/src/gui/common/stdlcd/CMakeLists.txt @@ -14,6 +14,7 @@ set(GUI_SRC ../common/stdlcd/model_curves.cpp ../common/stdlcd/radio_tools.cpp ../common/stdlcd/radio_version.cpp + ../common/stdlcd/radio_trainer.cpp model_curve_edit.cpp ) diff --git a/radio/src/gui/212x64/radio_trainer.cpp b/radio/src/gui/common/stdlcd/radio_trainer.cpp similarity index 69% rename from radio/src/gui/212x64/radio_trainer.cpp rename to radio/src/gui/common/stdlcd/radio_trainer.cpp index 0e06600e4..a4d6f5e56 100644 --- a/radio/src/gui/212x64/radio_trainer.cpp +++ b/radio/src/gui/common/stdlcd/radio_trainer.cpp @@ -20,40 +20,46 @@ #include "opentx.h" -#define TRAINER_CALIB_POS 12 +#if LCD_W >= 212 + #define TRAINER_CALIB_COLUMN_WIDTH 12 +#else + #define TRAINER_CALIB_COLUMN_WIDTH 8 +#endif void menuRadioTrainer(event_t event) { uint8_t y; bool slave = SLAVE_MODE(); - MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? 0 : 6), { NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, 0, 0 }); + MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? HEADER_LINE : HEADER_LINE+6), { HEADER_LINE_COLUMNS NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, 0, 0 }); if (slave) { - lcdDrawText(7*FW, 4*FH, STR_SLAVE); + lcdDrawText(LCD_W/2, 4*FH, STR_SLAVE, CENTERED); return; } LcdFlags attr; LcdFlags blink = ((s_editMode>0) ? BLINK|INVERS : INVERS); - lcdDrawText(3*FW, MENU_HEADER_HEIGHT+1, STR_MODESRC); + lcdDrawText(5*FW, MENU_HEADER_HEIGHT+1, STR_MODE); + lcdDrawText(11*FW, MENU_HEADER_HEIGHT+1, "%", RIGHT); + lcdDrawText(12*FW, MENU_HEADER_HEIGHT+1, STR_SOURCE); y = MENU_HEADER_HEIGHT + 1 + FH; - for (int i=0; imode, attr); + lcdDrawTextAtIndex(5*FW, y, STR_TRNMODE, td->mode, attr); if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->mode, 0, 2); break; @@ -71,16 +77,17 @@ void menuRadioTrainer(event_t event) y += FH; } - attr = (menuVerticalPosition==4) ? blink : 0; + attr = (menuVerticalPosition==HEADER_LINE+4) ? blink : 0; lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT+1+5*FH, STR_MULTIPLIER); lcdDrawNumber(LEN_MULTIPLIER*FW+3*FW, MENU_HEADER_HEIGHT+1+5*FH, g_eeGeneral.PPM_Multiplier+10, attr|PREC1|RIGHT); if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.PPM_Multiplier, -10, 40); - attr = (menuVerticalPosition==5) ? INVERS : 0; - if (attr) s_editMode = 0; + attr = (menuVerticalPosition==HEADER_LINE+5) ? INVERS : 0; + if (attr) + s_editMode = 0; lcdDrawText(0*FW, MENU_HEADER_HEIGHT+1+6*FH, STR_CAL, attr); - for (int i=0; i<4; i++) { - uint8_t x = (i*TRAINER_CALIB_POS+16)*FW/2; + for (uint8_t i=0; i<4; i++) { + uint8_t x = (i*TRAINER_CALIB_COLUMN_WIDTH + 16) * FW/2; #if defined (PPM_UNIT_PERCENT_PREC1) lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, (ppmInput[i]-g_eeGeneral.trainer.calib[i])*2, PREC1|RIGHT); #else @@ -89,6 +96,7 @@ void menuRadioTrainer(event_t event) } if (attr) { + s_editMode = 0; if (event==EVT_KEY_LONG(KEY_ENTER)){ memcpy(g_eeGeneral.trainer.calib, ppmInput, sizeof(g_eeGeneral.trainer.calib)); storageDirty(EE_GENERAL); diff --git a/radio/src/gui/common/stdlcd/radio_version.cpp b/radio/src/gui/common/stdlcd/radio_version.cpp index 74f214ac8..577e3387f 100644 --- a/radio/src/gui/common/stdlcd/radio_version.cpp +++ b/radio/src/gui/common/stdlcd/radio_version.cpp @@ -152,6 +152,9 @@ void menuRadioModulesVersion(event_t event) } else { menuVerticalOffset = 0; + if (lines == 0) { + + } } switch(event) { diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index cb88b02d7..2284b801f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -536,12 +536,12 @@ #define TR_SUBTYPE INDENT "Subtyp" #define TR_NOFREEEXPO "Není volné expo!" #define TR_NOFREEMIXER "Není volný mix!" -#define TR_SOURCE INDENT"Zdroj" +#define TR_SOURCE "Zdroj" #define TR_WEIGHT "Váha" #define TR_EXPO "Expo" #define TR_SIDE "Strana" #define TR_DIFFERENTIAL "Dif.výchylek" -#define TR_OFFSET INDENT"Ofset" +#define TR_OFFSET "Ofset" #define TR_TRIM "Trim" #define TR_DREX "DR/Expo" #define DREX_CHBOX_OFFSET 45 diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 08fd3f864..0db1d14fb 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -543,12 +543,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "Expos voll!" #define TR_NOFREEMIXER "Mischer voll!" -#define TR_SOURCE INDENT "Quelle" +#define TR_SOURCE "Quelle" #define TR_WEIGHT "Gewicht" #define TR_EXPO TR("Expo", "Exponential") #define TR_SIDE "Seite" #define TR_DIFFERENTIAL "Diff" -#define TR_OFFSET INDENT "Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index a8c5dd772..6ff3b1f88 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ") #define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=\0" #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" @@ -538,12 +538,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" -#define TR_SOURCE INDENT "Source" +#define TR_SOURCE "Source" #define TR_WEIGHT "Weight" #define TR_EXPO TR("Expo", "Exponential") #define TR_SIDE "Side" #define TR_DIFFERENTIAL "Differ" -#define TR_OFFSET INDENT "Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 71cf36068..bf1862a89 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0" #define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=" #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" @@ -554,12 +554,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "No expo libre!" #define TR_NOFREEMIXER "No mezcla lib!" -#define TR_SOURCE INDENT"Fuente" +#define TR_SOURCE "Fuente" #define TR_WEIGHT "Cantidad" #define TR_EXPO TR("Expo","Exponencial") #define TR_SIDE "Lado" #define TR_DIFFERENTIAL "Diferenc" -#define TR_OFFSET INDENT"Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 97a804ef8..887307cb3 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ") #define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=" #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" @@ -546,12 +546,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" -#define TR_SOURCE INDENT"Source" +#define TR_SOURCE "Source" #define TR_WEIGHT "Weight" #define TR_EXPO TR("Expo","Exponential") #define TR_SIDE "Side" #define TR_DIFFERENTIAL "Differ" -#define TR_OFFSET INDENT"Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 0252bd4a9..afef6054e 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ") #define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=" #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" @@ -552,12 +552,12 @@ #define TR_SUBTYPE INDENT "Sous-type" #define TR_NOFREEEXPO "Max expos atteint!" #define TR_NOFREEMIXER "Max mixages atteint!" -#define TR_SOURCE INDENT "Source" +#define TR_SOURCE "Source" #define TR_WEIGHT "Ratio" #define TR_EXPO TR("Expo", "Exponentiel") #define TR_SIDE "Coté" #define TR_DIFFERENTIAL "Différentiel" -#define TR_OFFSET INDENT "Décalage" +#define TR_OFFSET "Décalage" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 99830e6db..ec590ee00 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa") #define LEN_TRNMODE "\003" -#define TR_TRNMODE "off"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=" #define LEN_TRNCHN "\003" #define TR_TRNCHN "ch1ch2ch3ch4" @@ -553,12 +553,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "Expo pieni!" #define TR_NOFREEMIXER "Mixer pieni!" -#define TR_SOURCE INDENT"Sorg." +#define TR_SOURCE "Sorg." #define TR_WEIGHT "Peso" #define TR_EXPO "Espo" #define TR_SIDE "Lato" #define TR_DIFFERENTIAL "Differ" -#define TR_OFFSET INDENT"Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 698eecdc9..683834637 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -535,12 +535,12 @@ TR_GYR_VSRCRAW #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "Geen vrije expo!" #define TR_NOFREEMIXER "Geen vrije mixer!" -#define TR_SOURCE INDENT "Source" +#define TR_SOURCE "Source" #define TR_WEIGHT "Gewicht" #define TR_EXPO TR("Expo", "Exponentieel") #define TR_SIDE "Side" #define TR_DIFFERENTIAL "Diff" -#define TR_OFFSET INDENT "Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 9f577a0b5..aa88a0259 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -553,12 +553,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "BrakWoln.Expo!" #define TR_NOFREEMIXER "BrakWoln.Mixów!" -#define TR_SOURCE INDENT "Źródło" +#define TR_SOURCE "Źródło" #define TR_WEIGHT "Waga " #define TR_EXPO TR("Expo", "Exponential") #define TR_SIDE "Strona" #define TR_DIFFERENTIAL "Różnic" -#define TR_OFFSET INDENT"Ofset " +#define TR_OFFSET "Ofset " #define TR_TRIM "Trym" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index b1797e636..169295051 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -65,7 +65,7 @@ #define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0" #define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" +#define TR_TRNMODE "OFF""+=\0"":=" #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" @@ -539,12 +539,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "No free expo!" #define TR_NOFREEMIXER "No free mixer!" -#define TR_SOURCE INDENT"Fonte" +#define TR_SOURCE "Fonte" #define TR_WEIGHT "Quantia" #define TR_EXPO "Exponen" #define TR_SIDE "Lado" #define TR_DIFFERENTIAL "Diferencial" -#define TR_OFFSET INDENT"Desvio" +#define TR_OFFSET "Desvio" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30 diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 6c263817f..7bc34e86c 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -552,12 +552,12 @@ #define TR_SUBTYPE INDENT "Subtype" #define TR_NOFREEEXPO "Expo saknas!" #define TR_NOFREEMIXER "Mixer saknas!" -#define TR_SOURCE INDENT"Källa" +#define TR_SOURCE "Källa" #define TR_WEIGHT "Vikt" #define TR_EXPO TR("Expo","Exponentiell") #define TR_SIDE "Sida" #define TR_DIFFERENTIAL "Diff." -#define TR_OFFSET INDENT"Offset" +#define TR_OFFSET "Offset" #define TR_TRIM "Trim" #define TR_DREX "DRex" #define DREX_CHBOX_OFFSET 30