mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
More spares to allow A3/A4/RSSI_Tx/Rx_Batt in Telemetry (ARM boards)
This commit is contained in:
parent
8b90b62333
commit
c823ca69ce
12 changed files with 219 additions and 83 deletions
|
@ -211,17 +211,27 @@ 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+"),
|
||||
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"),
|
||||
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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -321,55 +321,101 @@ class SwitchField: public ConversionField< SignedField<N> > {
|
|||
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 <int N>
|
||||
class TelemetrySourceField: public TransformedField {
|
||||
class TelemetrySourceField: public ConversionField< UnsignedField<N> > {
|
||||
public:
|
||||
TelemetrySourceField(unsigned int & source, BoardEnum board, unsigned int version):
|
||||
TransformedField(internalField),
|
||||
internalField(_source),
|
||||
ConversionField< UnsignedField<N> >(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<N> internalField;
|
||||
TelemetrySourcesConversionTable conversionTable;
|
||||
unsigned int & source;
|
||||
BoardEnum board;
|
||||
unsigned int version;
|
||||
unsigned int _source;
|
||||
};
|
||||
|
||||
template <int N>
|
||||
|
|
|
@ -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<<i)) {
|
||||
// gauges
|
||||
for (int j=0; j<4; j++) {
|
||||
uint8_t & source = g_model.frsky.screens[i].bars[j].source;
|
||||
source = ConvertTelemetrySource_215_to_216(source);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// numbers
|
||||
for (int j=0; j<4; j++) {
|
||||
for (int k=0; k<NUM_LINE_ITEMS; k++) {
|
||||
uint8_t & source = g_model.frsky.screens[i].lines[j].sources[k];
|
||||
source = ConvertTelemetrySource_215_to_216(source);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
g_model.externalModule = oldModel.externalModule;
|
||||
|
|
|
@ -1236,6 +1236,14 @@ bool isSourceAvailable(int source)
|
|||
|
||||
bool isTelemetrySourceAvailable(int source)
|
||||
{
|
||||
if (source == TELEM_RX_VOLTAGE || source == TELEM_A3 || source == TELEM_A4 || source == TELEM_MIN_A3 || source == TELEM_MIN_A4)
|
||||
return false;
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
if (source == TELEM_RSSI_TX)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
if (source >= TELEM_RESERVE1 && source <= TELEM_RESERVE5)
|
||||
return false;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -187,6 +187,9 @@ PACK(struct FrskySerialData {
|
|||
struct FrskyData {
|
||||
FrskyValueWithMinMax analog[2];
|
||||
FrskyValueWithMin rssi[2];
|
||||
#if defined(CPUARM)
|
||||
FrskyValueWithMinMax swr;
|
||||
#endif
|
||||
FrskySerialData hub;
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -150,6 +150,7 @@ PACK(struct FrskySerialData {
|
|||
struct FrskyData {
|
||||
FrskyValueWithMinMax analog[2];
|
||||
FrskyValueWithMinMax rssi[2];
|
||||
FrskyValueWithMinMax swr;
|
||||
FrskySerialData hub;
|
||||
};
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue