diff --git a/CREDITS.txt b/CREDITS.txt index 414023ed6..673a08dc7 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -1457,3 +1457,32 @@ Stefan Hufnagl Jean Philippe Bonacci Jack Mitchell Santiago Iglesias Garcia +Steve Kurywchak +Tore Skjefstad +Sergio Digiandco di Molino +Xavier Delepine +Miles Shearman +Bernard Teyssier +Entel Consulting BVBA +Stuart Olson +Maximilian Wechselberger +Kenneth Crump +Ken Elder +Darko Perković +Martin Krueger +Jack Lopes +Huguette Viale +Didier Christien +Pascal Roublot +Arnaud Sourisse +Aldo Midali +Sidney Gates +Serhiy Semenenko +Miguel Esquer Ramiro +Stefan Grunenberg +Ferenc Kunkli +Stefano Boggia +Lee Bennett +Morgantech +Marek Přikryl +Peter Scott diff --git a/companion/src/firmwares/moduledata.cpp b/companion/src/firmwares/moduledata.cpp index 9734fd29e..cc1ccd285 100644 --- a/companion/src/firmwares/moduledata.cpp +++ b/companion/src/firmwares/moduledata.cpp @@ -114,7 +114,7 @@ QString ModuleData::protocolToString(unsigned protocol) QStringList ModuleData::powerValueStrings(int subType, Firmware * fw) { static const QStringList strings[] = { - { tr("10mW - 16CH"), tr("100mW - 16CH"), tr("500mW - 16CH"), tr("1W - 16CH") }, // full-size FCC + { tr("10mW - 16CH"), tr("100mW - 16CH"), tr("500mW - 16CH"), tr("Auto <= 1W - 16CH") }, // full-size FCC { tr("25mW - 8CH"), tr("25mW - 16CH"), tr("200mW - 16CH (no telemetry)"), tr("500mW - 16CH (no telemetry)") }, // full-size EU { tr("100mW - 16CH") }, // mini FCC { tr("25mW - 8CH"), tr("25mW - 16CH"), tr("100mW - 16CH (no telemetry)") } // mini EU diff --git a/companion/src/firmwares/moduledata.h b/companion/src/firmwares/moduledata.h index f07975534..e0ea74958 100644 --- a/companion/src/firmwares/moduledata.h +++ b/companion/src/firmwares/moduledata.h @@ -92,7 +92,13 @@ enum MultiModuleRFProtocols { MM_RF_PROTO_HITEC, MM_RF_PROTO_WFLY, MM_RF_PROTO_BUGS, - MM_RF_PROTO_LAST= MM_RF_PROTO_BUGS + MM_RF_PROTO_BUGS_MINI, + MM_RF_PROTO_TRAXXAS, + MM_RF_PROTO_NCC1701, + MM_RF_PROTO_E01X, + MM_RF_PROTO_V911S, + MM_RF_PROTO_GD00X, + MM_RF_PROTO_LAST = MM_RF_PROTO_GD00X }; enum TrainerProtocol { diff --git a/companion/src/firmwares/multiprotocols.cpp b/companion/src/firmwares/multiprotocols.cpp index fc38a133a..3d7923a9a 100644 --- a/companion/src/firmwares/multiprotocols.cpp +++ b/companion/src/firmwares/multiprotocols.cpp @@ -61,6 +61,7 @@ static const QStringList STR_SUBTYPE_CABELL {"Cabell V3", "Cab V3 Telem", "-", static const QStringList STR_SUBTYPE_H83D {"H8 Mini 3D", "H20H", "H20 Mini", "H30 Mini"}; static const QStringList STR_SUBTYPE_CORONA {"V1", "V2", "Flydream V3"}; static const QStringList STR_SUBTYPE_HITEC {"Optima", "Optima Hub Telem", "Minima"}; +static const QStringList STR_SUBTYPE_E01X {"E012", "E015"}; static const QStringList NO_SUBTYPE {STR_MULTI_DEFAULT}; @@ -95,6 +96,7 @@ const Multiprotocols multiProtocols { {MM_RF_PROTO_H83D, 3, false, STR_SUBTYPE_H83D, nullptr}, {MM_RF_PROTO_CORONA, 2, false, STR_SUBTYPE_CORONA, STR_MULTI_RFTUNE}, {MM_RF_PROTO_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE}, + {MM_RF_PROTO_E01X, 1, false, STR_SUBTYPE_E01X, nullptr}, {MM_RF_CUSTOM_SELECTED, 7, true, STR_SUBTYPE_CUSTOM, STR_MULTI_OPTION}, // Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff) @@ -136,7 +138,7 @@ QString Multiprotocols::protocolToString(int protocol, bool custom) "FlySky", "Hubsan", "FrSky", "Hisky", "V2x2", "DSM", "Devo", "YD717", "KN", "SymaX", "SLT", "CX10", "CG023", "Bayang", "ESky", "MT99XX", "MJXQ", "Shenqi", "FY326", "SFHSS", "J6 PRO","FQ777","Assan","Hontai","Open LRS", "FlySky AFHDS2A", "Q2x2", "Walkera", "Q303", "GW008", "DM002", "Cabell", "ESky 150", "H8 3D", "Corona", "CFlie", - "Hitec", "Wfly", "Bugs" + "Hitec", "Wfly", "Bugs", "Bugs Mini", "Traxxas", "NCC-1701-A", "E01X", "V911S", "GD00X" }); if (protocol == MM_RF_CUSTOM_SELECTED || custom) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 6cc2f5ab8..490887c75 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -863,16 +863,8 @@ void MainWindow::sdsync() void MainWindow::changelog() { - Firmware * firmware = getCurrentFirmware(); - QString url = firmware->getReleaseNotesUrl(); - if (url.isEmpty()) { - QMessageBox::information(this, tr("Release notes"), tr("Cannot retrieve release notes from the server.")); - } - else { - ReleaseNotesFirmwareDialog * dialog = new ReleaseNotesFirmwareDialog(this, url); - dialog->exec(); - dialog->deleteLater(); - } + QString link = "http://www.open-tx.org"; + QDesktopServices::openUrl(QUrl(link)); } void MainWindow::customizeSplash() diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index d0d3e1869..ade0caeb1 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -1260,7 +1260,7 @@ void MdiChild::openModelEditWindow(int row) gStopwatch.report("ModelEdit creation"); ModelEdit * t = new ModelEdit(this, radioData, (row), firmware); gStopwatch.report("ModelEdit created"); - t->setWindowTitle(tr("Editing model %1: ").arg(row+1) + QString(model.name)); + t->setWindowTitle(tr("Editing model %1: ").arg(row+1) + QString(model.name) + QString(" (%1)").arg(userFriendlyCurrentFile())); connect(t, &ModelEdit::modified, this, &MdiChild::setModified); gStopwatch.report("STARTING MODEL EDIT"); t->show(); diff --git a/radio/sdcard/horus/SCRIPTS/WIZARD/glider/wizard.lua b/radio/sdcard/horus/SCRIPTS/WIZARD/glider/wizard.lua index df21f59c4..05a8bf6e0 100644 --- a/radio/sdcard/horus/SCRIPTS/WIZARD/glider/wizard.lua +++ b/radio/sdcard/horus/SCRIPTS/WIZARD/glider/wizard.lua @@ -355,7 +355,7 @@ local function runConfigSummary(event) -- motors if(MotorFields[1][5] == 1) then drawNextLine("Motor chan :", MotorFields[2][5]) - elseif (MotorFields[2][5] == 2) then + elseif (MotorFields[1][5] == 2) then drawNextLine("Motor 1 chan :", MotorFields[2][5]) drawNextLine("Motor 2 chan :", MotorFields[3][5]) end @@ -414,7 +414,7 @@ local function createModel(event) -- motor if(MotorFields[1][5] == 1) then addMix(MotorFields[2][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor") - elseif (MotorFields[2][5] == 2) then + elseif (MotorFields[1][5] == 2) then addMix(MotorFields[2][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor1") addMix(MotorFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor2") end diff --git a/radio/sdcard/horus/SCRIPTS/WIZARD/plane/wizard.lua b/radio/sdcard/horus/SCRIPTS/WIZARD/plane/wizard.lua index 00ceaa6a2..b5701e56d 100755 --- a/radio/sdcard/horus/SCRIPTS/WIZARD/plane/wizard.lua +++ b/radio/sdcard/horus/SCRIPTS/WIZARD/plane/wizard.lua @@ -355,7 +355,7 @@ local function runConfigSummary(event) -- motors if(MotorFields[1][5] == 1) then drawNextLine("Motor chan :", MotorFields[2][5]) - elseif (MotorFields[2][5] == 2) then + elseif (MotorFields[1][5] == 2) then drawNextLine("Motor 1 chan :", MotorFields[2][5]) drawNextLine("Motor 2 chan :", MotorFields[3][5]) end @@ -414,7 +414,7 @@ local function createModel(event) -- motor if(MotorFields[1][5] == 1) then addMix(MotorFields[2][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor") - elseif (MotorFields[2][5] == 2) then + elseif (MotorFields[1][5] == 2) then addMix(MotorFields[2][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor1") addMix(MotorFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(2), "Motor2") end diff --git a/radio/src/gui/gui_common_arm.cpp b/radio/src/gui/gui_common_arm.cpp index 84726a6e7..55418bb75 100644 --- a/radio/src/gui/gui_common_arm.cpp +++ b/radio/src/gui/gui_common_arm.cpp @@ -724,6 +724,7 @@ const char STR_SUBTYPE_CABELL[] = "\007""V3\0 ""V3 Telm""-\0 ""-\0 " const char STR_SUBTYPE_H83D[] = "\007""Std\0 ""H20H\0 ""H20Mini""H30Mini"; const char STR_SUBTYPE_CORONA[] = "\006"" V1\0 "" V2\0 "" FD V3"; const char STR_SUBTYPE_HITEC[] = "\007""Optima\0""Opt Hub""Minima\0"; +const char STR_SUBTYPE_E01X[] = "\004""E012""E015"; const mm_protocol_definition multi_protocols[] = { @@ -754,6 +755,7 @@ const mm_protocol_definition multi_protocols[] = { {MM_RF_PROTO_H83D, 3, false, STR_SUBTYPE_H83D, nullptr}, {MM_RF_PROTO_CORONA, 2, false, STR_SUBTYPE_CORONA, STR_MULTI_RFTUNE}, {MM_RF_PROTO_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE}, + {MM_RF_PROTO_E01X, 1, false, STR_SUBTYPE_E01X, nullptr}, {MM_RF_CUSTOM_SELECTED, 7, true, NO_SUBTYPE, STR_MULTI_OPTION}, // Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index d11194c78..497b05c92 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -363,7 +363,13 @@ enum MultiModuleRFProtocols { MM_RF_PROTO_HITEC, MM_RF_PROTO_WFLY, MM_RF_PROTO_BUGS, - MM_RF_PROTO_LAST= MM_RF_PROTO_BUGS + MM_RF_PROTO_BUGS_MINI, + MM_RF_PROTO_TRAXXAS, + MM_RF_PROTO_NCC1701, + MM_RF_PROTO_E01X, + MM_RF_PROTO_V911S, + MM_RF_PROTO_GD00X, + MM_RF_PROTO_LAST = MM_RF_PROTO_GD00X }; enum MMDSM2Subtypes { diff --git a/radio/src/pulses/modules.h b/radio/src/pulses/modules.h index 80ae60e55..01eacaaaf 100644 --- a/radio/src/pulses/modules.h +++ b/radio/src/pulses/modules.h @@ -214,7 +214,7 @@ inline int8_t defaultModuleChannels_M8(uint8_t idx) else if (isModuleMultimoduleDSM2(idx)) return -1; // 7 channels else - return 8; // 16 channels + return maxModuleChannels_M8(idx); } inline int8_t sentModuleChannels(uint8_t idx) diff --git a/radio/src/targets/taranis/keys_driver.cpp b/radio/src/targets/taranis/keys_driver.cpp index 69a5dcd23..e59177282 100644 --- a/radio/src/targets/taranis/keys_driver.cpp +++ b/radio/src/targets/taranis/keys_driver.cpp @@ -149,7 +149,11 @@ void readKeysAndTrims() keys[index++].input(trims_input & i); } +#if defined(PWR_BUTTON_PRESS) if ((keys_input || trims_input || pwrPressed()) && (g_eeGeneral.backlightMode & e_backlight_mode_keys)) { +#else + if ((keys_input || trims_input) && (g_eeGeneral.backlightMode & e_backlight_mode_keys)) { +#endif // on keypress turn the light on backlightOn(); } diff --git a/radio/src/telemetry/flysky_ibus.cpp b/radio/src/telemetry/flysky_ibus.cpp index 7f54c6594..980b158ce 100644 --- a/radio/src/telemetry/flysky_ibus.cpp +++ b/radio/src/telemetry/flysky_ibus.cpp @@ -103,6 +103,9 @@ static void processFlySkySensor(const uint8_t *packet) else if (id == FS_ID_TEMP) // Temperature sensors have 40 degree offset value -= 400; + else if (sensor->unit == UNIT_VOLTS) + // Voltage types are signed 16bit integers + value = (int16_t)value; setTelemetryValue(TELEM_PROTO_FLYSKY_IBUS, id, 0, instance, value, sensor->unit, sensor->precision); return; } diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 2e88e4843..7e2068830 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -177,7 +177,9 @@ enum FrSkyDataState { #define GASSUIT_MAX_FLOW_LAST_ID 0x0d6f #define GASSUIT_AVG_FLOW_FIRST_ID 0x0d70 #define GASSUIT_AVG_FLOW_LAST_ID 0x0d7f -#define DIY_FIRST_ID 0x5000 +#define SBEC_POWER_FIRST_ID 0x0e50 +#define SBEC_POWER_LAST_ID 0x0e5f +#define DIY_FIRST_ID 0x5100 #define DIY_LAST_ID 0x52ff #define DIY_STREAM_FIRST_ID 0x5000 #define DIY_STREAM_LAST_ID 0x50ff diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index 7cc80ff36..3bc4edde9 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -78,6 +78,8 @@ const FrSkySportSensor sportSensors[] = { { GASSUIT_FLOW_FIRST_ID, GASSUIT_FLOW_LAST_ID, 0, ZSTR_GASSUIT_FLOW, UNIT_MILLILITERS, 0 }, //TODO this needs to be changed to ml/min, but need eeprom conversion { GASSUIT_MAX_FLOW_FIRST_ID, GASSUIT_MAX_FLOW_LAST_ID, 0, ZSTR_GASSUIT_MAX_FLOW, UNIT_MILLILITERS, 0 }, //TODO this needs to be changed to ml/min, but need eeprom conversion { GASSUIT_AVG_FLOW_FIRST_ID, GASSUIT_AVG_FLOW_LAST_ID, 0, ZSTR_GASSUIT_AVG_FLOW, UNIT_MILLILITERS, 0 }, //TODO this needs to be changed to ml/min, but need eeprom conversion + { SBEC_POWER_FIRST_ID, SBEC_POWER_LAST_ID, 0, ZSTR_SBEC_VOLTAGE, UNIT_VOLTS, 2 }, + { SBEC_POWER_FIRST_ID, SBEC_POWER_LAST_ID, 1, ZSTR_SBEC_CURRENT, UNIT_AMPS, 2 }, { 0, 0, 0, NULL, UNIT_RAW, 0 } // sentinel }; @@ -245,6 +247,10 @@ void sportProcessTelemetryPacketWithoutCrc(const uint8_t * packet) else if (id >= ESC_TEMPERATURE_FIRST_ID && id <= ESC_TEMPERATURE_LAST_ID) { sportProcessTelemetryPacket(id, 0, instance, data & 0x00ff); } + else if (id >= SBEC_POWER_FIRST_ID && id <= SBEC_POWER_LAST_ID) { + sportProcessTelemetryPacket(id, 0, instance, (data & 0xffff) / 10); + sportProcessTelemetryPacket(id, 1, instance, (data >> 16) / 10); + } else if (id >= DIY_STREAM_FIRST_ID && id <= DIY_STREAM_LAST_ID) { #if defined(LUA) if (luaInputTelemetryFifo && luaInputTelemetryFifo->hasSpace(sizeof(SportTelemetryPacket))) { diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 48657197f..d83a0dfda 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -115,7 +115,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1277,3 +1277,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index ced83f18e..99d281aa7 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -118,7 +118,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1275,3 +1275,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 2823ffc9e..378c974e1 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1285,3 +1285,5 @@ #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 93016fa40..01069f6d2 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1281,3 +1281,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index b127f78ac..4d5a432c9 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1266,4 +1266,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_VOL "GRVl" #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" -#define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 0e674ac31..b2f351d39 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Perso" @@ -1293,3 +1293,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 4461d0851..3bbc8b0ea 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1276,3 +1276,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 3a28d4d17..0f49ef453 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -119,7 +119,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1283,3 +1283,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index aee19c8c4..265766053 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1277,3 +1277,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" \ No newline at end of file diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index bf8ecb7f1..1c87a541f 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1280,3 +1280,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 11e591792..e89606610 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -117,7 +117,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 " +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXq\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0" #define TR_MULTI_CUSTOM "Custom" @@ -1290,3 +1290,5 @@ define TR_OK TR("\010" "\010" "\010" "[OK]", "\010" "\010 #define ZSTR_GASSUIT_RES_PERC "GRPc" #define ZSTR_GASSUIT_MAX_FLOW "GMFl" #define ZSTR_GASSUIT_AVG_FLOW "GAFl" +#define ZSTR_SBEC_VOLTAGE "BecV" +#define ZSTR_SBEC_CURRENT "BecA" diff --git a/radio/util/fwoptions.py b/radio/util/fwoptions.py index 50b61319e..a48fb7c22 100755 --- a/radio/util/fwoptions.py +++ b/radio/util/fwoptions.py @@ -40,7 +40,8 @@ options_sky9x = { "faimode": ("FAI", "YES", None), "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), - "multimodule": ("MULTIMODULE", "YES", "NO") + "multimodule": ("MULTIMODULE", "YES", "NO"), + "flexr9m": ("MODULE_R9M_FLEX_FW", "YES", None) } options_ar9x = { @@ -61,7 +62,8 @@ options_ar9x = { "faichoice": ("FAI", "CHOICE", None), "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), # "rtc": ("RTCLOCK", "YES", "NO"), - "multimodule": ("MULTIMODULE", "YES", "NO") + "multimodule": ("MULTIMODULE", "YES", "NO"), + "flexr9m": ("MODULE_R9M_FLEX_FW", "YES", None) } options_taranis = { diff --git a/radio/util/tts_it.py b/radio/util/tts_it.py index 81360605e..050a9fc16 100755 --- a/radio/util/tts_it.py +++ b/radio/util/tts_it.py @@ -16,12 +16,12 @@ for i, s in enumerate(["virgola", "un", "e", "meno", "ora", "ore", "minuto", "mi systemSounds.append((s, filename(PROMPT_SYSTEM_BASE + 103 + i))) for i, (s, f) in enumerate([("volt", "volt0"), ("ampere", "amp0"), - ("milliampers", "mamp0"), + ("milliampere", "mamp0"), ("nodo", "knot0"), ("nodi", "knot1"), - ("metro al secondo", "mps0"), ("metri al secondo", "msp1"), - ("piede al secondo", "fps0"), ("piedi al secondo", "fps1"), - ("chilometro ora", "kph0"), ("chilometri orari", "kph1"), - ("miglio per ora", "mph0"), ("miglia per ora", "mph1"), + ("metri al secondo", "mps0"), ("metri al secondo", "msp1"), + ("piedi al secondo", "fps0"), ("piedi al secondo", "fps1"), + ("chilometri orari", "kph0"), ("chilometri orari", "kph1"), + ("miglia orarie", "mph0"), ("miglia orarie", "mph1"), ("metro", "meter0"), ("metri", "meter1"), ("piede", "foot0"), ("piedi", "foot1"), ("grado celsius", "celsius0"), ("gradi celsius", "celsius1"), @@ -34,9 +34,9 @@ for i, (s, f) in enumerate([("volt", "volt0"), ("r p m", "rpm0"), ("r p m", "rpm1"), ("g", "g0"), ("g", "g1"), ("grado", "degree0"), ("gradi", "degree1"), - ("radian", "rad0"), ("radians", "rad1"), + ("radiante", "rad0"), ("radianti", "rad1"), ("millilitro", "m10"), ("millilitri", "m11"), - ("oncia", "founce0"), ("once", "founce1"), + ("oncia fluida", "founce0"), ("once fluide", "founce1"), ("ora", "hour0"), ("ore", "hour1"), ("minuto", "minute0"), ("minuti", "minute1"), ("secondo", "second0"), ("secondi", "second1"), @@ -47,7 +47,7 @@ for s, f, a in [("radio inattiva controllare", "inactiv", 486), ("controllo motore non in posizione, verificare", "thralert", 481), ("interruttori non in posizione, verificare", "swalert", 482), ("eeprom corrotta", "eebad", NO_ALTERNATE), - ("formattazzione eeprom in corso", "eeformat", NO_ALTERNATE), + ("formattazione eeprom in corso", "eeformat", NO_ALTERNATE), ("errore", "error", NO_ALTERNATE), ("trim centrato", "midtrim", 495), ("potenziometro centrato", "midpot", 496), @@ -70,14 +70,14 @@ for s, f, a in [("radio inattiva controllare", "inactiv", 486), ("Problema all'antenna della radio", "swr_red", NO_ALTERNATE), ("Telemetria assente", "telemko", NO_ALTERNATE), ("Telemetria disponibile", "telemok", NO_ALTERNATE), - ("servo overload", "servoko", NO_ALTERNATE), - ("power overload", "rxko", NO_ALTERNATE), - ("receiver still connected", "modelpwr", NO_ALTERNATE), + ("sovraccarico servo", "servoko", NO_ALTERNATE), + ("sovraccarico di alimentazione", "rxko", NO_ALTERNATE), + ("ricevente ancora connessa", "modelpwr", NO_ALTERNATE), ]: systemSounds.append((s, filename(f, a))) for i, s in enumerate(["timer", "", "tensione", "tensione", "trasmissione", "ricezione", "altitudine", "motore", "carburante", "temperatura", "temperatura", "velocità", "distanza", "altitudine", "cella lipo", - "totale lipo", "tensione", "corrente", "consumo", "potenza", "accellerazione X", "accellerazione Y", "accellerazione Z", + "totale lipo", "tensione", "corrente", "consumo", "potenza", "accelerazione X", "accelerazione Y", "accelerazione Z", "direzione", "variometro", "minimo", "massimo"]): systemSounds.append((s, filename(PROMPT_SYSTEM_BASE + 135 + i))) for i, (s, f) in enumerate([("carrello chiuso", "gearup"),