diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 48ad71cb7..a80796e31 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -551,7 +551,7 @@ int OpenTxFirmware::getCapability(const Capability capability) case FlightModesName: return (IS_TARANIS(board) ? 10 : 6); case GvarsName: - return 6; + return (IS_9X(board) ? 0 : 6); case HasChNames: return (IS_TARANIS(board) ? 1 : 0); case GvarsInCS: diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 3218b6105..3fba520c5 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -209,7 +209,9 @@ void FlightModePanel::update() if (ui->gvGB->isVisible()) { for (int i=0; isetText(model->gvars_names[i]); + if (firmware->getCapability(GvarsName) > 0) { + gvNames[i]->setText(model->gvars_names[i]); + } gvValues[i]->setDisabled(model->isGVarLinked(phaseIdx, i)); gvValues[i]->setValue(model->getGVarValue(phaseIdx, i)); if (IS_TARANIS(GetEepromInterface()->getBoard()) && phaseIdx == 0) { diff --git a/companion/src/modeledit/logicalswitches.cpp b/companion/src/modeledit/logicalswitches.cpp index 59cd184c2..5a156b49c 100644 --- a/companion/src/modeledit/logicalswitches.cpp +++ b/companion/src/modeledit/logicalswitches.cpp @@ -261,6 +261,7 @@ void LogicalSwitchesPanel::edited() } emit modified(); lock = false; + updateLine(i); } } diff --git a/radio/src/eeprom_common.h b/radio/src/eeprom_common.h index 9f0b36433..ffb1c74e9 100644 --- a/radio/src/eeprom_common.h +++ b/radio/src/eeprom_common.h @@ -58,6 +58,7 @@ bool eeModelExists(uint8_t id); void eeLoadModelName(uint8_t id, char *name); void eeLoadModel(uint8_t id); bool eeConvert(); +void eeErase(bool warn); void ConvertModel(int id, int version); uint8_t eeFindEmptyModel(uint8_t id, bool down); void selectModel(uint8_t sub); diff --git a/radio/src/eeprom_rlc.cpp b/radio/src/eeprom_rlc.cpp index 2887d1fc4..af85d5810 100644 --- a/radio/src/eeprom_rlc.cpp +++ b/radio/src/eeprom_rlc.cpp @@ -1016,6 +1016,21 @@ void eeLoadModel(uint8_t id) } } +void eeErase(bool warn) +{ + generalDefault(); + + if (warn) { + ALERT(STR_EEPROMWARN, STR_BADEEPROMDATA, AU_BAD_EEPROM); + } + + MESSAGE(STR_EEPROMWARN, STR_EEPROMFORMATTING, NULL, AU_EEPROM_FORMATTING); + EeFsFormat(); + theFile.writeRlc(FILE_GENERAL, FILE_TYP_GENERAL, (uint8_t*)&g_eeGeneral, sizeof(EEGeneral), true); + modelDefault(0); + theFile.writeRlc(FILE_MODEL(0), FILE_TYP_MODEL, (uint8_t*)&g_model, sizeof(g_model), true); +} + // TODO merge this code with eeprom_arm.cpp one void eeReadAll() { @@ -1023,19 +1038,7 @@ void eeReadAll() EeFsck() < 0 || !eeLoadGeneral()) { - generalDefault(); - - ALERT(STR_EEPROMWARN, STR_BADEEPROMDATA, AU_BAD_EEPROM); - - MESSAGE(STR_EEPROMWARN, STR_EEPROMFORMATTING, NULL, AU_EEPROM_FORMATTING); - - EeFsFormat(); - - theFile.writeRlc(FILE_GENERAL, FILE_TYP_GENERAL, (uint8_t*)&g_eeGeneral, sizeof(EEGeneral), true); - - modelDefault(0); - - theFile.writeRlc(FILE_MODEL(0), FILE_TYP_MODEL, (uint8_t*)&g_model, sizeof(g_model), true); + eeErase(true); } else { eeLoadModelHeaders(); diff --git a/radio/src/gui/9X/view_telemetry.cpp b/radio/src/gui/9X/view_telemetry.cpp index 79df6265b..bc78cd932 100755 --- a/radio/src/gui/9X/view_telemetry.cpp +++ b/radio/src/gui/9X/view_telemetry.cpp @@ -95,9 +95,9 @@ void displayGpsCoord(uint8_t y, char direction, int16_t bp, int16_t ap) lcd_outdezNAtt(lcdLastPos+FW+FW+1, y, mn, LEFT|LEADING0, 2); // mm before '.' lcd_vline(lcdLastPos, y, 2); uint16_t ss = ap * 6; - lcd_outdezAtt(lcdLastPos+3, y, ss / 1000, LEFT); // '' + lcd_outdezNAtt(lcdLastPos+3, y, ss / 1000, LEFT|LEADING0, 2); // '' lcd_plot(lcdLastPos, y+FH-2, 0); // small decimal point - lcd_outdezAtt(lcdLastPos+2, y, ss % 1000, LEFT); // '' + lcd_outdezNAtt(lcdLastPos+2, y, ss % 1000, LEFT|LEADING0, 3); // '' lcd_vline(lcdLastPos, y, 2); lcd_vline(lcdLastPos+2, y, 2); } diff --git a/radio/src/gui/Taranis/gui.h b/radio/src/gui/Taranis/gui.h index bbf3eca66..415c8197b 100755 --- a/radio/src/gui/Taranis/gui.h +++ b/radio/src/gui/Taranis/gui.h @@ -53,6 +53,9 @@ void displayScrollbar(coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t void displayMenuBar(const MenuItem *menu, int index); void displayProgressBar(const char *label); void updateProgressBar(int num, int den); +#if defined(REV9E) +void displayShutdownProgress(uint32_t progress); +#endif extern coord_t scrollbar_X; #define SET_SCROLLBAR_X(x) scrollbar_X = (x); diff --git a/radio/src/gui/Taranis/lcd.cpp b/radio/src/gui/Taranis/lcd.cpp index e5a86bd78..e41ab8ed2 100755 --- a/radio/src/gui/Taranis/lcd.cpp +++ b/radio/src/gui/Taranis/lcd.cpp @@ -632,7 +632,7 @@ void putsStickName(coord_t x, coord_t y, uint8_t idx, LcdFlags att) } #endif -void putsMixerSource(coord_t x, coord_t y, uint8_t idx, LcdFlags att) +void putsMixerSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att) { if (idx == 0) { lcd_putsiAtt(x, y, STR_VSRCRAW, 0, att); // TODO macro @@ -890,7 +890,12 @@ void displayDate(coord_t x, coord_t y, TelemetryItem & telemetryItem, LcdFlags a lcd_outdezNAtt(lcdNextPos, y, telemetryItem.datetime.sec, att|LEADING0|LEFT, 2); } else { - lcd_outdezNAtt(x, y, telemetryItem.datetime.hour, att|LEADING0|LEFT, 2); + lcd_outdezNAtt(x, y, telemetryItem.datetime.day, att|LEADING0|LEFT, 2); + lcd_putcAtt(lcdLastPos-1, y, '-', att); + lcd_outdezNAtt(lcdNextPos, y, telemetryItem.datetime.month, att|LEFT, 2); + lcd_putcAtt(lcdLastPos-1, y, '-', att); + lcd_outdezAtt(lcdNextPos, y, telemetryItem.datetime.year, att|LEFT); + lcd_outdezNAtt(lcdNextPos+FW+1, y, telemetryItem.datetime.hour, att|LEADING0|LEFT, 2); lcd_putcAtt(lcdLastPos, y, ':', att); lcd_outdezNAtt(lcdNextPos, y, telemetryItem.datetime.min, att|LEADING0|LEFT, 2); lcd_putcAtt(lcdLastPos, y, ':', att); diff --git a/radio/src/gui/Taranis/lcd.h b/radio/src/gui/Taranis/lcd.h index 0b41ebf7c..4e32f776a 100755 --- a/radio/src/gui/Taranis/lcd.h +++ b/radio/src/gui/Taranis/lcd.h @@ -169,7 +169,7 @@ void putsStrIdx(coord_t x, coord_t y, const pm_char *str, uint8_t idx, LcdFlags void putsModelName(coord_t x, coord_t y, char *name, uint8_t id, LcdFlags att); void putsSwitches(coord_t x, coord_t y, int8_t swtch, LcdFlags att=0); void putsStickName(coord_t x, coord_t y, uint8_t idx, LcdFlags att=0); -void putsMixerSource(coord_t x, coord_t y, uint8_t idx, LcdFlags att=0); +void putsMixerSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att=0); void putsFlightMode(coord_t x, coord_t y, int8_t idx, LcdFlags att=0); #if !defined(BOOT) void putsCurveRef(coord_t x, coord_t y, CurveRef &curve, LcdFlags att); diff --git a/radio/src/gui/Taranis/menu_general_version.cpp b/radio/src/gui/Taranis/menu_general_version.cpp index 2248b40d7..99a7c0c7b 100755 --- a/radio/src/gui/Taranis/menu_general_version.cpp +++ b/radio/src/gui/Taranis/menu_general_version.cpp @@ -88,12 +88,27 @@ void backupEeprom() void menuGeneralVersion(uint8_t event) { + if (s_warning_result) { + s_warning_result = 0; + displayPopup(STR_EEPROMFORMATTING); + eeErase(false); +#if !defined(SIMU) + NVIC_SystemReset(); +#else + exit(0); +#endif + } + SIMPLE_MENU(STR_MENUVERSION, menuTabGeneral, e_Vers, 1); lcd_putsLeft(MENU_HEADER_HEIGHT+FH, vers_stamp); - lcd_putsLeft(MENU_HEADER_HEIGHT+6*FH, STR_EEBACKUP); + lcd_putsLeft(MENU_HEADER_HEIGHT+5*FH, STR_EEBACKUP); + lcd_putsLeft(MENU_HEADER_HEIGHT+6*FH, STR_FACTORYRESET); if (event == EVT_KEY_LONG(KEY_ENTER)) { backupEeprom(); } + else if (event == EVT_KEY_LONG(KEY_MENU)) { + POPUP_CONFIRMATION(STR_CONFIRMRESET); + } } diff --git a/radio/src/gui/Taranis/menu_model_logical_switches.cpp b/radio/src/gui/Taranis/menu_model_logical_switches.cpp index 1d80e2f29..ba2eb9e88 100755 --- a/radio/src/gui/Taranis/menu_model_logical_switches.cpp +++ b/radio/src/gui/Taranis/menu_model_logical_switches.cpp @@ -163,7 +163,7 @@ void menuModelLogicalSwitches(uint8_t event) } } else if (cstate == LS_FAMILY_COMP) { - v1_val = (uint8_t)cs->v1; + v1_val = cs->v1; putsMixerSource(CSW_2ND_COLUMN, y, v1_val, attr1); putsMixerSource(CSW_3RD_COLUMN, y, cs->v2, attr2); INCDEC_SET_FLAG(EE_MODEL | INCDEC_SOURCE); @@ -178,7 +178,7 @@ void menuModelLogicalSwitches(uint8_t event) INCDEC_ENABLE_CHECK(NULL); } else { - v1_val = (uint8_t)cs->v1; + v1_val = cs->v1; putsMixerSource(CSW_2ND_COLUMN, y, v1_val, attr1); if (horz == 1) { INCDEC_SET_FLAG(EE_MODEL | INCDEC_SOURCE); diff --git a/radio/src/gui/Taranis/menu_model_telemetry.cpp b/radio/src/gui/Taranis/menu_model_telemetry.cpp index 00fba7aa2..9926fda5f 100644 --- a/radio/src/gui/Taranis/menu_model_telemetry.cpp +++ b/radio/src/gui/Taranis/menu_model_telemetry.cpp @@ -264,7 +264,7 @@ void menuModelSensor(uint8_t event) } } else { - sensor->formula = selectMenuItem(SENSOR_2ND_COLUMN, y, "Formula", "\010Add\0 Average\0Min\0 Max\0 MultiplyCell\0 ConsumptDistance", sensor->formula, 0, TELEM_FORMULA_DIST, attr, event); + sensor->formula = selectMenuItem(SENSOR_2ND_COLUMN, y, STR_FORMULA, "\010Add\0 Average\0Min\0 Max\0 MultiplyCell\0 ConsumptDistance", sensor->formula, 0, TELEM_FORMULA_DIST, attr, event); if (attr && checkIncDec_Ret) { sensor->param = 0; if (sensor->formula == TELEM_FORMULA_CELL) { @@ -284,7 +284,7 @@ void menuModelSensor(uint8_t event) break; case SENSOR_FIELD_UNIT: - lcd_putsLeft(y, "Unit"); + lcd_putsLeft(y, STR_UNIT); // TODO flash saving with selectMenuItem where I copied those 2 lines? lcd_putsiAtt(SENSOR_2ND_COLUMN, y, STR_VTELEMUNIT, sensor->unit, attr); if (attr) { @@ -305,7 +305,7 @@ void menuModelSensor(uint8_t event) case SENSOR_FIELD_PARAM1: if (sensor->type == TELEM_TYPE_CALCULATED) { if (sensor->formula == TELEM_FORMULA_CELL) { - lcd_putsLeft(y, "Cells sensor"); + lcd_putsLeft(y, STR_CELLSENSOR); putsMixerSource(SENSOR_2ND_COLUMN, y, sensor->cell.source ? MIXSRC_FIRST_TELEM+3*(sensor->cell.source-1) : 0, attr); if (attr) { sensor->cell.source = checkIncDec(event, sensor->cell.source, 0, TELEM_VALUES_MAX, EE_MODEL|NO_INCDEC_MARKS, isCellsSensor); @@ -313,7 +313,7 @@ void menuModelSensor(uint8_t event) break; } else if (sensor->formula == TELEM_FORMULA_DIST) { - lcd_putsLeft(y, "GPS sensor"); + lcd_putsLeft(y, STR_GPSSENSOR); putsMixerSource(SENSOR_2ND_COLUMN, y, sensor->dist.gps ? MIXSRC_FIRST_TELEM+3*(sensor->dist.gps-1) : 0, attr); if (attr) { sensor->dist.gps = checkIncDec(event, sensor->dist.gps, 0, TELEM_VALUES_MAX, EE_MODEL|NO_INCDEC_MARKS, isGPSSensor); @@ -321,7 +321,7 @@ void menuModelSensor(uint8_t event) break; } else if (sensor->formula == TELEM_FORMULA_CONSUMPTION) { - lcd_putsLeft(y, "Amps sensor"); + lcd_putsLeft(y, STR_CURRENTSENSOR); putsMixerSource(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, TELEM_VALUES_MAX, EE_MODEL|NO_INCDEC_MARKS, isCurrentSensor); @@ -330,7 +330,7 @@ void menuModelSensor(uint8_t event) } } else { - lcd_putsLeft(y, "Ratio"); + lcd_putsLeft(y, STR_RATIO); if (attr) CHECK_INCDEC_MODELVAR(event, sensor->custom.ratio, 0, 30000); if (sensor->custom.ratio == 0) lcd_putcAtt(SENSOR_2ND_COLUMN, y, '-', attr); @@ -343,11 +343,11 @@ void menuModelSensor(uint8_t event) case SENSOR_FIELD_PARAM2: if (sensor->type == TELEM_TYPE_CALCULATED) { if (sensor->formula == TELEM_FORMULA_CELL) { - sensor->cell.index = selectMenuItem(SENSOR_2ND_COLUMN, y, "Cell index", "\007Lowest\0001\0 2\0 3\0 4\0 5\0 6\0 HighestDelta\0", sensor->cell.index, 0, 8, attr, event); + sensor->cell.index = selectMenuItem(SENSOR_2ND_COLUMN, y, STR_CELLINDEX, "\007Lowest\0001\0 2\0 3\0 4\0 5\0 6\0 HighestDelta\0", sensor->cell.index, 0, 8, attr, event); break; } else if (sensor->formula == TELEM_FORMULA_DIST) { - lcd_putsLeft(y, "Alt sensor"); + lcd_putsLeft(y, STR_ALTSENSOR); putsMixerSource(SENSOR_2ND_COLUMN, y, sensor->dist.alt ? MIXSRC_FIRST_TELEM+3*(sensor->dist.alt-1) : 0, attr); if (attr) { sensor->dist.alt = checkIncDec(event, sensor->dist.alt, 0, TELEM_VALUES_MAX, EE_MODEL|NO_INCDEC_MARKS, isAltSensor); @@ -369,7 +369,7 @@ void menuModelSensor(uint8_t event) case SENSOR_FIELD_PARAM4: { - putsStrIdx(0, y, "Source", k-SENSOR_FIELD_PARAM1+1); + putsStrIdx(0, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1); int8_t & source = sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; if (attr) { source = checkIncDec(event, source, -TELEM_VALUES_MAX, TELEM_VALUES_MAX, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); @@ -385,11 +385,11 @@ void menuModelSensor(uint8_t event) } case SENSOR_FIELD_INPUT_FLAGS: - sensor->inputFlags = selectMenuItem(SENSOR_2ND_COLUMN, y, "Options", "\013None\0 ""Auto Offset""Filter\0", sensor->inputFlags, 0, TELEM_INPUT_FLAGS_MAX, attr, event); + sensor->inputFlags = selectMenuItem(SENSOR_2ND_COLUMN, y, STR_OPTIONS, "\013None\0 ""Auto Offset""Filter\0", sensor->inputFlags, 0, TELEM_INPUT_FLAGS_MAX, attr, event); break; case SENSOR_FIELD_LOGS: - ON_OFF_MENU_ITEM(sensor->logs, SENSOR_2ND_COLUMN, y, "Logs", attr, event); + ON_OFF_MENU_ITEM(sensor->logs, SENSOR_2ND_COLUMN, y, STR_LOGS, attr, event); break; } @@ -478,6 +478,8 @@ void menuModelTelemetry(uint8_t event) else { lcd_putsAtt(TELEM_COL2, y, "---", 0); // TODO shortcut } + TelemetrySensor * sensor = & g_model.telemetrySensors[index]; + lcd_outdezAtt(TELEM_COL3+1*FW, y, sensor->instance, LEFT); if (attr) { s_editMode = 0; s_currIdx = index; @@ -501,6 +503,8 @@ void menuModelTelemetry(uint8_t event) case ITEM_TELEMETRY_SENSORS_LABEL: lcd_putsLeft(y, STR_TELEMETRY_SENSORS); + lcd_putsAtt(TELEM_COL2, y, STR_VALUE, 0); + lcd_putsAtt(TELEM_COL3+1*FW, y, STR_ID, 0); break; case ITEM_TELEMETRY_NEWSENSOR: @@ -590,8 +594,8 @@ void menuModelTelemetry(uint8_t event) #if defined(REV9E) case ITEM_TELEMETRY_TOP_LCD_TIMER: - lcd_putsLeft(y, "Top LCD Timer"); - putsStrIdx(TELEM_COL2, y, "Timer", g_model.topLcdTimer+1, attr); + lcd_putsLeft(y, STR_TOPLCDTIMER); + putsStrIdx(TELEM_COL2, y, STR_TIMER, g_model.topLcdTimer+1, attr); if (attr) { g_model.topLcdTimer = checkIncDec(event, g_model.topLcdTimer, 0, MAX_TIMERS-1, EE_MODEL); } diff --git a/radio/src/gui/Taranis/widgets.cpp b/radio/src/gui/Taranis/widgets.cpp index f189b6f2f..7f264bc81 100755 --- a/radio/src/gui/Taranis/widgets.cpp +++ b/radio/src/gui/Taranis/widgets.cpp @@ -63,6 +63,19 @@ void menu_lcd_onoff(coord_t x, coord_t y, uint8_t value, LcdFlags attr) lcd_square(x, y, 7); } +#if defined(REV9E) +void displayShutdownProgress(uint32_t progress) +{ + lcd_clear(); + lcd_putsLeft(LCD_H/2-20, STR_POWEROFF); + drawFilledRect((LCD_W-44)/2, LCD_H/2-5, 28, 10, SOLID, ERASE); + lcd_rect((LCD_W-44)/2, LCD_H/2-5, 28, 10); + for (int i=(progress/100); i>=0; i--) { + drawFilledRect((LCD_W-44)/2+3+i*8, LCD_H/2-3, 6, 6, SOLID); + } +} +#endif + void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr) { lcd_outdezAtt(LCD_W, 0, count, attr); diff --git a/radio/src/main_arm.cpp b/radio/src/main_arm.cpp index 4327b0849..09c7b209f 100644 --- a/radio/src/main_arm.cpp +++ b/radio/src/main_arm.cpp @@ -39,8 +39,6 @@ static uint8_t currentSpeakerVolume = 255; uint8_t requiredSpeakerVolume = 255; -extern void checkBattery(); - void handleUsbConnection() { #if defined(PCBTARANIS) && !defined(SIMU) @@ -185,6 +183,13 @@ void perMain() drawStatusLine(); } +#if defined(REV9E) && !defined(SIMU) + uint32_t pwr_pressed_duration = pwrPressedDuration(); + if (pwr_pressed_duration > 0) { + displayShutdownProgress(pwr_pressed_duration); + } +#endif + lcdRefresh(); #if defined(REV9E) && !defined(SIMU) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index e05426c0e..26bbee271 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -334,14 +334,15 @@ void defaultInputs() expo->mode = 3; // TODO constant #if defined(TRANSLATIONS_CZ) for (int c=0; c<4; c++) { - g_model.inputNames[i][c] = char2idx(STR_INPUTNAMES[1+STR_INPUTNAMES[0]*(stick_index-1)+c]); + g_model.inputNames[i][c] = char2idx(STR_INPUTNAMES[1+4*(stick_index-1)+c]); } + g_model.inputNames[i][4] = '\0'; #else for (int c=0; c<3; c++) { g_model.inputNames[i][c] = char2idx(STR_VSRCRAW[2+4*stick_index+c]); -#endif } g_model.inputNames[i][3] = '\0'; +#endif } eeDirty(EE_MODEL); } diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 577aff5a1..b8964aff9 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1474,6 +1474,10 @@ enum AUDIO_SOUNDS { extern uint8_t requiredSpeakerVolume; #endif +extern void checkBattery(); +extern void opentxClose(); +extern void opentxInit(); + // Re-useable byte array to save having multiple buffers #define SD_SCREEN_FILE_LENGTH (32) union ReusableBuffer diff --git a/radio/src/targets/taranis/board_taranis.h b/radio/src/targets/taranis/board_taranis.h index fff66ed5c..9b1369281 100644 --- a/radio/src/targets/taranis/board_taranis.h +++ b/radio/src/targets/taranis/board_taranis.h @@ -243,6 +243,10 @@ extern "C" { void pwrInit(void); uint32_t pwrCheck(void); void pwrOff(void); +#if defined(REV9E) +uint32_t pwrPressed(void); +uint32_t pwrPressedDuration(void); +#endif #define UNEXPECTED_SHUTDOWN() (g_eeGeneral.unexpectedShutdown) // Backlight driver diff --git a/radio/src/targets/taranis/bootloader/boot.cpp b/radio/src/targets/taranis/bootloader/boot.cpp index 8f5f6690e..8a43784e1 100755 --- a/radio/src/targets/taranis/bootloader/boot.cpp +++ b/radio/src/targets/taranis/bootloader/boot.cpp @@ -791,11 +791,17 @@ int main() } } - if (pwrCheck() == e_power_off && state != ST_FLASHING && state != ST_USB) { - lcdOff(); // this drains LCD caps - pwrOff(); - for (;;) { - // Wait for power to go off + if (state != ST_FLASHING && state != ST_USB) { +#if defined(REV9E) + if (pwrPressed()) { +#else + if (pwrCheck() == e_power_off) { +#endif + lcdOff(); // this drains LCD caps + pwrOff(); + for (;;) { + // Wait for power to go off + } } } diff --git a/radio/src/targets/taranis/pwr_driver.c b/radio/src/targets/taranis/pwr_driver.c index c24b7e490..934da3ec3 100644 --- a/radio/src/targets/taranis/pwr_driver.c +++ b/radio/src/targets/taranis/pwr_driver.c @@ -37,14 +37,8 @@ #include "board_taranis.h" #include "../../pwr.h" -#ifdef REV9E - #define POWER_STATE_OFF 0 - #define POWER_STATE_START 1 - #define POWER_STATE_RUNNING 2 - #define POWER_STATE_STOPPING 3 - #define POWER_STATE_STOPPED 4 - uint8_t PowerState = POWER_STATE_OFF ; -#endif +extern volatile uint32_t g_tmr10ms; +#define get_tmr10ms() g_tmr10ms void pwrInit() { @@ -99,6 +93,10 @@ void pwrInit() // Soft power ON GPIO_SetBits(GPIOPWR, PIN_MCU_PWR); + +#if defined(REV9E) + while (pwrPressed()) ; +#endif } void pwrOff() @@ -106,41 +104,45 @@ void pwrOff() GPIO_ResetBits(GPIOPWR, PIN_MCU_PWR); } -// TODO enums should be UPPERCASE +#if defined(REV9E) +uint32_t pwrPressed() +{ + return GPIO_ReadInputDataBit(GPIOPWR, PIN_PWR_STATUS) == Bit_RESET; +} +#if !defined(BOOT) +uint32_t pwrPressTime = 0; +uint32_t pwrPressedDuration() +{ + if (pwrPressTime == 0) { + return 0; + } + else { + return get_tmr10ms() - pwrPressTime; + } +} +uint32_t pwrCheck() +{ + if (pwrPressed()) { + if (pwrPressTime == 0) { + pwrPressTime = get_tmr10ms(); + } + else { + if (get_tmr10ms() - pwrPressTime > 250) { + return e_power_off; + } + } + } + else { + pwrPressTime = 0; + } + return e_power_on; +} +#endif +#else uint32_t pwrCheck() { #if defined(SIMU) return e_power_on; -#elif defined(REV9E) - uint32_t switchValue = GPIO_ReadInputDataBit(GPIOPWR, PIN_PWR_STATUS) == Bit_RESET; - switch ( PowerState ) - { - case POWER_STATE_OFF : - PowerState = POWER_STATE_START ; - return e_power_on ; - - case POWER_STATE_START : - if ( !switchValue ) { - PowerState = POWER_STATE_RUNNING ; - } - return e_power_on ; - - case POWER_STATE_RUNNING : - if ( switchValue ) { - PowerState = POWER_STATE_STOPPING ; -// return e_power_on; - } - return e_power_on ; - - case POWER_STATE_STOPPING : - if ( !switchValue ) { - PowerState = POWER_STATE_STOPPED ; - } - return e_power_off ; - - case POWER_STATE_STOPPED : - return e_power_off ; - } #else if (GPIO_ReadInputDataBit(GPIOPWR, PIN_PWR_STATUS) == Bit_RESET) return e_power_on; @@ -150,3 +152,4 @@ uint32_t pwrCheck() return e_power_off; #endif } +#endif diff --git a/radio/src/tasks_arm.cpp b/radio/src/tasks_arm.cpp index 8ca2b437a..a0a0b5c40 100644 --- a/radio/src/tasks_arm.cpp +++ b/radio/src/tasks_arm.cpp @@ -155,9 +155,6 @@ void mixerTask(void * pdata) #define MENU_TASK_PERIOD_TICKS 10 // 20ms -extern void opentxClose(); -extern void opentxInit(); - void menusTask(void * pdata) { opentxInit(); diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index eac2b461b..046921ce0 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -566,12 +566,13 @@ void telemetryReset() #endif #if defined(CPUARM) && defined(SIMU) - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, RSSI_ID, 0, 75, UNIT_RAW, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID, 0, 100, UNIT_CELSIUS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID, 1, 200, UNIT_CELSIUS, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, RSSI_ID, 25, 75, UNIT_RAW, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, SWR_ID, 25, 5, UNIT_RAW, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID, 5, 100, UNIT_CELSIUS, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID+0x10, 5, 200, UNIT_CELSIUS, 0); setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, ALT_FIRST_ID, 1, 1000, UNIT_METERS, 2); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CELLS_FIRST_ID, 1, 0x80280220, UNIT_CELLS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CURR_FIRST_ID, 1, 100, UNIT_AMPS, 2); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CELLS_FIRST_ID, 2, 0x80280220, UNIT_CELLS, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CURR_FIRST_ID, 3, 100, UNIT_AMPS, 2); #endif } diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index a98632f0a..19f4da929 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -135,6 +135,8 @@ #define RSSI_ID 0xf101 #define ADC1_ID 0xf102 #define ADC2_ID 0xf103 +#define SP2UART_A_ID 0xfd00 +#define SP2UART_B_ID 0xfd01 #define BATT_ID 0xf104 #define SWR_ID 0xf105 #define XJT_VERSION_ID 0xf106 @@ -331,7 +333,8 @@ struct FrskyData { }; #endif -#define IS_VALID_XJT_VERSION() (frskyData.xjtVersion != 0 && frskyData.xjtVersion != 0xff) +#define IS_VALID_XJT_VERSION() (frskyData.xjtVersion != 0 && frskyData.xjtVersion != 0xff) +#define IS_HIDDEN_TELEMETRY_VALUE() ((appId == SP2UART_A_ID) || (appId == SP2UART_B_ID) || (appId == XJT_VERSION_ID) || ((appId == SWR_ID) && !IS_VALID_XJT_VERSION())) enum AlarmLevel { alarm_off = 0, diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index b1cb34933..6fe757915 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -58,9 +58,12 @@ struct FrSkySportSensor { const FrSkySportSensor sportSensors[] = { { RSSI_ID, RSSI_ID, ZSTR_RSSI, UNIT_RAW, 0 }, - { ADC1_ID, ADC1_ID, ZSTR_A1, UNIT_VOLTS, 0 }, - { ADC2_ID, ADC2_ID, ZSTR_A2, UNIT_VOLTS, 0 }, - { BATT_ID, BATT_ID, ZSTR_BATT, UNIT_VOLTS, 0 }, + { SWR_ID, SWR_ID, ZSTR_SWR, UNIT_RAW, 0 }, + { ADC1_ID, ADC1_ID, ZSTR_A1, UNIT_VOLTS, 1 }, + { ADC2_ID, ADC2_ID, ZSTR_A2, UNIT_VOLTS, 1 }, + { A3_FIRST_ID, A3_LAST_ID, ZSTR_A3, UNIT_VOLTS, 2 }, + { A4_FIRST_ID, A4_LAST_ID, ZSTR_A4, UNIT_VOLTS, 2 }, + { BATT_ID, BATT_ID, ZSTR_BATT, UNIT_VOLTS, 1 }, { T1_FIRST_ID, T2_LAST_ID, ZSTR_TEMP, UNIT_CELSIUS, 0 }, { RPM_FIRST_ID, RPM_LAST_ID, ZSTR_RPM, UNIT_RPMS, 0 }, { FUEL_FIRST_ID, FUEL_LAST_ID, ZSTR_FUEL, UNIT_PERCENT, 0 }, @@ -166,7 +169,7 @@ void processSportUpdatePacket(uint8_t *packet) void processSportPacket(uint8_t *packet) { - uint8_t dataId = packet[0]; + uint8_t dataId = (packet[0] & 0x1F) + 1; uint8_t prim = packet[1]; uint16_t appId = *((uint16_t *)(packet+2)); @@ -220,8 +223,8 @@ void processSportPacket(uint8_t *packet) uint16_t value = HUB_DATA_U16(packet); processHubPacket(id, value); } - else { - if (appId == ADC1_ID || appId == ADC2_ID || appId == BATT_ID) { + else if (!IS_HIDDEN_TELEMETRY_VALUE()) { + if (appId == ADC1_ID || appId == ADC2_ID || appId == BATT_ID || appId == SWR_ID) { data = SPORT_DATA_U8(packet); } const FrSkySportSensor * sensor = getFrSkySportSensor(appId); @@ -250,7 +253,6 @@ void frskySportSetDefault(int index, uint16_t id, uint8_t instance) uint8_t prec = min(2, sensor->prec); telemetrySensor.init(sensor->name, unit, prec); if (id >= ADC1_ID && id <= BATT_ID) { - telemetrySensor.prec = 1; telemetrySensor.custom.ratio = 132; telemetrySensor.inputFlags = TELEM_INPUT_FLAGS_FILTERING; } diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 738db4af3..5ad95b3bd 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -378,6 +378,10 @@ const pm_char STR_SHUTDOWN[] PROGMEM = TR_SHUTDOWN; const pm_char STR_SAVEMODEL[] PROGMEM = TR_SAVEMODEL; #endif +#if defined(PCBTARANIS) && defined(REV9E) +const pm_char STR_POWEROFF[] PROGMEM = TR_POWEROFF; +#endif + const pm_char STR_BATT_CALIB[] PROGMEM = TR_BATT_CALIB; #if defined(CPUARM) || defined(FRSKY) @@ -501,6 +505,8 @@ const pm_char STR_FLASH_EXTERNAL_DEVICE[] PROGMEM = TR_FLASH_EXTERNAL_DEVICE; const pm_char STR_WRITING[] PROGMEM = TR_WRITING; const pm_char STR_CONFIRM_FORMAT[] PROGMEM = TR_CONFIRM_FORMAT; const pm_char STR_EEBACKUP[] PROGMEM = TR_EEBACKUP; +const pm_char STR_FACTORYRESET[] PROGMEM = TR_FACTORYRESET; +const pm_char STR_CONFIRMRESET[] PROGMEM = TR_CONFIRMRESET; const pm_char STR_TOO_MANY_LUA_SCRIPTS[] PROGMEM = TR_TO_MANY_LUA_SCRIPTS; const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; @@ -531,9 +537,21 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; const pm_char STR_CRITICALALARM[] PROGMEM = TR_CRITICALALARM; const pm_char STR_TELEMETRY_TYPE[] PROGMEM = TR_TELEMETRY_TYPE; const pm_char STR_TELEMETRY_SENSORS[] PROGMEM = TR_TELEMETRY_SENSORS; + const pm_char STR_VALUE[] PROGMEM = TR_VALUE; + const pm_char STR_TOPLCDTIMER[] PROGMEM = TR_TOPLCDTIMER; + const pm_char STR_UNIT[] PROGMEM = TR_UNIT; const pm_char STR_TELEMETRY_NEWSENSOR[] PROGMEM = TR_TELEMETRY_NEWSENSOR; const pm_char STR_ID[] PROGMEM = TR_ID; const pm_char STR_PRECISION[] PROGMEM = TR_PRECISION; + const pm_char STR_RATIO[] PROGMEM = TR_RATIO; + const pm_char STR_FORMULA[] PROGMEM = TR_FORMULA; + const pm_char STR_CELLINDEX[] PROGMEM = TR_CELLINDEX; + const pm_char STR_LOGS[] PROGMEM = TR_LOGS; + const pm_char STR_OPTIONS[] PROGMEM = TR_OPTIONS; + const pm_char STR_ALTSENSOR[] PROGMEM = TR_ALTSENSOR; + const pm_char STR_CELLSENSOR[] PROGMEM = TR_CELLSENSOR; + const pm_char STR_GPSSENSOR[] PROGMEM = TR_GPSSENSOR; + const pm_char STR_CURRENTSENSOR[] PROGMEM = TR_CURRENTSENSOR; #endif #if defined(PCBTARANIS) diff --git a/radio/src/translations.h b/radio/src/translations.h index b297af880..139146342 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -544,6 +544,10 @@ extern const pm_char STR_SHUTDOWN[]; extern const pm_char STR_SAVEMODEL[]; #endif +#if defined(PCBTARANIS) && defined(REV9E) +extern const pm_char STR_POWEROFF[]; +#endif + extern const pm_char STR_BATT_CALIB[]; #if defined(CPUARM) || defined(FRSKY) @@ -671,6 +675,8 @@ extern const pm_char STR_FLASH_INTERNAL_MODULE[]; extern const pm_char STR_WRITING[]; extern const pm_char STR_CONFIRM_FORMAT[]; extern const pm_char STR_EEBACKUP[]; +extern const pm_char STR_FACTORYRESET[]; +extern const pm_char STR_CONFIRMRESET[]; extern const pm_char STR_TOO_MANY_LUA_SCRIPTS[]; extern const pm_char STR_BLCOLOR[]; @@ -737,9 +743,21 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_CRITICALALARM[]; extern const pm_char STR_TELEMETRY_TYPE[]; extern const pm_char STR_TELEMETRY_SENSORS[]; + extern const pm_char STR_VALUE[]; + extern const pm_char STR_TOPLCDTIMER[]; + extern const pm_char STR_UNIT[] PROGMEM; extern const pm_char STR_TELEMETRY_NEWSENSOR[]; extern const pm_char STR_ID[]; extern const pm_char STR_PRECISION[]; + extern const pm_char STR_RATIO[]; + extern const pm_char STR_FORMULA[]; + extern const pm_char STR_CELLINDEX[]; + extern const pm_char STR_LOGS[]; + extern const pm_char STR_OPTIONS[]; + extern const pm_char STR_ALTSENSOR[]; + extern const pm_char STR_CELLSENSOR[]; + extern const pm_char STR_GPSSENSOR[]; + extern const pm_char STR_CURRENTSENSOR[]; #endif #if defined(PCBTARANIS) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 18c5fc535..5d765b36a 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -82,9 +82,15 @@ #define LEN_UART3MODES "\015" #define TR_UART3MODES "VYP\0 ""S-Port Mirror""Telemetrie\0 ""SBUS Trainer\0""Debug\0" +#define LEN_SWTYPES "\006" +#define TR_SWTYPES "None\0 ""Toggle""2POS\0 ""3POS\0" + #define LEN_POTTYPES "\017" #define TR_POTTYPES "Není\0 ""Pot s aretací\0 ""Vícepol. přep.\0""Potenciometr\0" +#define LEN_SLIDERTYPES "\006" +#define TR_SLIDERTYPES "žádný\0""Slider" + #define LEN_DATETIME "\006" #define TR_DATETIME "DATUM:""ČAS: " @@ -109,15 +115,20 @@ #define LEN_VTRIMINC "\007" #define TR_VTRIMINC "Expo\0 ""ExJemný""Jemný\0 ""Střední""Hrubý\0 " +#define LEN_VDISPLAYTRIMS "\006" +#define TR_VDISPLAYTRIMS "Ne\0 ""Změna\0""Ano\0 " + #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Tichý\0""Zvuk\0 ""Hlas\0 " +#define TR_VBEEPCOUNTDOWN "Ne\0 ""Zvuk\0 ""Hlas\0 " #define LEN_CURVE_TYPES "\010" #define TR_CURVE_TYPES "Rastr-X\0""Volná-XY" #define LEN_RETA123 "\001" -#if defined(PCBTARANIS) || defined(REVX) +#if defined(PCBTARANIS) && defined(REV9E) + #define TR_RETA123 "SVPK1234LRLR" +#elif defined(PCBTARANIS) || defined(REVX) #define TR_RETA123 "SVPK123LR" #elif defined(PCBSKY9X) #define TR_RETA123 "SVPK123a" @@ -174,7 +185,7 @@ #define LEN_VMIXTRIMS "\004" #define TR_VMIXTRIMS "VYP\0""ZAP\0""Směr""Výšk""Plyn""Křid" -#if defined(PCBTARANIS) +#if LCD_W >= 212 #define TR_CSWTIMER "Timer" #define TR_CSWSTICKY "Stcky" #define TR_CSWRANGE "Range" @@ -230,18 +241,18 @@ #else #define TR_PLAY_TRACK "\221\222Stopa\0 " #endif - #define TR_PLAY_BOTH "\221\222Pár\0 " - #define TR_PLAY_VALUE "\221\222TTS\0 " + #define TR_PLAY_BOTH "\221\222Pár stop\0" + #define TR_PLAY_VALUE "\221\222Hlásit\0 " #else #define TR_PLAY_TRACK "[\221\222Stopa]\0 " #define TR_PLAY_BOTH "[\221\222Pár]\0 " - #define TR_PLAY_VALUE "[\221\222TTS]\0 " + #define TR_PLAY_VALUE "[\221\222Hlásit]\0" #endif -#define TR_SF_BG_MUSIC "BgHudba\0 ""BgHudba ||\0" +#define TR_SF_BG_MUSIC "\221\222Hudba\0 ""\221\222Hudba ||\0" #if defined(SDCARD) - #define TR_SDCLOGS "Log na SD\0 " + #define TR_SDCLOGS "Loguj na SD" #else #define TR_SDCLOGS "[Logování]\0" #endif @@ -249,7 +260,7 @@ #ifdef GVARS #define TR_ADJUST_GVAR "Nastav \0 " #else - #define TR_ADJUST_GVAR "[AdjustGV]\0" + #define TR_ADJUST_GVAR "[Nastav GP]" #endif #if defined(LUA) @@ -302,8 +313,8 @@ #define TR_FSW_RESET_ROTENC #endif -#if defined(PCBTARANIS) - #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " +#if LCD_W >= 212 + #define TR_FSW_RESET_TIMERS "Stopky 1\0 ""Stopky 2\0 ""Stopky 3\0 " #elif defined(CPUARM) #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" #else @@ -335,10 +346,10 @@ #define TR_ASPD_MAX TR("ASp+", "ASpd+") -#if defined(PCBTARANIS) +#if LCD_W >= 212 #define TR_TELEM_RSSI_RX "RSSI\0" #else - #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") + #define TR_TELEM_RSSI_RX TR("Rx\0 ", "Rx\0 ") #endif #if defined(CPUARM) @@ -361,10 +372,8 @@ #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010") #define TR_VUNITSSYSTEM TR("Metr.\0""Imper.", "Metrické""Imperial") - #define LEN_VTELEMUNIT_METR "\003" - #define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 " - #define LEN_VTELEMUNIT_IMP "\003" - #define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 " + #define LEN_VTELEMUNIT "\003" + #define TR_VTELEMUNIT "-\0 ""v\0 ""A\0 ""mA\0""kts""m/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""dBm""rpm""g\0 ""@\0" #else #if defined(IMPERIAL_UNITS) #define LENGTH_UNIT LENGTH_UNIT_IMP @@ -390,24 +399,29 @@ #define TR_VTELPROTO "---\0 ""Hub\0 ""WSHHigh" #if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") + #define LEN_VOLTSRC TR("\003", "\005") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") #else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells") #endif -#define LEN_VARIOSRC "\005" +#define LEN_VARIOSRC "\004" #if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" + #define TR_VARIOSRC "VSpd""A1\0 ""A2\0 ""dTE\0" #else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" + #define TR_VARIOSRC "Alt\0""Alt+""VSpd""A1\0 ""A2\0" #endif +#if defined(CPUARM) +#define LEN_VTELEMSCREENTYPE "\010" +#define TR_VTELEMSCREENTYPE "Hodnota ""Ukazatel""Skript\0" +#else #define LEN_VTELEMSCREENTYPE "\010" #define TR_VTELEMSCREENTYPE "Hodnota ""Ukazatel" +#endif #define LEN_GPSFORMAT "\004" #define TR_GPSFORMAT "DMS\0""NMEA" @@ -428,22 +442,31 @@ #define LEN_VSWITCHES "\003" #define LEN_VSRCRAW "\004" -#if defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""S3\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 " +#define LEN_INPUTNAMES "\004" +#define TR_INPUTNAMES "Smer""Vysk""Plyn""Krid" + +#define TR_STICKS_VSRCRAW TR("Směr""Výšk""Plyn""Křid", "\307Smě""\307Výš""\307Pln""\307Kři") +#define TR_TRIMS_VSRCRAW TR("TrmS""TrmV""TrmP""TrmK", "\313Smě""\313Výš""\313Pln""\313Kři") + +#if defined(PCBTARANIS) && defined(REV9E) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\310S4\0""\311LS\0""\311RS\0""\311LS2""\311RS2" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" +#elif defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0" #else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_POTS_VSRCRAW "POT1""POT2""POT3" #define TR_SW_VSRCRAW "3POS" #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" #endif #if defined(CPUARM) - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12""L13""L14""L15""L16""L17""L18""L19""L20""L21""L22""L23""L24""L25""L26""L27""L28""L29""L30""L31""L32" #else - #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" + #define TR_LOGICALSW "L1\0""L2\0""L3\0""L4\0""L5\0""L6\0""L7\0""L8\0""L9\0""L10""L11""L12" #endif -#define TR_TRIMS_SWITCHES "tSl""tSp""tVd""tVn""tPd""tPn""tKl""tKp" +#define TR_TRIMS_SWITCHES "\313Sl""\313Sp""\313Vd""\313Vn""\313Pd""\313Pn""\313Kl""\313Kp" #if defined(PCBSKY9X) #define TR_ROTARY_ENCODERS "REa\0" @@ -456,13 +479,23 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #define TR_VSWITCHES "---""SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" -#elif defined(CPUARM) - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" +#if defined(PCBTARANIS) && defined(REV9E) + #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" +#elif defined(PCBTARANIS) + #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" +#endif + +#if defined(PCBTARANIS) + #if defined(REV9E) + #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" + #else + #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" + #endif + #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" +#else + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" #endif #if defined(HELI) @@ -471,13 +504,17 @@ #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" #endif -#define TR_VSRCRAW "---\0""Směr""Výšk""Plyn""Křid" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" TR_SW_VSRCRAW +#if defined(CPUARM) + #define TR_RESERVE_VSRCRAW "[--]" + #define TR_EXTRA_VSRCRAW "Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" +#else + #define TR_EXTRA_VSRCRAW +#endif -#define LEN_INPUTNAMES "\004" -#define TR_INPUTNAMES "Smer""Vysk""Plyn""Krid" +#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW #define LEN_VTMRMODES "\004" -#define TR_VTMRMODES "VYP\0""ABS\0""Pln>""Pln%""Pln*" +#define TR_VTMRMODES "VYP\0""ZAP\0""Pln>""Pln%""Pln*" #define LEN_VTRAINERMODES "\022" #define TR_VTRAINERMODES "Učitel/Jack\0 ""Žák/Jack\0 ""Master/SBUS Module""Master/CPPM Module""Master/Battery\0" @@ -495,9 +532,17 @@ #endif // ZERO TERMINATED STRINGS +#if defined(COLORLCD) + #define INDENT "\007" + #define LEN_INDENT 1 + #define INDENT_WIDTH 12 + #define BREAKSPACE "\036" +#else #define INDENT "\001" #define LEN_INDENT 1 #define INDENT_WIDTH (FW/2) +#define BREAKSPACE " " +#endif #if defined(PCBTARANIS) #define TR_ENTER "[ENTER]" @@ -516,7 +561,7 @@ #define TR_MENUWHENDONE CENTER "\011" TR_ENTER " > DALŠÍ" #define TR_FREE TR("volné:", "volných") -#define TR_DELETEMODEL "SMAZAT MODEL" +#define TR_DELETEMODEL "SMAZAT" BREAKSPACE "MODEL" #define TR_COPYINGMODEL "Kopíruji model.." #define TR_MOVINGMODEL "Přesouvám model." #define TR_LOADINGMODEL "Aktivuji model.." @@ -525,7 +570,7 @@ #define TR_PHASENAME "Název" #define TR_MIXNAME "Název" #define TR_INPUTNAME "Název" -#if defined(PCBTARANIS) +#if defined(VIRTUALINPUTS) #define TR_EXPONAME "Popis" #else #define TR_EXPONAME "Název" @@ -535,13 +580,17 @@ #define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%") #define TR_ETRIMS TR("širší Trim", "Široký trim") #define TR_TRIMINC TR("Krok Trimu", "Krok trimu") -#define TR_DISPLAY_TRIMS "Display Trims" +#define TR_DISPLAY_TRIMS "Zobr.hodnotu trimu" #define TR_TTRACE TR("StopaPlynu", INDENT "Stopa plynu") #define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh") -#define TR_BEEPCTR "Středy \221\222" +#define TR_BEEPCTR TR("Středy \221\222", "Pípat středy \221\222") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" #define TR_PROTO INDENT "Protokol" +#if defined(CPUARM) #define TR_PPMFRAME INDENT "PPM frame" +#else + #define TR_PPMFRAME "PPM frame" +#endif #define TR_MS "ms" #define TR_SWITCH "Spínač" #define TR_TRIMS "Trimy" @@ -552,8 +601,8 @@ #define OFS_CHECKTRIMS (9*FW) #define TR_SWASHTYPE "Typ cykliky" #define TR_COLLECTIVE "Kolektiv" -#define TR_AILERON "Aileron Source" -#define TR_ELEVATOR "Elevator Source" +#define TR_AILERON "Boční cyklika" +#define TR_ELEVATOR "Podélná cykl." #define TR_SWASHRING "Cyklika" #define TR_ELEDIRECTION "Směr:Výškovka" #define TR_AILDIRECTION "\012Křidélka" @@ -617,8 +666,8 @@ #define TR_BLOFFBRIGHTNESS INDENT"Jas Vyp." #define TR_BLCOLOR INDENT "Barva" #define TR_SPLASHSCREEN TR("úvodníLogo", "Zobrazit úvodní logo") -#define TR_THROTTLEWARNING TR("* Plyn", INDENT "Páka Plynu") -#define TR_SWITCHWARNING TR("* Spínače", INDENT "Polohy Spínačů") +#define TR_THROTTLEWARNING TR("* Plyn", INDENT "Kontrola plynu") +#define TR_SWITCHWARNING TR("* Spínače", INDENT "Polohy spínačů") #define TR_POTWARNING TR("* Potenc.", INDENT "Nastavení Pot.") #define TR_TIMEZONE "časové pásmo" #define TR_ADJUST_RTC INDENT "Adjust RTC" @@ -634,9 +683,15 @@ #define TR_CAL "Kal." #define TR_VTRIM "Trim- +" #define TR_BG "BG:" -#define TR_MENUTOSTART CENTER "\011" TR_ENTER " = START" -#define TR_SETMIDPOINT CENTER "\004Nastav páky na střed" -#define TR_MOVESTICKSPOTS TR(CENTER "\006Hýbej pákami/poty", "\014Hýbej pákami i potenciometry") +#if defined(COLORLCD) + #define TR_MENUTOSTART TR_ENTER " = START" + #define TR_SETMIDPOINT "Nastav páky na střed" + #define TR_MOVESTICKSPOTS "Hýbej pákami/poty" +#else + #define TR_MENUTOSTART CENTER "\011" TR_ENTER " = START" + #define TR_SETMIDPOINT CENTER "\004Nastav páky na střed" + #define TR_MOVESTICKSPOTS TR(CENTER "\006Hýbej pákami/poty", "\014Hýbej pákami i potenciometry") +#endif #define TR_RXBATT "Rx Bat.:" #define TR_TXnRX "Tx:\0Rx:" #define OFS_RX 4 @@ -679,7 +734,11 @@ #define TR_MENUDIAG "DIAG" #define TR_MENUANA "ANALOGY" #define TR_MENUCALIBRATION "KALIBRACE" +#if defined(COLORLCD) #define TR_TRIMS2OFFSETS "\006Trimy => Subtrimy" +#else +#define TR_TRIMS2OFFSETS "\006Trimy => Subtrimy" +#endif #define TR_MENUMODELSEL "MODEL" #define TR_MENUSETUP "NASTAVENÍ" #define TR_MENUFLIGHTPHASE "LETOVÝ REŽIM" @@ -688,15 +747,12 @@ #define TR_MENULIMITS "SERVA" -#if defined(PCBTARANIS) +#if defined(VIRTUALINPUTS) #define TR_MENUINPUTS "VSTUPY" #else #define TR_MENUINPUTS "DR/EXPO" #endif - - - #define TR_MENUCURVES "KŘIVKY" #define TR_MENUCURVE "\002K" #define TR_MENULOGICALSWITCH "LOG. SPÍNAč" @@ -708,8 +764,12 @@ #define TR_MENUTEMPLATES "ŠABLONY" #define TR_MENUSTAT "STATISTIKA" #define TR_MENUDEBUG "DIAG" -#define TR_RXNUM INDENT "Přijímač" -#define TR_SYNCMENU "Sync [MENU]" +#if defined(CPUARM) + #define TR_RXNUM TR(INDENT "RX číslo", INDENT "Číslo přijímače") +#else + #define TR_RXNUM "RX číslo" +#endif +#define TR_SYNCMENU "[Sync]" #define TR_LIMIT INDENT"Limit" #define TR_MINRSSI "Min Rssi" #define TR_LATITUDE "Zem. šířka" @@ -719,8 +779,9 @@ #define TR_PITCH_AT_ZERO INDENT "Tón na nule" #define TR_PITCH_AT_MAX INDENT "Tón na maximu" #define TR_REPEAT_AT_ZERO INDENT "Opakování na nule" -#define TR_SHUTDOWN "VYPÍNÁNí.." -#define TR_SAVEMODEL "Saving model settings" +#define TR_POWEROFF "\027Power OFF..." +#define TR_SHUTDOWN "Vypínání.." +#define TR_SAVEMODEL "Ukládám nastavení modelu" #define TR_BATT_CALIB "Kalib. baterie" #define TR_CURRENT_CALIB " +=\006Proud" #define TR_VOLTAGE INDENT"Napětí" @@ -734,7 +795,7 @@ #define TR_RESTORE_MODEL "Obnov model z SD" #define TR_SDCARD_ERROR "Chyba SD karty" #define TR_NO_SDCARD "Není SD karta" -#define TR_SDCARD_FULL "SD Card Full" +#define TR_SDCARD_FULL "Plná SD karta" #define TR_INCOMPATIBLE "Nekompatibilní" #define TR_WARNING "KONTROLA" #define TR_EEPROMWARN "EEPROM" @@ -742,7 +803,7 @@ #define TR_THROTTLEWARN "PLYNU" #define TR_ALARMSWARN "ALARMU" #define TR_SWITCHWARN "POZICE" -#define TR_KEYSTUCK "Key stuck" +#define TR_KEYSTUCK "Zaseklá klávesa" #define TR_INVERT_THR "Invertovat plyn?" #define TR_SPEAKER_VOLUME INDENT "Hlasitost" #define TR_LCD "LCD" @@ -752,8 +813,8 @@ #define TR_CPU_MAH "Spotřeba" #define TR_COPROC "CoProc." #define TR_COPROC_TEMP "Tepl. MB \016>" -#define TR_CAPAWARNING INDENT "Kapacita" -#define TR_TEMPWARNING INDENT "Teplota" +#define TR_CAPAWARNING INDENT "Nízká kapacita" +#define TR_TEMPWARNING INDENT "Přehřátí" #define TR_FUNC "Fce." #define TR_V1 "V1" #define TR_V2 "V2" @@ -761,10 +822,10 @@ #define TR_DELAY "Zdržet" #define TR_SD_CARD "SD" #define TR_SDHC_CARD "SD-HC" -#define TR_NO_SOUNDS_ON_SD "žádný zvuk na SD" -#define TR_NO_MODELS_ON_SD "žádný model na SD" -#define TR_NO_BITMAPS_ON_SD "žádné obrázky na SD" -#define TR_NO_SCRIPTS_ON_SD "žádný skript na SD" +#define TR_NO_SOUNDS_ON_SD "žádný zvuk" BREAKSPACE "na SD" +#define TR_NO_MODELS_ON_SD "žádný model" BREAKSPACE "na SD" +#define TR_NO_BITMAPS_ON_SD "žádné obrázky" BREAKSPACE "na SD" +#define TR_NO_SCRIPTS_ON_SD "žádný skript" BREAKSPACE "na SD" #define TR_PLAY_FILE "Přehrát" #define TR_DELETE_FILE "Odstranit" #define TR_COPY_FILE "Kopírovat" @@ -794,17 +855,19 @@ #define TR_DATE "Datum" #define TR_ROTARY_ENCODER "R.Encs" #define TR_CHANNELS_MONITOR "MONITOR KANÁLU" -#define TR_MIXERS_MONITOR "MIXERS MONITOR" +#define TR_MIXERS_MONITOR "MONITOR MIXU" #define TR_PATH_TOO_LONG "Cesta je moc dlouhá" #define TR_VIEW_TEXT "Zobrazit text" -#define TR_FLASH_BOOTLOADER "Flash BootLoader" -#define TR_WRITING "\032Writing..." -#define TR_CONFIRM_FORMAT "Confirm Format?" +#define TR_FLASH_BOOTLOADER "Flash BootLoaderu" +#define TR_FLASH_EXTERNAL_DEVICE "Flash externí krabičky" +#define TR_FLASH_INTERNAL_MODULE "Flash vnitřního modulu" +#define TR_WRITING "\032Zapisuji.." +#define TR_CONFIRM_FORMAT "Provést Formát?" #define TR_INTERNALRF "Vnitřní RF modul" #define TR_EXTERNALRF "Externí RF modul" #define TR_FAILSAFE "Mód Failsafe" #define TR_FAILSAFESET "NASTAVENÍ FAILSAFE" -#define TR_MENUSENSOR "SENSOR" +#define TR_MENUSENSOR "SENZOR" #define TR_COUNTRYCODE "Kód regionu" #define TR_VOICELANG "Jazyk hlasu" #define TR_UNITSSYSTEM "Jednotky" @@ -838,8 +901,11 @@ #define TR_MODELIDUSED TR("ID již použito","ID modelu je již použito") #define TR_MODULE INDENT "Modul" #define TR_TELEMETRY_TYPE TR("Typ", "Typ telemetrie") -#define TR_TELEMETRY_SENSORS "Sensors" -#define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." +#define TR_TELEMETRY_SENSORS "Senzory" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" +#define TR_TELEMETRY_NEWSENSOR INDENT "+ Přidat nový senzor.." #define TR_CHANNELRANGE INDENT "Rozsah kanálů" #define TR_LOWALARM INDENT "Nízký Alarm" #define TR_CRITICALALARM INDENT "Kritický Alarm" @@ -866,6 +932,8 @@ #define TR_INPUTS "Vstupy" #define TR_OUTPUTS "Výstupy" #define TR_EEBACKUP "\010[dlouze ENTER] zálohuje EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Příliš mnoho skriptů!" #if defined(MAVLINK) @@ -970,4 +1038,39 @@ #define TR_MODS_FORBIDDEN "Změny nejsou povoleny!" #define TR_UNLOCKED "Odemčeno" #define TR_ID "ID" -#define TR_PRECISION "Precision" +#define TR_PRECISION "Přesnost" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 8241fd4dc..aa2769fa1 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -778,6 +778,7 @@ #define TR_PITCH_AT_ZERO INDENT "Niedrigster Ton" #define TR_PITCH_AT_MAX INDENT "Höchster Ton" #define TR_REPEAT_AT_ZERO INDENT "Wiederholrate" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "Herunterfahren" #define TR_SAVEMODEL "Modelleinstellungen speichern" #define TR_BATT_CALIB "Akku abgleichen" @@ -900,6 +901,9 @@ #define TR_MODULE INDENT "Modul-Typ" #define TR_TELEMETRY_TYPE TR("Typ", "Telemetrytyp") #define TR_TELEMETRY_SENSORS "----Sensoren----" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Sensor hinzufügen ..." #define TR_CHANNELRANGE TR(INDENT "Kanäle", INDENT "Ausgangs Kanäle") //wg 9XR-Pro #define TR_LOWALARM INDENT "Vor-Alarm bei" @@ -927,6 +931,8 @@ #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\002[ENTER Long] Backup EEPROM->SD-Karte" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Zu viele Lua-Scripten!!" #if defined(MAVLINK) @@ -1032,11 +1038,24 @@ #define TR_UNLOCKED "Entsperrt" #define TR_ID "ID" #define TR_PRECISION "Prezision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" #define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" #define ZSTR_A1 "A1" #define ZSTR_A2 "A2" -#define ZSTR_BATT "Batt" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" #define ZSTR_ALT "Alt" #define ZSTR_TEMP "Temp" #define ZSTR_RPM "RPM" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 09490e257..e1a29182b 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -778,6 +778,7 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "SHUTTING DOWN" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Battery Calib" @@ -900,6 +901,9 @@ #define TR_MODULE INDENT "Module" #define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") #define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE TR(INDENT "Ch. Range", INDENT "Channel Range") #define TR_LOWALARM INDENT "Low Alarm" @@ -927,6 +931,8 @@ #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #if defined(MAVLINK) @@ -1032,11 +1038,24 @@ #define TR_UNLOCKED "Unlocked" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" #define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" #define ZSTR_A1 "A1" #define ZSTR_A2 "A2" -#define ZSTR_BATT "Batt" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" #define ZSTR_ALT "Alt" #define ZSTR_TEMP "Temp" #define ZSTR_RPM "RPM" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 098519165..460a28f72 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -716,6 +716,7 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "APAGANDO" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Calib.bateria" @@ -836,6 +837,9 @@ #define TR_MODULE INDENT "Modulo" #define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") #define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Gama de canales" #define TR_LOWALARM INDENT "Alarma baja" @@ -863,6 +867,8 @@ #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #if defined(MAVLINK) @@ -968,3 +974,38 @@ #define TR_UNLOCKED "Unlocked" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 2eabacb29..dc55d8478 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1,4 +1,4 @@ -/* +/* * Authors (alphabetical order) * - Bertrand Songis * - Bernet Andre @@ -716,6 +716,7 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "SHUTTING DOWN" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Battery Calib" @@ -836,6 +837,9 @@ #define TR_MODULE INDENT "Module" #define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") #define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Channel Range" #define TR_LOWALARM INDENT "Low Alarm" @@ -863,6 +867,8 @@ #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #if defined(MAVLINK) @@ -968,3 +974,38 @@ #define TR_UNLOCKED "Avattu" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index ce283f777..6f35d6dc2 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -319,7 +319,7 @@ #define TR_FSW_RESET_ROTENC #endif -#if LCD >= 212 +#if LCD_W >= 212 #define TR_FSW_RESET_TIMERS "Chrono 1\0 ""Chrono 2\0 ""Chrono 3\0 " #elif defined(CPUARM) #define TR_FSW_RESET_TIMERS "Chr1""Chr2""Chr3" @@ -774,6 +774,7 @@ #define TR_PITCH_AT_ZERO INDENT "Tonalité au zéro" #define TR_PITCH_AT_MAX INDENT "Tonalité au max" #define TR_REPEAT_AT_ZERO INDENT "Intervalle au zéro" +#define TR_POWEROFF "\037\120ARRET..." #define TR_SHUTDOWN "ARRET EN COURS" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Calib. Batterie" @@ -853,15 +854,15 @@ #define TR_PATH_TOO_LONG "Chemin trop long" #define TR_VIEW_TEXT "Voir texte" #define TR_FLASH_BOOTLOADER "Flasher BootLoader" -#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device" -#define TR_FLASH_INTERNAL_MODULE "Flash Module Interne" +#define TR_FLASH_EXTERNAL_DEVICE "Flasher module externe" +#define TR_FLASH_INTERNAL_MODULE "Flasher module interne" #define TR_WRITING "\032Ecriture..." #define TR_CONFIRM_FORMAT "Confirmer Formatage?" #define TR_INTERNALRF "HF interne" #define TR_EXTERNALRF "HF externe" #define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Type failsafe") #define TR_FAILSAFESET "REGLAGES FAILSAFE" -#define TR_MENUSENSOR "SENSOR" +#define TR_MENUSENSOR "CAPTEUR" #define TR_COUNTRYCODE TR("Zone géo.","Zone géographique") #define TR_VOICELANG TR("Langue voix", "Langue annonces vocales") #define TR_UNITSSYSTEM "Unités" @@ -896,6 +897,9 @@ #define TR_MODULE INDENT "Type de module" #define TR_TELEMETRY_TYPE "Type télémesure" #define TR_TELEMETRY_SENSORS "Capteurs" +#define TR_VALUE "Valeur" +#define TR_TOPLCDTIMER "Timer LCD haut" +#define TR_UNIT "Unité" #define TR_TELEMETRY_NEWSENSOR INDENT "Ajout d'un nouveau capteur..." #define TR_CHANNELRANGE TR(INDENT "Canaux", INDENT "Plage de canaux") #define TR_LOWALARM INDENT "Alarme basse" @@ -923,6 +927,8 @@ #define TR_INPUTS "Entrées" #define TR_OUTPUTS "Sorties" #define TR_EEBACKUP "\004[ENTER Long]: Sauvegarder l'EEPROM" +#define TR_FACTORYRESET "\016[MENU Long]: RAZ d'usine" +#define TR_CONFIRMRESET "Effacer TOUS modèles/réglages?" #define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #if defined(MAVLINK) @@ -1027,12 +1033,25 @@ #define TR_MODS_FORBIDDEN "Modifications désactivées!" #define TR_UNLOCKED "Déverrouillé" #define TR_ID "ID" -#define TR_PRECISION "Precision" +#define TR_PRECISION "Précision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formule" +#define TR_CELLINDEX "Index élem." +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Capteur Alt" +#define TR_CELLSENSOR "Capteur Elém" +#define TR_GPSSENSOR "Capteur GPS" +#define TR_CURRENTSENSOR "Capteur cour." #define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" #define ZSTR_A1 "A1" #define ZSTR_A2 "A2" -#define ZSTR_BATT "Batt" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "BtRx" #define ZSTR_ALT "Alt" #define ZSTR_TEMP "Temp" #define ZSTR_RPM "RPM" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 698d139b5..6f15cac05 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -716,6 +716,7 @@ #define TR_PITCH_AT_ZERO INDENT "Tono a Zero" #define TR_PITCH_AT_MAX INDENT "Tono al Max" #define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "ARRESTO.." #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Calibra batt." @@ -836,6 +837,9 @@ #define TR_MODULE INDENT "Modulo" #define TR_TELEMETRY_TYPE "Tipo Telemetria" #define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Numero Canali" #define TR_LOWALARM INDENT "Allarme Basso" @@ -863,6 +867,8 @@ #define TR_INPUTS "Ingresso" #define TR_OUTPUTS "Uscita" #define TR_EEBACKUP "\004[ENTER Lungo] per copiare la EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Troppi Scripts Lua!" #if defined(MAVLINK) @@ -968,3 +974,38 @@ #define TR_UNLOCKED "Sbloccato" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 0332a0eae..f13b8fdb6 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -714,6 +714,7 @@ #define TR_PITCH_AT_ZERO INDENT "Ton przy Zerze" #define TR_PITCH_AT_MAX INDENT "Ton przy Max" #define TR_REPEAT_AT_ZERO INDENT "Powtórz przy Zerze" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "Wyłączanie.." #define TR_SAVEMODEL "Zapisz ustwienia modelu" #define TR_BATT_CALIB "Kalib:Baterii" @@ -834,6 +835,9 @@ #define TR_MODULE INDENT "Moduł" #define TR_TELEMETRY_TYPE "Typ Telemetri" #define TR_TELEMETRY_SENSORS "Czujniki" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Dodaj nowy czujnik..." #define TR_CHANNELRANGE TR(INDENT "ZakrKn",INDENT "Zakres kanału") #define TR_LOWALARM INDENT "Alarm niski" @@ -861,6 +865,8 @@ #define TR_INPUTS "Wejścia" #define TR_OUTPUTS "Wyjścia" #define TR_EEBACKUP "\004[ENTER Długo] Backupowanie EEPROMu" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Za dużo skryptów Lua!" #if defined(MAVLINK) @@ -966,25 +972,38 @@ #define TR_UNLOCKED "Odblokowane" #define TR_ID "ID" #define TR_PRECISION "Precyzja " +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" #define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" #define ZSTR_A1 "A1" #define ZSTR_A2 "A2" -#define ZSTR_BATT "Bat." -#define ZSTR_ALT "Wysok." +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" #define ZSTR_TEMP "Temp" #define ZSTR_RPM "RPM" -#define ZSTR_FUEL "Paliwo" +#define ZSTR_FUEL "Fuel" #define ZSTR_VSPD "VSpd" #define ZSTR_ACCX "AccX" #define ZSTR_ACCY "AccY" #define ZSTR_ACCZ "AccZ" -#define ZSTR_CURR "Natęż" +#define ZSTR_CURR "Curr" #define ZSTR_VFAS "VFAS" #define ZSTR_ASPD "ASpd" #define ZSTR_GSPD "GSpd" -#define ZSTR_HDG "Kurs" -#define ZSTR_CELLS "Cele" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" #define ZSTR_GPSALT "GAlt" -#define ZSTR_GPSDATETIME "Data" +#define ZSTR_GPSDATETIME "Date" #define ZSTR_GPS "GPS" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index cf65ee016..86fc41cce 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -716,6 +716,7 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "DESLIGANDOo" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "CALIBRAR BATT" @@ -836,6 +837,9 @@ #define TR_MODULE INDENT "Module" #define TR_TELEMETRY_TYPE TR("Type", "Telemetry Type") #define TR_TELEMETRY_SENSORS "Sensors" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Add a new sensor..." #define TR_CHANNELRANGE INDENT "Channel Range" #define TR_LOWALARM INDENT "Low Alarm" @@ -863,6 +867,8 @@ #define TR_INPUTS "Inputs" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\004[ENTER Long] to backup the EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" #if defined(MAVLINK) @@ -968,3 +974,38 @@ #define TR_UNLOCKED "Unlocked" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index cc7dbcc7e..ce24e7532 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -716,6 +716,7 @@ #define TR_PITCH_AT_ZERO INDENT "Ton vid Noll" #define TR_PITCH_AT_MAX INDENT "Ton vid Max" #define TR_REPEAT_AT_ZERO INDENT "Repetera vid Noll" +#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "STÄNGER AV" #define TR_SAVEMODEL "Spara modellinställn." #define TR_BATT_CALIB "Kalib. Batteri" @@ -836,6 +837,9 @@ #define TR_MODULE INDENT "Modul" #define TR_TELEMETRY_TYPE "Telemetrityp" #define TR_TELEMETRY_SENSORS "Sensorer" +#define TR_VALUE "Value" +#define TR_TOPLCDTIMER "Top LCD Timer" +#define TR_UNIT "Unit" #define TR_TELEMETRY_NEWSENSOR INDENT "Lägg till sensor..." #define TR_CHANNELRANGE INDENT "Kanalområde" #define TR_LOWALARM INDENT "Låg-alarm" @@ -863,6 +867,8 @@ #define TR_INPUTS "Input" #define TR_OUTPUTS "Outputs" #define TR_EEBACKUP "\004[ENTER Lång] säkerhetskopiera EEPROM" +#define TR_FACTORYRESET "\012[MENU Long]: Factory reset" +#define TR_CONFIRMRESET "Erase ALL models and settings?" #define TR_TO_MANY_LUA_SCRIPTS "För många Lua-scripts!" #if defined(MAVLINK) @@ -968,3 +974,38 @@ #define TR_UNLOCKED "Olåst" #define TR_ID "ID" #define TR_PRECISION "Precision" +#define TR_RATIO "Ratio" +#define TR_FORMULA "Formula" +#define TR_CELLINDEX "Cell index" +#define TR_LOGS "Logs" +#define TR_OPTIONS "Options" + +#define TR_ALTSENSOR "Alt sensor" +#define TR_CELLSENSOR "Cell sensor" +#define TR_GPSSENSOR "GPS sensor" +#define TR_CURRENTSENSOR "Current sensor" + +#define ZSTR_RSSI "RSSI" +#define ZSTR_SWR "SWR" +#define ZSTR_A1 "A1" +#define ZSTR_A2 "A2" +#define ZSTR_A3 "A3" +#define ZSTR_A4 "A4" +#define ZSTR_BATT "RxBt" +#define ZSTR_ALT "Alt" +#define ZSTR_TEMP "Temp" +#define ZSTR_RPM "RPM" +#define ZSTR_FUEL "Fuel" +#define ZSTR_VSPD "VSpd" +#define ZSTR_ACCX "AccX" +#define ZSTR_ACCY "AccY" +#define ZSTR_ACCZ "AccZ" +#define ZSTR_CURR "Curr" +#define ZSTR_VFAS "VFAS" +#define ZSTR_ASPD "ASpd" +#define ZSTR_GSPD "GSpd" +#define ZSTR_HDG "Hdg" +#define ZSTR_CELLS "Cels" +#define ZSTR_GPSALT "GAlt" +#define ZSTR_GPSDATETIME "Date" +#define ZSTR_GPS "GPS"