Bsongis/receivers ota update (#6494)

OTA update fixes
This commit is contained in:
Bertrand Songis
2019-06-13 17:06:25 +02:00
committed by GitHub
parent 344e53e3e2
commit 18c6f6878d
20 changed files with 179 additions and 86 deletions
+6 -6
View File
@@ -908,16 +908,16 @@ void menuModelSetup(event_t event)
else if (old_editMode > 0) {
if (isModuleR9M(EXTERNAL_MODULE)) {
if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) {
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
else if (g_model.moduleData[EXTERNAL_MODULE].subType == MODULE_SUBTYPE_R9M_EU) {
POPUP_WARNING(STR_R9M_PROTO_EU_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_EU_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
else {
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
}
}
+6 -6
View File
@@ -898,16 +898,16 @@ void menuModelSetup(event_t event)
else if (old_editMode > 0) {
if (isModuleR9M(EXTERNAL_MODULE)) {
if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) {
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
else if (g_model.moduleData[EXTERNAL_MODULE].subType == MODULE_SUBTYPE_R9M_EU) {
POPUP_WARNING(STR_R9M_PROTO_EU_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_EU_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
else {
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN_LINE1);
SET_WARNING_INFO(STR_R9M_PROTO_WARN_LINE2, sizeof(TR_R9M_PROTO_WARN_LINE2) - 1, 0);
}
}
}
@@ -101,14 +101,29 @@ void onUpdateConfirmation(const char * result)
void onUpdateStateChanged()
{
if (reusableBuffer.sdManager.otaUpdateInformation.step == BIND_INFO_REQUEST) {
POPUP_CONFIRMATION(PXX2receiversModels[reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.modelID], onUpdateConfirmation);
char * tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, TR_CURRENT_VERSION);
tmp = strAppendUnsigned(tmp, 1 + reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.major);
*tmp++ = '.';
tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.minor);
*tmp++ = '.';
tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.revision);
SET_WARNING_INFO(reusableBuffer.sdManager.otaReceiverVersion, tmp - reusableBuffer.sdManager.otaReceiverVersion, 0);
uint8_t modelId = reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.modelID;
if (modelId > 0 && modelId < DIM(PXX2receiversModels)) {
if (isReceiverOptionAvailable(modelId, RECEIVER_OPTION_OTA)) {
POPUP_CONFIRMATION(PXX2receiversModels[modelId], onUpdateConfirmation);
char *tmp = strAppend(reusableBuffer.sdManager.otaReceiverVersion, TR_CURRENT_VERSION);
tmp = strAppendUnsigned(tmp, 1 + reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.major);
*tmp++ = '.';
tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.minor);
*tmp++ = '.';
tmp = strAppendUnsigned(tmp, reusableBuffer.sdManager.otaUpdateInformation.receiverInformation.swVersion.revision);
SET_WARNING_INFO(reusableBuffer.sdManager.otaReceiverVersion, tmp - reusableBuffer.sdManager.otaReceiverVersion, 0);
}
else {
POPUP_WARNING(STR_OTA_UPDATE_ERROR);
SET_WARNING_INFO(STR_UNSUPPORTED_RX, sizeof(TR_UNSUPPORTED_RX) - 1, 0);
moduleState[EXTERNAL_MODULE].mode = MODULE_MODE_NORMAL;
}
}
else {
POPUP_WARNING(STR_OTA_UPDATE_ERROR);
SET_WARNING_INFO(STR_UNKNOWN_RX, sizeof(TR_UNKNOWN_RX) - 1, 0);
moduleState[EXTERNAL_MODULE].mode = MODULE_MODE_NORMAL;
}
}
}
#endif
+1 -1
View File
@@ -635,7 +635,7 @@ void FrskyChipFirmwareUpdate::flashFirmware(const char * filename)
const char * result = doFlashFirmware(filename);
AUDIO_PLAY(AU_SPECIAL_SOUND_BEEP1 );
AUDIO_PLAY(AU_SPECIAL_SOUND_BEEP1);
BACKLIGHT_ENABLE();
if (result) {
+4 -11
View File
@@ -1103,9 +1103,7 @@ void opentxResume();
union ReusableBuffer
{
// ARM 334 bytes
struct
{
struct {
#if defined(EEPROM_RLC) && LCD_W < 212
uint16_t eepromfree;
#endif
@@ -1146,7 +1144,6 @@ union ReusableBuffer
#endif
} moduleSetup;
// 103 bytes
struct {
int16_t midVals[NUM_STICKS+NUM_POTS+NUM_SLIDERS+NUM_MOUSE_ANALOGS];
int16_t loVals[NUM_STICKS+NUM_POTS+NUM_SLIDERS+NUM_MOUSE_ANALOGS];
@@ -1163,7 +1160,6 @@ union ReusableBuffer
} calib;
#if defined(SDCARD)
// 274 bytes
struct {
char lines[NUM_BODY_LINES][SD_SCREEN_FILE_LENGTH+1+1]; // the last char is used to store the flags (directory) of the line
uint32_t available;
@@ -1197,8 +1193,7 @@ union ReusableBuffer
uint8_t stickMode;
} generalSettings;
struct
{
struct {
uint8_t bars[LCD_W];
uint32_t freq;
uint32_t span;
@@ -1211,8 +1206,7 @@ union ReusableBuffer
uint8_t dirty;
} spectrumAnalyser;
struct
{
struct {
uint32_t freq;
int16_t power;
int16_t peak;
@@ -1220,8 +1214,7 @@ union ReusableBuffer
uint8_t dirty;
} powerMeter;
struct
{
struct {
int8_t preset;
} curveEdit;
+46 -2
View File
@@ -23,8 +23,6 @@
#include "bitfield.h"
#define CROSSFIRE_CHANNELS_COUNT 16
#if defined(MULTIMODULE)
@@ -261,6 +259,52 @@ inline bool isModuleOptionAvailable(uint8_t modelId, uint8_t option)
return moduleOptions[modelId] & (1 << option);
}
enum {
RECEIVER_OPTION_OTA,
};
/* Options order:
* - OTA (0x01)
*/
static const uint8_t receiverOptions[] = {
#if defined(SIMU)
0b11111111, // None = display all options on SIMU
#else
0b00000000, // None = display all options on SIMU
#endif
0b11111110, // X8R
0b11111110, // RX8R
0b11111110, // RX8R-PRO
0b11111110, // RX6R
0b11111110, // RX4R
0b11111110, // G-RX8
0b11111110, // G-RX6
0b11111110, // X6R
0b11111110, // X4R
0b11111110, // X4R-SB
0b11111110, // XSR
0b11111110, // XSR-M
0b11111110, // RXSR
0b11111110, // S6R
0b11111110, // S8R
0b11111110, // XM
0b11111110, // XM+
0b11111110, // XMR
0b11111110, // R9
0b11111110, // R9-SLIM
0b11111110, // R9-SLIM+
0b11111110, // R9-MINI
0b11111110, // R9-MM
0b11111110, // R9-STAB
0b11111111, // R9-MINI+OTA
0b11111111, // R9-MM+OTA
};
inline bool isReceiverOptionAvailable(uint8_t modelId, uint8_t option)
{
return receiverOptions[modelId] & (1 << option);
}
inline bool isDefaultModelRegistrationID()
{
return memcmp(g_model.modelRegistrationID, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0;
+2
View File
@@ -95,6 +95,8 @@ static const char * const PXX2receiversModels[] = {
"R9-MINI",
"R9-MM",
"R9-STAB",
"R9-MINI-OTA", // this one has OTA (different bootloader)
"R9-MM-OTA", // this one has OTA (different bootloader)
};
enum PXX2ModuleModelID {
+7 -4
View File
@@ -465,10 +465,10 @@ const char STR_CHANNELRANGE[] = TR_CHANNELRANGE;
const char STR_ANTENNASELECTION[] = TR_ANTENNASELECTION;
const char STR_ANTENNACONFIRM1[] = TR_ANTENNACONFIRM1;
const char STR_ANTENNACONFIRM2[] = TR_ANTENNACONFIRM2;
const char STR_R9M_PROTO_FLEX_WARN1[] = TR_R9M_PROTO_FLEX_WARN1;
const char STR_R9M_PROTO_FCC_WARN1[] = TR_R9M_PROTO_FCC_WARN1;
const char STR_R9M_PROTO_EU_WARN1[] = TR_R9M_PROTO_EU_WARN1;
const char STR_R9M_PROTO_WARN2[] = TR_R9M_PROTO_WARN2;
const char STR_R9M_PROTO_FLEX_WARN_LINE1[] = TR_R9M_PROTO_FLEX_WARN_LINE1;
const char STR_R9M_PROTO_FCC_WARN_LINE1[] = TR_R9M_PROTO_FCC_WARN_LINE1;
const char STR_R9M_PROTO_EU_WARN_LINE1[] = TR_R9M_PROTO_EU_WARN_LINE1;
const char STR_R9M_PROTO_WARN_LINE2[] = TR_R9M_PROTO_WARN_LINE2;
const char STR_SET[] = TR_SET;
const char STR_PREFLIGHT[] = TR_PREFLIGHT;
const char STR_CHECKLIST[] = TR_CHECKLIST;
@@ -548,6 +548,9 @@ const char STR_FLASH_ERASE[] = TR_FLASH_ERASE;
const char STR_FLASH_WRITE[] = TR_FLASH_WRITE;
const char STR_OTA_UPDATE[] = TR_OTA_UPDATE;
const char STR_MODULE_RESET[] = TR_MODULE_RESET;
const char STR_UNKNOWN_RX[] = TR_UNKNOWN_RX;
const char STR_UNSUPPORTED_RX[] = TR_UNSUPPORTED_RX;
const char STR_OTA_UPDATE_ERROR[] = TR_OTA_UPDATE_ERROR;
const char STR_DEVICE_RESET[] = TR_DEVICE_RESET;
const char STR_ALTITUDE[] = TR_ALTITUDE;
const char STR_SCALE[] = TR_SCALE;
+7 -4
View File
@@ -723,10 +723,10 @@ extern const char STR_CHANNELRANGE[];
extern const char STR_ANTENNASELECTION[];
extern const char STR_ANTENNACONFIRM1[];
extern const char STR_ANTENNACONFIRM2[];
extern const char STR_R9M_PROTO_FLEX_WARN1[];
extern const char STR_R9M_PROTO_FCC_WARN1[];
extern const char STR_R9M_PROTO_EU_WARN1[];
extern const char STR_R9M_PROTO_WARN2[];
extern const char STR_R9M_PROTO_FLEX_WARN_LINE1[];
extern const char STR_R9M_PROTO_FCC_WARN_LINE1[];
extern const char STR_R9M_PROTO_EU_WARN_LINE1[];
extern const char STR_R9M_PROTO_WARN_LINE2[];
extern const char STR_SET[];
extern const char STR_PREFLIGHT[];
extern const char STR_CHECKLIST[];
@@ -807,6 +807,9 @@ extern const char STR_FLASH_ERASE[];
extern const char STR_FLASH_WRITE[];
extern const char STR_OTA_UPDATE[];
extern const char STR_MODULE_RESET[];
extern const char STR_UNKNOWN_RX[];
extern const char STR_UNSUPPORTED_RX[];
extern const char STR_OTA_UPDATE_ERROR[];
extern const char STR_DEVICE_RESET[];
extern const char STR_ALTITUDE[];
extern const char STR_SCALE[];
+7 -4
View File
@@ -984,10 +984,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Volba antény")
#define TR_ANTENNACONFIRM1 "Opravdu přepnout?"
#define TR_ANTENNACONFIRM2 TR("Zkont. anténu", "Ujisti se že je anténa připojena!")
#define TR_R9M_PROTO_FLEX_WARN1 "Potřebuje"
#define TR_R9M_PROTO_FCC_WARN1 "Potřebuje FCC"
#define TR_R9M_PROTO_EU_WARN1 "Potřebuje EU"
#define TR_R9M_PROTO_WARN2 "necertifikovaný R9M firm."
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Potřebuje"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Potřebuje FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Potřebuje EU"
#define TR_R9M_PROTO_WARN_LINE2 "necertifikovaný R9M firm."
#define TR_LOWALARM INDENT "Nízký Alarm"
#define TR_CRITICALALARM INDENT "Kritický Alarm"
#define TR_RSSIALARM_WARN TR("RSSI","RSSI TELEMETRIE")
@@ -1141,6 +1141,9 @@
#define TR_FLASH_WRITE "Zápis flash..."
#define TR_OTA_UPDATE "Aktualizace OTA..."
#define TR_MODULE_RESET "Reset modulu..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Reset zařízení..."
#define TR_ALTITUDE INDENT "Výška"
#define TR_SCALE "Měřítko"
+7 -4
View File
@@ -991,10 +991,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenne auswählen")
#define TR_ANTENNACONFIRM1 "Ant. umschalten"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Ist eine externe Antenne installiert?")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Warnungsschwelle"
#define TR_CRITICALALARM INDENT "Kritischer Alarm"
#define TR_RSSIALARM_WARN "Telemetry"
@@ -1144,6 +1144,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Höhenanzeige"
#define TR_SCALE "Skalieren"
+7 -4
View File
@@ -990,10 +990,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires FLEX non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires FLEX non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Low alarm"
#define TR_CRITICALALARM INDENT "Critical alarm"
#define TR_RSSIALARM_WARN "RSSI"
@@ -1142,6 +1142,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Altitude"
#define TR_SCALE "Scale"
+7 -4
View File
@@ -1006,10 +1006,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Alarma baja"
#define TR_CRITICALALARM INDENT "Alarma Critica"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1159,6 +1159,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Altitude"
#define TR_SCALE "Scale"
+7 -4
View File
@@ -999,10 +999,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1152,6 +1152,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Korkeus"
#define TR_SCALE "Scale"
+7 -4
View File
@@ -1001,10 +1001,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenne", INDENT "Choix antenne")
#define TR_ANTENNACONFIRM1 "Vraiment changer?"
#define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!")
#define TR_R9M_PROTO_FLEX_WARN1 "Nécessite firm."
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "R9M non certifié"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Nécessite firm."
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "R9M non certifié"
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE")
@@ -1161,6 +1161,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Altitude"
#define TR_SCALE "Echelle"
+7 -4
View File
@@ -1000,10 +1000,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Allarme Basso"
#define TR_CRITICALALARM INDENT "Allarme Critico"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1153,6 +1153,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Altitudine"
#define TR_SCALE "Scala"
+7 -4
View File
@@ -989,10 +989,10 @@ TR_GYR_VSRCRAW
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
#define TR_ANTENNACONFIRM1 "Antennes wisselen?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Is er zeker een antenne geplaatst!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Waarschuwing"
#define TR_CRITICALALARM INDENT "Kritiek Alarm"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1147,6 +1147,9 @@ TR_GYR_VSRCRAW
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Hoogte"
#define TR_SCALE "Schaal"
+7 -4
View File
@@ -1000,10 +1000,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1153,6 +1153,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Wysokość"
#define TR_SCALE "Skala"
+7 -4
View File
@@ -990,10 +990,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1143,6 +1143,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Altitude"
#define TR_SCALE "Scale"
+7 -4
View File
@@ -1000,10 +1000,10 @@
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
#define TR_ANTENNACONFIRM1 "Really switch?"
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
#define TR_R9M_PROTO_WARN2 "certified firmware"
#define TR_R9M_PROTO_FLEX_WARN_LINE1 "Requires non"
#define TR_R9M_PROTO_FCC_WARN_LINE1 "Requires FCC"
#define TR_R9M_PROTO_EU_WARN_LINE1 "Requires EU"
#define TR_R9M_PROTO_WARN_LINE2 "certified firmware"
#define TR_LOWALARM INDENT "Låg-alarm"
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
@@ -1153,6 +1153,9 @@
#define TR_FLASH_WRITE "Flash write..."
#define TR_OTA_UPDATE "OTA update..."
#define TR_MODULE_RESET "Module reset..."
#define TR_UNKNOWN_RX "Unknown RX"
#define TR_UNSUPPORTED_RX "Unsupported RX"
#define TR_OTA_UPDATE_ERROR "OTA update error"
#define TR_DEVICE_RESET "Device reset..."
#define TR_ALTITUDE INDENT "Höjd"
#define TR_SCALE "Skala"