diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 1df1f4e98..efe817053 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -211,21 +211,31 @@ QString RotaryEncoderString(int index) QString RawSource::toString() { - static const QString trims[] = { QObject::tr("TrmR"), QObject::tr("TrmE"), QObject::tr("TrmT"), QObject::tr("TrmA")}; + static const QString trims[] = { + QObject::tr("TrmR"), QObject::tr("TrmE"), QObject::tr("TrmT"), QObject::tr("TrmA") + }; - static const QString telemetry[] = { QObject::tr("Batt"), QObject::tr("Timer1"), QObject::tr("Timer2"), - (IS_TARANIS(GetEepromInterface()->getBoard()) ? QObject::tr("SWR") : QObject::tr("Tx")), (IS_TARANIS(GetEepromInterface()->getBoard()) ? QObject::tr("RSSI") : QObject::tr("Rx")), QObject::tr("A1"), QObject::tr("A2"), QObject::tr("Alt"), QObject::tr("Rpm"), QObject::tr("Fuel"), QObject::tr("T1"), - QObject::tr("T2"), QObject::tr("Speed"), QObject::tr("Dist"), QObject::tr("GPS Alt"), QObject::tr("Cell"), QObject::tr("Cels"), QObject::tr("Vfas"), QObject::tr("Curr"), - QObject::tr("Cnsp"), QObject::tr("Powr"), QObject::tr("AccX"), QObject::tr("AccY"), QObject::tr("AccZ"), QObject::tr("HDG "), QObject::tr("VSpd"), QObject::tr("ASpd"), QObject::tr("dTE"), - QObject::tr("A1-"), QObject::tr("A2-"), QObject::tr("Alt-"), QObject::tr("Alt+"), QObject::tr("Rpm+"), QObject::tr("T1+"), QObject::tr("T2+"), QObject::tr("Spd+"), QObject::tr("Dst+"), QObject::tr("Cel-"), QObject::tr("Vfs-"), QObject::tr("Cur+"), QObject::tr("Pwr+"), - QObject::tr("ACC "), QObject::tr("Time"), - }; + static const QString telemetry[] = { + QObject::tr("Batt"), QObject::tr("Timer1"), QObject::tr("Timer2"), + QObject::tr("SWR"), QObject::tr("RSSI Tx"), QObject::tr("RSSI Rx"), QObject::tr("Rx Batt"), + QObject::tr("A1"), QObject::tr("A2"), QObject::tr("A3"), QObject::tr("A4"), + QObject::tr("Alt"), QObject::tr("Rpm"), QObject::tr("Fuel"), QObject::tr("T1"), QObject::tr("T2"), + QObject::tr("Speed"), QObject::tr("Dist"), QObject::tr("GPS Alt"), + QObject::tr("Cell"), QObject::tr("Cels"), QObject::tr("Vfas"), QObject::tr("Curr"), QObject::tr("Cnsp"), QObject::tr("Powr"), + QObject::tr("AccX"), QObject::tr("AccY"), QObject::tr("AccZ"), + QObject::tr("HDG "), QObject::tr("VSpd"), QObject::tr("ASpd"), QObject::tr("dTE"), + QObject::tr("A1-"), QObject::tr("A2-"), QObject::tr("A3-"), QObject::tr("A4-"), + QObject::tr("Alt-"), QObject::tr("Alt+"), QObject::tr("Rpm+"), QObject::tr("T1+"), QObject::tr("T2+"), QObject::tr("Spd+"), QObject::tr("Dst+"), + QObject::tr("Cel-"), QObject::tr("Vfs-"), QObject::tr("Cur+"), QObject::tr("Pwr+"), + QObject::tr("ACC"), QObject::tr("Time"), + }; - static const QString virtualSwitches[] = { QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"), - QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"), - QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"), - QObject::tr("LSV"), QObject::tr("LSW") - }; + static const QString virtualSwitches[] = { + QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"), + QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"), + QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"), + QObject::tr("LSV"), QObject::tr("LSW") + }; if (index<0) { return QObject::tr("----"); diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 61ff602bb..e0fff016e 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -175,10 +175,14 @@ enum TelemetrySource { TELEMETRY_SOURCE_TX_BATT, TELEMETRY_SOURCE_TIMER1, TELEMETRY_SOURCE_TIMER2, + TELEMETRY_SOURCE_SWR, TELEMETRY_SOURCE_RSSI_TX, TELEMETRY_SOURCE_RSSI_RX, + TELEMETRY_SOURCE_RX_BATT, TELEMETRY_SOURCE_A1, TELEMETRY_SOURCE_A2, + TELEMETRY_SOURCE_A3, + TELEMETRY_SOURCE_A4, TELEMETRY_SOURCE_ALT, TELEMETRY_SOURCE_RPM, TELEMETRY_SOURCE_FUEL, @@ -202,6 +206,8 @@ enum TelemetrySource { TELEMETRY_SOURCE_DTE, TELEMETRY_SOURCE_A1_MIN, TELEMETRY_SOURCE_A2_MIN, + TELEMETRY_SOURCE_A3_MIN, + TELEMETRY_SOURCE_A4_MIN, TELEMETRY_SOURCE_ALT_MIN, TELEMETRY_SOURCE_ALT_MAX, TELEMETRY_SOURCE_RPM_MAX, @@ -217,6 +223,7 @@ enum TelemetrySource { TELEMETRY_SOURCES_STATUS_COUNT = TELEMETRY_SOURCE_GPS_TIME+1, TELEMETRY_SOURCES_DISPLAY_COUNT = TELEMETRY_SOURCE_POWER_MAX+1, TELEMETRY_SOURCES_COUNT = TELEMETRY_SOURCE_DTE+1, + TELEMETRY_SOURCE_RESERVE = -1 }; #define TM_HASTELEMETRY 0x01 diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 12fa554d3..12fa096a3 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -321,55 +321,101 @@ class SwitchField: public ConversionField< SignedField > { int _switch; }; +class TelemetrySourcesConversionTable: public ConversionTable { + + public: + TelemetrySourcesConversionTable(BoardEnum board, unsigned int version) + { + int val = 0; + + if (IS_AFTER_RELEASE_21_MARCH_2013(board, version)) { + addConversion(0, val++); + } + + addConversion(TELEMETRY_SOURCE_TX_BATT, val++); + addConversion(TELEMETRY_SOURCE_TIMER1, val++); + addConversion(TELEMETRY_SOURCE_TIMER2, val++); + if (IS_ARM(board) && version >= 216) + addConversion(TELEMETRY_SOURCE_SWR, val++); + addConversion(TELEMETRY_SOURCE_RSSI_TX, val++); + addConversion(TELEMETRY_SOURCE_RSSI_RX, val++); + if (IS_ARM(board) && version >= 216) + addConversion(TELEMETRY_SOURCE_RX_BATT, val++); + addConversion(TELEMETRY_SOURCE_A1, val++); + addConversion(TELEMETRY_SOURCE_A2, val++); + if (IS_ARM(board) && version >= 216) + addConversion(TELEMETRY_SOURCE_A3, val++); + if (IS_ARM(board) && version >= 216) + addConversion(TELEMETRY_SOURCE_A4, val++); + addConversion(TELEMETRY_SOURCE_ALT, val++); + addConversion(TELEMETRY_SOURCE_RPM, val++); + addConversion(TELEMETRY_SOURCE_FUEL, val++); + addConversion(TELEMETRY_SOURCE_T1, val++); + addConversion(TELEMETRY_SOURCE_T2, val++); + addConversion(TELEMETRY_SOURCE_SPEED, val++); + addConversion(TELEMETRY_SOURCE_DIST, val++); + addConversion(TELEMETRY_SOURCE_GPS_ALT, val++); + addConversion(TELEMETRY_SOURCE_CELL, val++); + addConversion(TELEMETRY_SOURCE_CELLS_SUM, val++); + addConversion(TELEMETRY_SOURCE_VFAS, val++); + addConversion(TELEMETRY_SOURCE_CURRENT, val++); + addConversion(TELEMETRY_SOURCE_CONSUMPTION, val++); + addConversion(TELEMETRY_SOURCE_POWER, val++); + addConversion(TELEMETRY_SOURCE_ACCX, val++); + addConversion(TELEMETRY_SOURCE_ACCY, val++); + addConversion(TELEMETRY_SOURCE_ACCZ, val++); + addConversion(TELEMETRY_SOURCE_HDG, val++); + addConversion(TELEMETRY_SOURCE_VERTICAL_SPEED, val++); + if (version >= 216) { + addConversion(TELEMETRY_SOURCE_ASPD, val++); + addConversion(TELEMETRY_SOURCE_DTE, val++); + } + if (IS_ARM(board) && version >= 216) { + for (int i=0; i<5; i++) + addConversion(TELEMETRY_SOURCE_RESERVE, val++); + } + addConversion(TELEMETRY_SOURCE_A1_MIN, val++); + addConversion(TELEMETRY_SOURCE_A2_MIN, val++); + if (IS_ARM(board) && version >= 216) { + addConversion(TELEMETRY_SOURCE_A3_MIN, val++); + addConversion(TELEMETRY_SOURCE_A4_MIN, val++); + } + addConversion(TELEMETRY_SOURCE_ALT_MIN, val++); + addConversion(TELEMETRY_SOURCE_ALT_MAX, val++); + addConversion(TELEMETRY_SOURCE_RPM_MAX, val++); + addConversion(TELEMETRY_SOURCE_T1_MAX, val++); + addConversion(TELEMETRY_SOURCE_T2_MAX, val++); + addConversion(TELEMETRY_SOURCE_SPEED_MAX, val++); + addConversion(TELEMETRY_SOURCE_DIST_MAX, val++); + addConversion(TELEMETRY_SOURCE_CELL_MIN, val++); + addConversion(TELEMETRY_SOURCE_VFAS_MIN, val++); + addConversion(TELEMETRY_SOURCE_POWER_MAX, val++); + if (IS_ARM(board) && version >= 216) { + for (int i=0; i<5; i++) + addConversion(TELEMETRY_SOURCE_RESERVE, val++); + } + addConversion(TELEMETRY_SOURCE_ACC, val++); + addConversion(TELEMETRY_SOURCE_GPS_TIME, val++); + } +}; + template -class TelemetrySourceField: public TransformedField { +class TelemetrySourceField: public ConversionField< UnsignedField > { public: TelemetrySourceField(unsigned int & source, BoardEnum board, unsigned int version): - TransformedField(internalField), - internalField(_source), + ConversionField< UnsignedField >(source, &conversionTable, "Telemetry source"), + conversionTable(board, version), source(source), board(board), - version(version), - _source(0) + version(version) { } - virtual void beforeExport() - { - _source = source; - - if (source > 0 && !IS_AFTER_RELEASE_21_MARCH_2013(board, version)) - _source--; - - if (IS_ARM(board) && version >= 216) { - if (source > 1+TELEMETRY_SOURCE_DTE) - _source += 5; - if (source > 1+TELEMETRY_SOURCE_POWER_MAX) - _source += 5; - } - } - - virtual void afterImport() - { - source = _source; - - if (source > 0 && !IS_AFTER_RELEASE_21_MARCH_2013(board, version)) - source++; - - if (IS_ARM(board) && version >= 216) { - if (source > 1+TELEMETRY_SOURCE_DTE) - source -= 5; - if (source > 1+TELEMETRY_SOURCE_POWER_MAX) - source -= 5; - } - } - protected: - UnsignedField internalField; + TelemetrySourcesConversionTable conversionTable; unsigned int & source; BoardEnum board; unsigned int version; - unsigned int _source; }; template diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp index f12353cb0..972c67a0a 100644 --- a/radio/src/eeprom_conversions.cpp +++ b/radio/src/eeprom_conversions.cpp @@ -235,6 +235,33 @@ void ConvertGeneralSettings_215_to_216(EEGeneral &settings) settings.chkSum = evalChkSum(); } +int ConvertTelemetrySource_215_to_216(int source) +{ + // TELEM_RSSI_TX added + if (source >= TELEM_RSSI_TX) + source += 1; + // RxBatt added + if (source >= TELEM_RX_VOLTAGE) + source += 1; + // A3 and A4 added + if (source >= TELEM_A3) + source += 2; + // ASpd and dTE added + 5 reserve + if (source >= TELEM_ASPD) + source += 7; + // A3 and A4 MIN added + if (source >= TELEM_MIN_A3) + source += 2; + // Cel- and Vfas- added + if (source >= TELEM_MIN_CELL) + source += 2; + // 5 reserve added + if (source >= TELEM_RESERVE6) + source += 5; + + return source; +} + #if defined(PCBTARANIS) int ConvertSource_215_to_216(int source, bool insertZero=false) { @@ -246,12 +273,9 @@ int ConvertSource_215_to_216(int source, bool insertZero=false) // 4 GVARS added if (source > MIXSRC_GVAR1+4) source += 4; - // ASpd and dTE added - if (source >= MIXSRC_FIRST_TELEM-1+TELEM_ASPD) - source += 2; - // Cel- and Vfas- added - if (source >= MIXSRC_FIRST_TELEM-1+TELEM_MIN_CELL) - source += 2; + // Telemetry conversions + if (source >= MIXSRC_FIRST_TELEM) + source = MIXSRC_FIRST_TELEM + ConvertTelemetrySource_215_to_216(source-MIXSRC_FIRST_TELEM+1) - 1; return source; } @@ -273,12 +297,10 @@ int ConvertSource_215_to_216(int source, bool insertZero=false) // 4 GVARS added if (source > MIXSRC_GVAR1+4) source += 4; - // ASpd and dTE added - if (source >= MIXSRC_FIRST_TELEM-1+TELEM_ASPD) - source += 2; - // Cel- and Vfas- added - if (source >= MIXSRC_FIRST_TELEM-1+TELEM_MIN_CELL) - source += 2; + // Telemetry conversions + if (source >= MIXSRC_FIRST_TELEM) + source = MIXSRC_FIRST_TELEM + ConvertTelemetrySource_215_to_216(source-MIXSRC_FIRST_TELEM+1) - 1; + return source; } @@ -636,6 +658,24 @@ void ConvertModel_215_to_216(ModelData &model) } memcpy(&g_model.frsky, &oldModel.frsky, sizeof(oldModel.frsky)); + for (int i=0; i<3; i++) { + if (g_model.frsky.screensType & (1<= TELEM_RESERVE1 && source <= TELEM_RESERVE5) return false; diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index 85ef0a709..ee7775929 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -1269,6 +1269,9 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val, putsTelemetryValue(x, y, val, UNIT_RAW, att|PREC2); break; +#if defined(CPUARM) + case TELEM_SWR-1: +#endif case TELEM_RSSI_TX-1: case TELEM_RSSI_RX-1: putsTelemetryValue(x, y, val, UNIT_RAW, att); diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 7e536eaab..4baa15d7d 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -937,10 +937,20 @@ enum TelemetrySource { TELEM_TX_VOLTAGE, TELEM_TM1, TELEM_TM2, +#if defined(CPUARM) + TELEM_SWR, +#endif TELEM_RSSI_TX, TELEM_RSSI_RX, +#if defined(CPUARM) + TELEM_RX_VOLTAGE, +#endif TELEM_A1, TELEM_A2, +#if defined(CPUARM) + TELEM_A3, + TELEM_A4, +#endif TELEM_ALT, TELEM_RPM, TELEM_FUEL, @@ -971,6 +981,10 @@ enum TelemetrySource { #endif TELEM_MIN_A1, TELEM_MIN_A2, +#if defined(CPUARM) + TELEM_MIN_A3, + TELEM_MIN_A4, +#endif TELEM_MIN_ALT, TELEM_MAX_ALT, TELEM_MAX_RPM, @@ -999,12 +1013,7 @@ enum TelemetrySource { TELEM_DISPLAY_MAX = TELEM_TM2, // because used also in PlayValue #endif TELEM_STATUS_MAX = TELEM_GPS_TIME, -#if defined(FRSKY_SPORT) - TELEM_SWR = TELEM_RSSI_TX, - TELEM_FIRST_STREAMED_VALUE = TELEM_RSSI_RX, -#else TELEM_FIRST_STREAMED_VALUE = TELEM_RSSI_TX, -#endif }; enum VarioSource { diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 36d95d213..90d1d067e 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1269,6 +1269,9 @@ getvalue_t getValue(uint8_t i) else if (i==MIXSRC_FIRST_TELEM-1+TELEM_TX_VOLTAGE) return g_vbat100mV; else if (i<=MIXSRC_FIRST_TELEM-1+TELEM_TM2) return timersStates[i-MIXSRC_FIRST_TELEM+1-TELEM_TM1].val; #if defined(FRSKY) +#if defined(CPUARM) + else if (i==MIXSRC_FIRST_TELEM-1+TELEM_SWR) return frskyData.swr.value; +#endif else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RSSI_TX) return frskyData.rssi[1].value; else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RSSI_RX) return frskyData.rssi[0].value; else if (i<=MIXSRC_FIRST_TELEM-1+TELEM_A2) return frskyData.analog[i-MIXSRC_FIRST_TELEM+1-TELEM_A1].value; @@ -1981,6 +1984,9 @@ ls_telemetry_value_t minTelemValue(uint8_t channel) { switch (channel) { case TELEM_FUEL: +#if defined(CPUARM) + case TELEM_SWR: +#endif case TELEM_RSSI_TX: case TELEM_RSSI_RX: return 0; @@ -2000,6 +2006,9 @@ ls_telemetry_value_t maxTelemValue(uint8_t channel) { switch (channel) { case TELEM_FUEL: +#if defined(CPUARM) + case TELEM_SWR: +#endif case TELEM_RSSI_TX: case TELEM_RSSI_RX: return 100; @@ -3171,13 +3180,13 @@ PLAY_FUNCTION(playValue, uint8_t idx) case MIXSRC_FIRST_TELEM+TELEM_TM2-1: PLAY_DURATION(val); break; -#if defined(FRSKY) - case MIXSRC_FIRST_TELEM+TELEM_RSSI_TX-1: -#if defined(PCBTARANIS) - // On Taranis RSSI_TX is used for SWR +#if defined(CPUARM) + case MIXSRC_FIRST_TELEM+TELEM_SWR-1: PLAY_NUMBER(val, 0, 0); break; #endif +#if defined(FRSKY) + case MIXSRC_FIRST_TELEM+TELEM_RSSI_TX-1: case MIXSRC_FIRST_TELEM+TELEM_RSSI_RX-1: PLAY_NUMBER(val, 1+UNIT_DBM, 0); break; diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 5acce01ac..d68490f01 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -187,6 +187,9 @@ PACK(struct FrskySerialData { struct FrskyData { FrskyValueWithMinMax analog[2]; FrskyValueWithMin rssi[2]; +#if defined(CPUARM) + FrskyValueWithMinMax swr; +#endif FrskySerialData hub; }; diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index ac46c7252..c13443e73 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -323,7 +323,7 @@ void processSportPacket(uint8_t *packet) frskyData.rssi[0].set(SPORT_DATA_U8(packet)); } if (appId == SWR_ID) { - frskyData.rssi[1].set(SPORT_DATA_U8(packet)); + frskyData.swr.set(SPORT_DATA_U8(packet)); } else if (appId == ADC1_ID || appId == ADC2_ID) { // A1/A2 of DxR receivers @@ -666,7 +666,7 @@ void telemetryWakeup() alarmsCheckTime = get_tmr10ms() + 100; /* next check in 1second */ if (alarmsCheckStep == 0) { - if ((IS_MODULE_XJT(0) || IS_MODULE_XJT(1)) && frskyData.rssi[1].value > 0x33) { + if ((IS_MODULE_XJT(0) || IS_MODULE_XJT(1)) && frskyData.swr.value > 0x33) { AUDIO_SWR_RED(); s_global_warning = STR_ANTENNAPROBLEM; alarmsCheckTime = get_tmr10ms() + 300; /* next check in 3seconds */ @@ -759,7 +759,7 @@ void resetTelemetry() frskyData.analog[0].set(120); frskyData.analog[1].set(240); frskyData.rssi[0].value = 75; - frskyData.rssi[1].value = 30; + frskyData.swr.value = 30; frskyData.hub.fuelLevel = 75; frskyData.hub.rpm = 12000; frskyData.hub.vfas = 100; diff --git a/radio/src/telemetry/frsky_sport.h b/radio/src/telemetry/frsky_sport.h index 4b39022a1..50da95f41 100644 --- a/radio/src/telemetry/frsky_sport.h +++ b/radio/src/telemetry/frsky_sport.h @@ -150,6 +150,7 @@ PACK(struct FrskySerialData { struct FrskyData { FrskyValueWithMinMax analog[2]; FrskyValueWithMinMax rssi[2]; + FrskyValueWithMinMax swr; FrskySerialData hub; }; diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index f83ce1327..423c9d3fa 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -257,21 +257,21 @@ #define LEN_VTELEMCHNS "\004" -#if defined(PCBTARANIS) - #define TR_RSSI_0 "SWR\0" - #define TR_RSSI_1 "RSSI" -#else - #define TR_RSSI_0 "Tx\0 " - #define TR_RSSI_1 "Rx\0 " -#endif - #if defined(CPUARM) #define TR_TELEM_RESERVE "[--]" + #define TR_SWR "SWR\0" + #define TR_RX_BATT "RxBt" + #define TR_A3_A4 "A3\0 ""A4\0 " + #define TR_A3_A4_MIN "A3-\0""A4-\0" #else #define TR_TELEM_RESERVE + #define TR_SWR + #define TR_RX_BATT + #define TR_A3_A4 + #define TR_A3_A4_MIN #endif -#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" +#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\010")