mirror of
https://github.com/opentx/opentx.git
synced 2025-07-25 17:25:13 +03:00
Merge remote-tracking branch 'origin/next' into
bsongis/Issue524_SPORT_GPS Conflicts: radio/src/telemetry/frsky_sport.cpp radio/src/translations/de.h.txt
This commit is contained in:
commit
cdce9b0da7
32 changed files with 545 additions and 286 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
/.*project
|
||||
/.settings
|
||||
/.autotools
|
||||
|
|
|
@ -329,4 +329,5 @@ A Harris
|
|||
Stefan Grunenberg
|
||||
Francisco Gutierrez Muñoz
|
||||
Steve Coley
|
||||
|
||||
Sean Cull
|
||||
Roberto Orsello
|
||||
|
|
|
@ -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("Cels-"), 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("----");
|
||||
|
|
|
@ -162,7 +162,7 @@ enum HeliSwashTypes {
|
|||
#define BOARD_X9D_NUM_POTS 4
|
||||
#define C9X_NUM_POTS 4
|
||||
#define NUM_CAL_PPM 4
|
||||
#define NUM_PPM 8
|
||||
#define NUM_PPM(board) (IS_ARM(board) ? 16 : 8)
|
||||
#define NUM_CYC 3
|
||||
#define C9X_NUM_SWITCHES 10
|
||||
#define C9X_NUM_KEYS 6
|
||||
|
@ -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,
|
||||
|
@ -210,14 +216,15 @@ enum TelemetrySource {
|
|||
TELEMETRY_SOURCE_SPEED_MAX,
|
||||
TELEMETRY_SOURCE_DIST_MAX,
|
||||
TELEMETRY_SOURCE_CELL_MIN,
|
||||
TELEMETRY_SOURCE_CELLS_MIN,
|
||||
TELEMETRY_SOURCE_VFAS_MIN,
|
||||
TELEMETRY_SOURCE_POWER_MAX,
|
||||
TELEMETRY_SOURCE_ACC,
|
||||
TELEMETRY_SOURCE_GPS_TIME,
|
||||
TELEMETRY_SOURCES_STATUS_COUNT,
|
||||
TELEMETRY_SOURCES_DISPLAY_COUNT = TELEMETRY_SOURCES_STATUS_COUNT-2,
|
||||
|
||||
TELEMETRY_SOURCES_COUNT = TELEMETRY_SOURCE_VERTICAL_SPEED,
|
||||
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
|
||||
|
@ -662,7 +669,8 @@ enum AssignFunc {
|
|||
FuncBackgroundMusicPause,
|
||||
FuncAdjustGV1,
|
||||
FuncAdjustGVLast = FuncAdjustGV1+C9X_MAX_GVARS-1,
|
||||
FuncCount
|
||||
FuncCount,
|
||||
FuncReserve = -1
|
||||
};
|
||||
|
||||
class FuncSwData { // Function Switches data
|
||||
|
|
|
@ -268,11 +268,11 @@ t_Open9xArmMixData_v208::operator MixData ()
|
|||
else if (srcRaw <= 9+9+O9X_ARM_NUM_CSW+NUM_CYC) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-10-9-O9X_ARM_NUM_CSW);
|
||||
}
|
||||
else if (srcRaw <= 9+9+O9X_ARM_NUM_CSW+NUM_CYC+NUM_PPM) {
|
||||
else if (srcRaw <= 9+9+O9X_ARM_NUM_CSW+NUM_CYC+8) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-10-9-O9X_ARM_NUM_CSW-NUM_CYC);
|
||||
}
|
||||
else {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-10-9-O9X_ARM_NUM_CSW-NUM_CYC-NUM_PPM);
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-10-9-O9X_ARM_NUM_CSW-NUM_CYC-8);
|
||||
}
|
||||
c9x.weight = weight;
|
||||
c9x.swtch = open9xArmToSwitch(swtch);
|
||||
|
@ -334,11 +334,11 @@ t_Open9xArmMixData_v209::operator MixData ()
|
|||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-14-9-O9X_ARM_NUM_CSW);
|
||||
}
|
||||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC+NUM_PPM) {
|
||||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC+8) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC);
|
||||
}
|
||||
else {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC-NUM_PPM);
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC-8);
|
||||
}
|
||||
c9x.weight = weight;
|
||||
|
||||
|
@ -400,11 +400,11 @@ t_Open9xArmMixData_v210::operator MixData ()
|
|||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-14-9-O9X_ARM_NUM_CSW);
|
||||
}
|
||||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC+NUM_PPM) {
|
||||
else if (srcRaw <= 13+9+O9X_ARM_NUM_CSW+NUM_CYC+8) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC);
|
||||
}
|
||||
else {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC-NUM_PPM);
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-14-9-O9X_ARM_NUM_CSW-NUM_CYC-8);
|
||||
}
|
||||
c9x.weight = weight;
|
||||
|
||||
|
@ -470,11 +470,11 @@ t_Open9xArmMixData_v212::operator MixData ()
|
|||
else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW+NUM_CYC) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CYC, srcRaw-15-9-O9X_ARM_NUM_CSW);
|
||||
}
|
||||
else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW+NUM_CYC+NUM_PPM) {
|
||||
else if (srcRaw <= 14+9+O9X_ARM_NUM_CSW+NUM_CYC+8) {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_PPM, srcRaw-15-9-O9X_ARM_NUM_CSW-NUM_CYC);
|
||||
}
|
||||
else {
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-15-9-O9X_ARM_NUM_CSW-NUM_CYC-NUM_PPM);
|
||||
c9x.srcRaw = RawSource(SOURCE_TYPE_CH, srcRaw-15-9-O9X_ARM_NUM_CSW-NUM_CYC-8);
|
||||
}
|
||||
c9x.weight = weight;
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#define MAX_CUSTOM_FUNCTIONS(board, version) (IS_ARM(board) ? (version >= 216 ? 64 : 32) : (IS_DBLEEPROM(board, version) ? 24 : 16))
|
||||
#define MAX_CURVES(board, version) (IS_ARM(board) ? ((IS_TARANIS(board) && version >= 216) ? 32 : 16) : O9X_MAX_CURVES)
|
||||
#define MAX_GVARS(board, version) ((IS_ARM(board) && version >= 216) ? 9 : 5)
|
||||
#define NUM_PPM_INPUTS(board, version) ((IS_ARM(board) && version >= 216) ? 16 : 8)
|
||||
|
||||
#define IS_AFTER_RELEASE_21_MARCH_2013(board, version) (version >= 214 || (!IS_ARM(board) && version >= 213))
|
||||
#define IS_AFTER_RELEASE_23_MARCH_2013(board, version) (version >= 214 || (board==BOARD_STOCK && version >= 213))
|
||||
|
@ -218,7 +219,7 @@ class SourcesConversionTable: public ConversionTable {
|
|||
addConversion(RawSource(SOURCE_TYPE_CYC, i), val++);
|
||||
}
|
||||
|
||||
for (int i=0; i<8; i++)
|
||||
for (int i=0; i<NUM_PPM_INPUTS(board, version); i++)
|
||||
addConversion(RawSource(SOURCE_TYPE_PPM, i), val++);
|
||||
|
||||
for (int i=0; i<MAX_CHANNELS(board, version); i++)
|
||||
|
@ -232,15 +233,18 @@ class SourcesConversionTable: public ConversionTable {
|
|||
}
|
||||
}
|
||||
|
||||
if (afterrelease21March2013)
|
||||
addConversion(RawSource(SOURCE_TYPE_TELEMETRY, 0), val++);
|
||||
|
||||
for (int i=1; i<TELEMETRY_SOURCE_ACC; i++) {
|
||||
for (int i=0; i<TELEMETRY_SOURCE_ACC; i++) {
|
||||
if (version < 216) {
|
||||
if (i==TELEMETRY_SOURCE_ASPD-1 || i==TELEMETRY_SOURCE_DTE-1 || i==TELEMETRY_SOURCE_CELL_MIN-1 || i==TELEMETRY_SOURCE_VFAS_MIN-1)
|
||||
if (i==TELEMETRY_SOURCE_SWR || i==TELEMETRY_SOURCE_RX_BATT || i==TELEMETRY_SOURCE_A3 || i==TELEMETRY_SOURCE_A4 || i==TELEMETRY_SOURCE_ASPD || i==TELEMETRY_SOURCE_DTE || i==TELEMETRY_SOURCE_CELL_MIN || i==TELEMETRY_SOURCE_CELLS_MIN || i==TELEMETRY_SOURCE_VFAS_MIN)
|
||||
continue;
|
||||
}
|
||||
addConversion(RawSource(SOURCE_TYPE_TELEMETRY, i), val++);
|
||||
if (version >= 216 && IS_ARM(board)) {
|
||||
if (i==TELEMETRY_SOURCE_DTE)
|
||||
val += 5;
|
||||
if (i==TELEMETRY_SOURCE_POWER_MAX)
|
||||
val += 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -314,6 +318,103 @@ 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(1+TELEMETRY_SOURCE_TX_BATT, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_TIMER1, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_TIMER2, val++);
|
||||
if (IS_ARM(board) && version >= 216)
|
||||
addConversion(1+TELEMETRY_SOURCE_SWR, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_RSSI_TX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_RSSI_RX, val++);
|
||||
if (IS_ARM(board) && version >= 216)
|
||||
addConversion(1+TELEMETRY_SOURCE_RX_BATT, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_A1, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_A2, val++);
|
||||
if (IS_ARM(board) && version >= 216) {
|
||||
addConversion(1+TELEMETRY_SOURCE_A3, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_A4, val++);
|
||||
}
|
||||
addConversion(1+TELEMETRY_SOURCE_ALT, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_RPM, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_FUEL, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_T1, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_T2, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_SPEED, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_DIST, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_GPS_ALT, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_CELL, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_CELLS_SUM, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_VFAS, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_CURRENT, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_CONSUMPTION, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_POWER, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_ACCX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_ACCY, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_ACCZ, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_HDG, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_VERTICAL_SPEED, val++);
|
||||
if (version >= 216) {
|
||||
addConversion(1+TELEMETRY_SOURCE_ASPD, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_DTE, val++);
|
||||
}
|
||||
if (IS_ARM(board) && version >= 216) {
|
||||
for (int i=0; i<5; i++)
|
||||
addConversion(1+TELEMETRY_SOURCE_RESERVE, val++);
|
||||
}
|
||||
addConversion(1+TELEMETRY_SOURCE_A1_MIN, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_A2_MIN, val++);
|
||||
if (IS_ARM(board) && version >= 216) {
|
||||
addConversion(1+TELEMETRY_SOURCE_A3_MIN, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_A4_MIN, val++);
|
||||
}
|
||||
addConversion(1+TELEMETRY_SOURCE_ALT_MIN, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_ALT_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_RPM_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_T1_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_T2_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_SPEED_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_DIST_MAX, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_CELL_MIN, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_VFAS_MIN, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_POWER_MAX, val++);
|
||||
if (IS_ARM(board) && version >= 216) {
|
||||
for (int i=0; i<5; i++)
|
||||
addConversion(1+TELEMETRY_SOURCE_RESERVE, val++);
|
||||
}
|
||||
addConversion(1+TELEMETRY_SOURCE_ACC, val++);
|
||||
addConversion(1+TELEMETRY_SOURCE_GPS_TIME, val++);
|
||||
}
|
||||
};
|
||||
|
||||
template <int N>
|
||||
class TelemetrySourceField: public ConversionField< UnsignedField<N> > {
|
||||
public:
|
||||
TelemetrySourceField(unsigned int & source, BoardEnum board, unsigned int version):
|
||||
ConversionField< UnsignedField<N> >(source, &conversionTable, "Telemetry source"),
|
||||
conversionTable(board, version),
|
||||
source(source),
|
||||
board(board),
|
||||
version(version)
|
||||
{
|
||||
}
|
||||
|
||||
protected:
|
||||
TelemetrySourcesConversionTable conversionTable;
|
||||
unsigned int & source;
|
||||
BoardEnum board;
|
||||
unsigned int version;
|
||||
};
|
||||
|
||||
template <int N>
|
||||
class SourceField: public ConversionField< UnsignedField<N> > {
|
||||
public:
|
||||
|
@ -1365,7 +1466,9 @@ class CustomFunctionsConversionTable: public ConversionTable {
|
|||
addConversion(FuncTrainerTHR, val++);
|
||||
addConversion(FuncTrainerAIL, val++);
|
||||
}
|
||||
|
||||
addConversion(FuncInstantTrim, val++);
|
||||
|
||||
if (version >= 216) {
|
||||
addConversion(FuncReset, val++);
|
||||
if (IS_ARM(board)) {
|
||||
|
@ -1376,14 +1479,21 @@ class CustomFunctionsConversionTable: public ConversionTable {
|
|||
for (int i=0; i<MAX_GVARS(board, version); i++)
|
||||
addConversion(FuncAdjustGV1+i, val);
|
||||
val++;
|
||||
if (IS_ARM(board))
|
||||
if (IS_ARM(board)) {
|
||||
addConversion(FuncVolume, val++);
|
||||
addConversion(FuncReserve, val++);
|
||||
addConversion(FuncReserve, val++);
|
||||
addConversion(FuncReserve, val++);
|
||||
}
|
||||
addConversion(FuncPlaySound, val++);
|
||||
addConversion(FuncPlayPrompt, val++);
|
||||
if (version >= 213 && !IS_ARM(board))
|
||||
addConversion(FuncPlayBoth, val++);
|
||||
addConversion(FuncPlayValue, val++);
|
||||
if (IS_ARM(board)) {
|
||||
addConversion(FuncReserve, val++);
|
||||
addConversion(FuncReserve, val++);
|
||||
addConversion(FuncReserve, val++);
|
||||
addConversion(FuncBackgroundMusic, val++);
|
||||
addConversion(FuncBackgroundMusicPause, val++);
|
||||
}
|
||||
|
@ -1822,15 +1932,15 @@ class FrskyScreenField: public DataField {
|
|||
version(version)
|
||||
{
|
||||
for (int i=0; i<4; i++) {
|
||||
bars.Append(new UnsignedField<8>(_screen.body.bars[i].source));
|
||||
bars.Append(new UnsignedField<8>(_screen.body.bars[i].barMin));
|
||||
bars.Append(new UnsignedField<8>(_screen.body.bars[i].barMax));
|
||||
bars.Append(new TelemetrySourceField<8>(screen.body.bars[i].source, board, version));
|
||||
bars.Append(new UnsignedField<8>(screen.body.bars[i].barMin));
|
||||
bars.Append(new UnsignedField<8>(screen.body.bars[i].barMax));
|
||||
}
|
||||
|
||||
int columns=(IS_TARANIS(board) ? 3:2);
|
||||
for (int i=0; i<4; i++) {
|
||||
for (int j=0; j<columns; j++) {
|
||||
numbers.Append(new UnsignedField<8>(_screen.body.lines[i].source[j]));
|
||||
numbers.Append(new TelemetrySourceField<8>(screen.body.lines[i].source[j], board, version));
|
||||
}
|
||||
}
|
||||
if (!IS_TARANIS(board)) {
|
||||
|
@ -1842,23 +1952,6 @@ class FrskyScreenField: public DataField {
|
|||
|
||||
virtual void ExportBits(QBitArray & output)
|
||||
{
|
||||
_screen = screen;
|
||||
|
||||
bool afterrelease21March2013 = IS_AFTER_RELEASE_21_MARCH_2013(board, version);
|
||||
if (!afterrelease21March2013) {
|
||||
for (int i=0; i<4; i++) {
|
||||
if (_screen.body.bars[i].source > 0)
|
||||
_screen.body.bars[i].source--;
|
||||
}
|
||||
int columns=(IS_TARANIS(board) ? 3:2);
|
||||
for (int i=0; i<4; i++) {
|
||||
for (int j=0; j<columns;j++) {
|
||||
if (_screen.body.lines[i].source[j] > 0)
|
||||
_screen.body.lines[i].source[j]--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (screen.type == 0)
|
||||
numbers.ExportBits(output);
|
||||
else
|
||||
|
@ -1867,34 +1960,14 @@ class FrskyScreenField: public DataField {
|
|||
|
||||
virtual void ImportBits(QBitArray & input)
|
||||
{
|
||||
_screen = screen;
|
||||
|
||||
bool afterrelease21March2013 = IS_AFTER_RELEASE_21_MARCH_2013(board, version);
|
||||
|
||||
// NOTA: screen.type should have been imported first!
|
||||
if (screen.type == 0) {
|
||||
numbers.ImportBits(input);
|
||||
if (!afterrelease21March2013) {
|
||||
int columns=(IS_TARANIS(board) ? 3:2);
|
||||
for (int i=0; i<4; i++) {
|
||||
for (int j=0; j<columns;j++) {
|
||||
if (_screen.body.lines[i].source[j] > 0)
|
||||
_screen.body.lines[i].source[j]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
bars.ImportBits(input);
|
||||
if (!afterrelease21March2013) {
|
||||
for (int i=0; i<4; i++) {
|
||||
if (_screen.body.bars[i].source > 0)
|
||||
_screen.body.bars[i].source++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
screen = _screen;
|
||||
}
|
||||
|
||||
virtual unsigned int size()
|
||||
|
@ -1908,7 +1981,6 @@ class FrskyScreenField: public DataField {
|
|||
|
||||
protected:
|
||||
FrSkyScreenData & screen;
|
||||
FrSkyScreenData _screen;
|
||||
BoardEnum board;
|
||||
unsigned int version;
|
||||
StructField bars;
|
||||
|
|
|
@ -102,7 +102,7 @@ void populateCustomScreenFieldCB(QComboBox *b, unsigned int value, bool last=fal
|
|||
|
||||
b->addItem(RawSource(SOURCE_TYPE_NONE, 0).toString());
|
||||
|
||||
for (unsigned int i = 0; i < (last ? TELEMETRY_SOURCES_DISPLAY_COUNT : TELEMETRY_SOURCES_STATUS_COUNT); i++) {
|
||||
for (unsigned int i = 0; i <= (last ? TELEMETRY_SOURCES_DISPLAY_COUNT : TELEMETRY_SOURCES_STATUS_COUNT); i++) {
|
||||
b->addItem(RawSource(SOURCE_TYPE_TELEMETRY, i).toString());
|
||||
if (!(i>=sizeof(telem_hub)/sizeof(int) || telem_hub[i]==0 || ((telem_hub[i]>=hubproto) && hubproto!=0))) {
|
||||
QModelIndex index = b->model()->index(i, 0);
|
||||
|
@ -599,7 +599,7 @@ void populateSourceCB(QComboBox *b, const RawSource & source, const ModelData &
|
|||
if (item == source) b->setCurrentIndex(b->count()-1);
|
||||
}
|
||||
|
||||
for (int i=0; i<NUM_PPM; i++) {
|
||||
for (int i=0; i<NUM_PPM(GetEepromInterface()->getBoard()); i++) {
|
||||
item = RawSource(SOURCE_TYPE_PPM, i);
|
||||
b->addItem(item.toString(), item.toValue());
|
||||
if (item == source) b->setCurrentIndex(b->count()-1);
|
||||
|
|
1
radio/src/.gitignore
vendored
1
radio/src/.gitignore
vendored
|
@ -15,3 +15,4 @@
|
|||
/TEMPLATES
|
||||
/SOUNDS
|
||||
/LOGS
|
||||
/allsrc.cpp
|
||||
|
|
|
@ -277,7 +277,7 @@ void referenceSystemAudioFiles()
|
|||
if (!strcmp(filename, fn)) {
|
||||
availableAudioFiles |= MASK_SYSTEM_AUDIO_FILE(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ void getPhaseAudioFile(char * filename, int index, unsigned int event)
|
|||
char * tmp = strcat_phasename(str, index);
|
||||
strcpy(tmp, suffixes[event]);
|
||||
strcat(tmp, SOUNDS_EXT);
|
||||
}
|
||||
}
|
||||
|
||||
void getSwitchAudioFile(char * filename, int index)
|
||||
{
|
||||
|
@ -314,7 +314,7 @@ void getSwitchAudioFile(char * filename, int index)
|
|||
if (*str == '\300') {
|
||||
strcpy(str, "-up");
|
||||
str += 3;
|
||||
}
|
||||
}
|
||||
else if (*str == '-') {
|
||||
strcpy(str, "-mid");
|
||||
str += 4;
|
||||
|
@ -376,7 +376,7 @@ void referenceModelAudioFiles()
|
|||
sdAvailablePhaseAudioFiles |= MASK_PHASE_AUDIO_FILE(i, event);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -386,8 +386,8 @@ void referenceModelAudioFiles()
|
|||
if (!strcmp(filename, fn)) {
|
||||
sdAvailableSwitchAudioFiles |= MASK_SWITCH_AUDIO_FILE(i);
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Logical Switches Audio Files <switchname>-[on|off].wav
|
||||
for (int i=0; i<NUM_CSW && !found; i++) {
|
||||
|
@ -430,7 +430,7 @@ bool isAudioFileReferenced(uint32_t i, char * filename)
|
|||
if (sdAvailableSwitchAudioFiles & MASK_SWITCH_AUDIO_FILE(index)) {
|
||||
getSwitchAudioFile(filename, index);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (category == LOGICAL_SWITCH_AUDIO_CATEGORY) {
|
||||
if (sdAvailableLogicalSwitchAudioFiles & MASK_LOGICAL_SWITCH_AUDIO_FILE(index, event)) {
|
||||
|
@ -589,19 +589,24 @@ int WavContext::mixBuffer(AudioBuffer *buffer, int volume, unsigned int fade)
|
|||
if (state.codec == CODEC_ID_PCM_S16LE) {
|
||||
read /= 2;
|
||||
for (uint32_t i=0; i<read; i++) {
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++)
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++) {
|
||||
mixSample(samples++, ((int16_t *)wavBuffer)[i], fade+2-volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (state.codec == CODEC_ID_PCM_ALAW) {
|
||||
for (uint32_t i=0; i<read; i++)
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++)
|
||||
for (uint32_t i=0; i<read; i++) {
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++) {
|
||||
mixSample(samples++, alawTable[wavBuffer[i]], fade+2-volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (state.codec == CODEC_ID_PCM_MULAW) {
|
||||
for (uint32_t i=0; i<read; i++)
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++)
|
||||
for (uint32_t i=0; i<read; i++) {
|
||||
for (uint8_t j=0; j<state.resampleRatio; j++) {
|
||||
mixSample(samples++, ulawTable[wavBuffer[i]], fade+2-volume);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return samples - buffer->data;
|
||||
|
@ -639,6 +644,7 @@ int ToneContext::mixBuffer(AudioBuffer *buffer, int volume, unsigned int fade)
|
|||
double toneIdx = state.idx;
|
||||
|
||||
if (fragment.tone.reset) {
|
||||
fragment.tone.reset = 0;
|
||||
state.duration = 0;
|
||||
state.pause = 0;
|
||||
}
|
||||
|
|
|
@ -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- Cels- and Vfas- added
|
||||
if (source >= TELEM_MIN_CELL)
|
||||
source += 3;
|
||||
// 5 reserve added
|
||||
if (source >= TELEM_RESERVE6)
|
||||
source += 5;
|
||||
|
||||
return source;
|
||||
}
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
int ConvertSource_215_to_216(int source, bool insertZero=false)
|
||||
{
|
||||
|
@ -243,15 +270,15 @@ int ConvertSource_215_to_216(int source, bool insertZero=false)
|
|||
// Virtual Inputs and Lua Outputs added
|
||||
if (source > 0)
|
||||
source += MAX_INPUTS + MAX_SCRIPTS*MAX_SCRIPT_OUTPUTS;
|
||||
// PPM9-PPM16 added
|
||||
if (source > MIXSRC_FIRST_PPM+7)
|
||||
source += 8;
|
||||
// 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 +300,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;
|
||||
}
|
||||
|
||||
|
@ -637,6 +662,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;
|
||||
|
|
|
@ -1815,7 +1815,7 @@ enum FlightModesItems {
|
|||
ITEM_PHASES_LAST = ITEM_PHASES_COUNT-1
|
||||
};
|
||||
|
||||
bool isTrimModeAvailable(int16_t mode)
|
||||
bool isTrimModeAvailable(int mode)
|
||||
{
|
||||
return (mode == TRIM_MODE_NONE || (mode%2) == 0 || (mode/2) != (m_posVert-1));
|
||||
}
|
||||
|
@ -2186,7 +2186,7 @@ void menuModelHeli(uint8_t event)
|
|||
uint8_t attr = (sub == i ? ((s_editMode>0) ? BLINK|INVERS : INVERS) : 0);
|
||||
switch(i) {
|
||||
case ITEM_HELI_SWASHTYPE:
|
||||
g_model.swashR.type = selectMenuItem(HELI_PARAM_OFS, y, STR_SWASHTYPE, STR_VSWASHTYPE, g_model.swashR.type, 0, SWASH_TYPE_NUM, attr, event);
|
||||
g_model.swashR.type = selectMenuItem(HELI_PARAM_OFS, y, STR_SWASHTYPE, STR_VSWASHTYPE, g_model.swashR.type, 0, SWASH_TYPE_MAX, attr, event);
|
||||
break;
|
||||
|
||||
case ITEM_HELI_COLLECTIVE:
|
||||
|
@ -5754,7 +5754,7 @@ void menuModelTelemetry(uint8_t event)
|
|||
if (attr && (s_editMode>0 || p1valdiff)) {
|
||||
switch (m_posHorz) {
|
||||
case 0:
|
||||
bar.source = checkIncDecModel(event, barSource, 0, TELEM_DISPLAY_MAX);
|
||||
bar.source = CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, barSource, TELEM_DISPLAY_MAX, isTelemetrySourceAvailable);
|
||||
if (checkIncDec_Ret) {
|
||||
bar.barMin = 0;
|
||||
bar.barMax = 255 - maxBarTelemValue(bar.source);
|
||||
|
@ -5782,7 +5782,7 @@ void menuModelTelemetry(uint8_t event)
|
|||
#endif
|
||||
lcd_putsiAtt(pos[c], y, STR_VTELEMCHNS, value, cellAttr);
|
||||
if (cellAttr && (s_editMode>0 || p1valdiff)) {
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, value, (lineIndex==3 && c==0) ? TELEM_STATUS_MAX : TELEM_DISPLAY_MAX);
|
||||
CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, value, (lineIndex==3 && c==0) ? TELEM_STATUS_MAX : TELEM_DISPLAY_MAX, isTelemetrySourceAvailable);
|
||||
}
|
||||
}
|
||||
if (attr && m_posHorz == NUM_LINE_ITEMS) {
|
||||
|
|
|
@ -1333,7 +1333,7 @@ void drawStatusLine()
|
|||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
bool isSourceAvailable(int16_t source)
|
||||
bool isSourceAvailable(int source)
|
||||
{
|
||||
#if defined(PCBTARANIS)
|
||||
if (source>=MIXSRC_FIRST_INPUT && source<=MIXSRC_LAST_INPUT) {
|
||||
|
@ -1376,10 +1376,35 @@ bool isSourceAvailable(int16_t source)
|
|||
return false;
|
||||
#endif
|
||||
|
||||
if (source>=MIXSRC_FIRST_TELEM && source<=MIXSRC_LAST_TELEM)
|
||||
return isTelemetrySourceAvailable(source-MIXSRC_FIRST_TELEM+1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool isInputSourceAvailable(int16_t 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;
|
||||
|
||||
if (source >= TELEM_RESERVE6 && source <= TELEM_RESERVE10)
|
||||
return false;
|
||||
|
||||
if (source == TELEM_DTE)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool isInputSourceAvailable(int source)
|
||||
{
|
||||
if (source>=MIXSRC_Rud && source<=MIXSRC_MAX)
|
||||
return true;
|
||||
|
@ -1390,13 +1415,16 @@ bool isInputSourceAvailable(int16_t source)
|
|||
if (source>=MIXSRC_FIRST_CH && source<=MIXSRC_LAST_CH)
|
||||
return true;
|
||||
|
||||
if (source>=MIXSRC_FIRST_TELEM && source<=MIXSRC_LAST_TELEM)
|
||||
if (source>=MIXSRC_FIRST_PPM && source<=MIXSRC_LAST_PPM)
|
||||
return true;
|
||||
|
||||
if (source>=MIXSRC_FIRST_TELEM && source<=MIXSRC_LAST_TELEM)
|
||||
return isTelemetrySourceAvailable(source-MIXSRC_FIRST_TELEM+1);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isSwitchAvailableInLogicalSwitches(int16_t swtch)
|
||||
bool isSwitchAvailableInLogicalSwitches(int swtch)
|
||||
{
|
||||
if (swtch < 0) {
|
||||
if (swtch <= -SWSRC_ON)
|
||||
|
@ -1425,7 +1453,7 @@ bool isSwitchAvailableInLogicalSwitches(int16_t swtch)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool isSwitchAvailable(int16_t swtch)
|
||||
bool isSwitchAvailable(int swtch)
|
||||
{
|
||||
if (!isSwitchAvailableInLogicalSwitches(swtch)) {
|
||||
return false;
|
||||
|
@ -1439,13 +1467,12 @@ bool isSwitchAvailable(int16_t swtch)
|
|||
return true;
|
||||
}
|
||||
|
||||
// Not available yet, will be needed if we implement the Range function later...
|
||||
bool isLogicalSwitchFunctionAvailable(int16_t function)
|
||||
bool isLogicalSwitchFunctionAvailable(int function)
|
||||
{
|
||||
return function != LS_FUNC_RANGE;
|
||||
}
|
||||
|
||||
bool isAssignableFunctionAvailable(int16_t function)
|
||||
bool isAssignableFunctionAvailable(int function)
|
||||
{
|
||||
switch (function) {
|
||||
|
||||
|
@ -1459,6 +1486,14 @@ bool isAssignableFunctionAvailable(int16_t function)
|
|||
return false;
|
||||
#endif
|
||||
|
||||
case FUNC_PLAY_DIFF:
|
||||
case FUNC_RESERVE1:
|
||||
case FUNC_RESERVE2:
|
||||
case FUNC_RESERVE3:
|
||||
case FUNC_RESERVE4:
|
||||
case FUNC_RESERVE5:
|
||||
return false;
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ extern int8_t s_editMode; // global editmode
|
|||
#define HIDDEN_ROW ((uint8_t)-2)
|
||||
|
||||
#if defined(CPUARM)
|
||||
typedef bool (*IsValueAvailable)(int16_t);
|
||||
typedef bool (*IsValueAvailable)(int);
|
||||
int16_t checkIncDec(uint8_t event, int16_t i_pval, int16_t i_min, int16_t i_max, uint8_t i_flags=0, IsValueAvailable isValueAvailable=NULL);
|
||||
#else
|
||||
int16_t checkIncDec(uint8_t event, int16_t i_pval, int16_t i_min, int16_t i_max, uint8_t i_flags=0);
|
||||
|
@ -194,10 +194,18 @@ int8_t checkIncDecGen(uint8_t event, int8_t i_val, int8_t i_min, int8_t i_max);
|
|||
var = checkIncDecModelZero(event,var,max)
|
||||
|
||||
#if defined(CPUARM)
|
||||
bool isLogicalSwitchFunctionAvailable(int16_t function);
|
||||
bool isAssignableFunctionAvailable(int16_t function);
|
||||
bool isSwitchAvailable(int16_t swtch);
|
||||
bool isSwitchAvailableInLogicalSwitches(int16_t swtch);
|
||||
#define CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, var, max, check) \
|
||||
var = checkIncDec(event, var, 0, max, EE_MODEL, check)
|
||||
#else
|
||||
#define CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, var, max, check) \
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, var, max)
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
bool isLogicalSwitchFunctionAvailable(int function);
|
||||
bool isAssignableFunctionAvailable(int function);
|
||||
bool isSwitchAvailable(int swtch);
|
||||
bool isSwitchAvailableInLogicalSwitches(int swtch);
|
||||
#define AUTOSWITCH_ENTER_LONG() (attr && event==EVT_KEY_LONG(KEY_ENTER))
|
||||
#define CHECK_INCDEC_MODELSWITCH(event, var, min, max) \
|
||||
var = checkIncDec(event,var,min,max,EE_MODEL|INCDEC_SWITCH|NO_INCDEC_MARKS, isSwitchAvailable)
|
||||
|
@ -211,8 +219,9 @@ int8_t checkIncDecGen(uint8_t event, int8_t i_val, int8_t i_min, int8_t i_max);
|
|||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
bool isSourceAvailable(int16_t source);
|
||||
bool isInputSourceAvailable(int16_t source);
|
||||
bool isSourceAvailable(int source);
|
||||
bool isTelemetrySourceAvailable(int source);
|
||||
bool isInputSourceAvailable(int source);
|
||||
#define CHECK_INCDEC_MODELSOURCE(event, var, min, max) \
|
||||
var = checkIncDec(event,var,min,max,EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isSourceAvailable)
|
||||
#elif defined(AUTOSOURCE)
|
||||
|
|
|
@ -1244,6 +1244,7 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val,
|
|||
case TELEM_TX_VOLTAGE-1:
|
||||
case TELEM_VFAS-1:
|
||||
case TELEM_CELLS_SUM-1:
|
||||
case TELEM_MIN_CELLS_SUM-1:
|
||||
case TELEM_MIN_VFAS-1:
|
||||
putsTelemetryValue(x, y, val, UNIT_VOLTS, att|PREC1);
|
||||
break;
|
||||
|
@ -1270,6 +1271,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);
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
#define NUM_CFN 64 // number of functions assigned to switches
|
||||
#define MAX_SCRIPTS 7
|
||||
#define MAX_INPUTS 32
|
||||
#define NUM_PPM 16
|
||||
#elif defined(CPUARM)
|
||||
#define MAX_MODELS 60
|
||||
#define NUM_CHNOUT 32 // number of real output channels CH1-CH32
|
||||
|
@ -85,6 +86,7 @@
|
|||
#define MAX_EXPOS 32
|
||||
#define NUM_CSW 32 // number of custom switches
|
||||
#define NUM_CFN 64 // number of functions assigned to switches
|
||||
#define NUM_PPM 16
|
||||
#elif defined(CPUM2560) || defined(CPUM2561)
|
||||
#define MAX_MODELS 30
|
||||
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
||||
|
@ -93,6 +95,7 @@
|
|||
#define MAX_EXPOS 16
|
||||
#define NUM_CSW 15 // number of custom switches
|
||||
#define NUM_CFN 24 // number of functions assigned to switches
|
||||
#define NUM_PPM 8
|
||||
#elif defined(CPUM128)
|
||||
#define MAX_MODELS 30
|
||||
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
||||
|
@ -101,6 +104,7 @@
|
|||
#define MAX_EXPOS 14
|
||||
#define NUM_CSW 15 // number of custom switches
|
||||
#define NUM_CFN 24 // number of functions assigned to switches
|
||||
#define NUM_PPM 8
|
||||
#else
|
||||
#define MAX_MODELS 16
|
||||
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
||||
|
@ -109,9 +113,12 @@
|
|||
#define MAX_EXPOS 14
|
||||
#define NUM_CSW 12 // number of custom switches
|
||||
#define NUM_CFN 16 // number of functions assigned to switches
|
||||
#define NUM_PPM 8
|
||||
#endif
|
||||
|
||||
#define MAX_TIMERS 2
|
||||
#define NUM_CYC 3
|
||||
#define NUM_CAL_PPM 4
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
enum CurveType {
|
||||
|
@ -755,6 +762,9 @@ enum Functions {
|
|||
FUNC_ADJUST_GVAR,
|
||||
#if defined(CPUARM)
|
||||
FUNC_VOLUME,
|
||||
FUNC_RESERVE1,
|
||||
FUNC_RESERVE2,
|
||||
FUNC_RESERVE3,
|
||||
#endif
|
||||
|
||||
// then the other functions
|
||||
|
@ -766,6 +776,9 @@ enum Functions {
|
|||
#endif
|
||||
FUNC_PLAY_VALUE,
|
||||
#if defined(CPUARM)
|
||||
FUNC_PLAY_DIFF,
|
||||
FUNC_RESERVE4,
|
||||
FUNC_RESERVE5,
|
||||
FUNC_BACKGND_MUSIC,
|
||||
FUNC_BACKGND_MUSIC_PAUSE,
|
||||
#endif
|
||||
|
@ -955,10 +968,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,
|
||||
|
@ -980,8 +1003,19 @@ enum TelemetrySource {
|
|||
TELEM_VSPD,
|
||||
TELEM_ASPD,
|
||||
TELEM_DTE,
|
||||
#if defined(CPUARM)
|
||||
TELEM_RESERVE1,
|
||||
TELEM_RESERVE2,
|
||||
TELEM_RESERVE3,
|
||||
TELEM_RESERVE4,
|
||||
TELEM_RESERVE5,
|
||||
#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,
|
||||
|
@ -990,9 +1024,17 @@ enum TelemetrySource {
|
|||
TELEM_MAX_SPEED,
|
||||
TELEM_MAX_DIST,
|
||||
TELEM_MIN_CELL,
|
||||
TELEM_MIN_CELLS_SUM,
|
||||
TELEM_MIN_VFAS,
|
||||
TELEM_MAX_CURRENT,
|
||||
TELEM_MAX_POWER,
|
||||
#if defined(CPUARM)
|
||||
TELEM_RESERVE6,
|
||||
TELEM_RESERVE7,
|
||||
TELEM_RESERVE8,
|
||||
TELEM_RESERVE9,
|
||||
TELEM_RESERVE10,
|
||||
#endif
|
||||
TELEM_ACC,
|
||||
TELEM_GPS_TIME,
|
||||
TELEM_CSW_MAX = TELEM_MAX_POWER,
|
||||
|
@ -1003,12 +1045,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 {
|
||||
|
@ -1127,6 +1164,14 @@ PACK(typedef struct t_MavlinkData {
|
|||
}) MavlinkData;
|
||||
#endif
|
||||
|
||||
enum SwashType {
|
||||
SWASH_TYPE_120,
|
||||
SWASH_TYPE_120X,
|
||||
SWASH_TYPE_140,
|
||||
SWASH_TYPE_90,
|
||||
SWASH_TYPE_MAX = SWASH_TYPE_90
|
||||
};
|
||||
|
||||
PACK(typedef struct t_SwashRingData { // Swash Ring data
|
||||
uint8_t invertELE:1;
|
||||
uint8_t invertAIL:1;
|
||||
|
@ -1398,7 +1443,7 @@ enum MixSources {
|
|||
MIXSRC_LAST_CSW = MIXSRC_FIRST_CSW+NUM_CSW-1,
|
||||
|
||||
MIXSRC_FIRST_PPM,
|
||||
MIXSRC_LAST_PPM = MIXSRC_FIRST_PPM + 7,
|
||||
MIXSRC_LAST_PPM = MIXSRC_FIRST_PPM+NUM_PPM-1,
|
||||
|
||||
MIXSRC_FIRST_CH,
|
||||
MIXSRC_CH1 = MIXSRC_FIRST_CH,
|
||||
|
|
|
@ -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;
|
||||
|
@ -2001,6 +2004,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;
|
||||
|
@ -2020,6 +2026,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;
|
||||
|
@ -3213,13 +3222,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;
|
||||
|
@ -3250,6 +3259,7 @@ PLAY_FUNCTION(playValue, uint8_t idx)
|
|||
|
||||
case MIXSRC_FIRST_TELEM+TELEM_VFAS-1:
|
||||
case MIXSRC_FIRST_TELEM+TELEM_CELLS_SUM-1:
|
||||
case MIXSRC_FIRST_TELEM+TELEM_MIN_CELLS_SUM-1:
|
||||
case MIXSRC_FIRST_TELEM+TELEM_MIN_VFAS-1:
|
||||
PLAY_NUMBER(val, 1+UNIT_VOLTS, PREC1);
|
||||
break;
|
||||
|
@ -4871,10 +4881,10 @@ void perMain()
|
|||
#endif
|
||||
}
|
||||
}
|
||||
} //endfunc void perMain()
|
||||
}
|
||||
|
||||
int16_t g_ppmIns[8];
|
||||
uint8_t ppmInState = 0; //0=unsync 1..8= wait for value i-1
|
||||
int16_t g_ppmIns[NUM_PPM];
|
||||
uint8_t ppmInState = 0; // 0=unsync 1..8= wait for value i-1
|
||||
|
||||
#if !defined(SIMU) && !defined(CPUARM)
|
||||
|
||||
|
|
|
@ -622,16 +622,6 @@ enum BaseCurves {
|
|||
CURVE_BASE
|
||||
};
|
||||
|
||||
#define SWASH_TYPE_120 1
|
||||
#define SWASH_TYPE_120X 2
|
||||
#define SWASH_TYPE_140 3
|
||||
#define SWASH_TYPE_90 4
|
||||
#define SWASH_TYPE_NUM 4
|
||||
|
||||
#define NUM_CYC 3
|
||||
#define NUM_CAL_PPM 4
|
||||
#define NUM_PPM 8
|
||||
|
||||
#define THRCHK_DEADBAND 16
|
||||
|
||||
#if defined(FSPLASH) || defined(XSPLASH)
|
||||
|
@ -1205,7 +1195,7 @@ extern uint8_t g_beepCnt;
|
|||
extern uint8_t g_beepVal[5];
|
||||
|
||||
extern uint8_t ppmInState; //0=unsync 1..8= wait for value i-1
|
||||
extern int16_t g_ppmIns[8];
|
||||
extern int16_t g_ppmIns[NUM_PPM];
|
||||
extern int32_t chans[NUM_CHNOUT];
|
||||
extern int16_t ex_chans[NUM_CHNOUT]; // Outputs (before LIMITS) of the last perMain
|
||||
extern int16_t channelOutputs[NUM_CHNOUT];
|
||||
|
|
|
@ -310,11 +310,11 @@ extern "C" void TC3_IRQHandler() //capture ppm in at 2MHz
|
|||
|
||||
// G: We process g_ppmIns immediately here, to make servo movement as smooth as possible
|
||||
// while under trainee control
|
||||
if (val>4000 && val<19000) { // G: Prioritize reset pulse. (Needed when less than 8 incoming pulses)
|
||||
if (val>4000 && val<19000) { // G: Prioritize reset pulse. (Needed when less than 16 incoming pulses)
|
||||
ppmInState = 1; // triggered
|
||||
}
|
||||
else {
|
||||
if (ppmInState && ppmInState<=8)
|
||||
if (ppmInState && ppmInState<=16)
|
||||
{
|
||||
if (val>800 && val<2200) // if valid pulse-width range
|
||||
{
|
||||
|
|
|
@ -126,11 +126,11 @@ extern "C" void TIM3_IRQHandler()
|
|||
|
||||
// We process g_ppmInsright here to make servo movement as smooth as possible
|
||||
// while under trainee control
|
||||
if ((val>4000) && (val < 19000)) { // G: Prioritize reset pulse. (Needed when less than 8 incoming pulses)
|
||||
if ((val>4000) && (val < 19000)) { // G: Prioritize reset pulse. (Needed when less than 16 incoming pulses)
|
||||
ppmInState = 1; // triggered
|
||||
}
|
||||
else {
|
||||
if (ppmInState && (ppmInState<=8)) {
|
||||
if (ppmInState && (ppmInState<=16)) {
|
||||
if ((val>800) && (val<2200)) {
|
||||
g_ppmIns[ppmInState++ - 1] = (int16_t)(val - 1500)*(g_eeGeneral.PPM_Multiplier+10)/10; //+-500 != 512, but close enough.
|
||||
}
|
||||
|
|
|
@ -700,6 +700,9 @@ void telemetryInterrupt10ms()
|
|||
voltage += frskyData.hub.cellVolts[i];
|
||||
voltage /= 5;
|
||||
frskyData.hub.cellsSum = voltage;
|
||||
if (frskyData.hub.cellsSum < frskyData.hub.minCells) {
|
||||
frskyData.hub.minCells = frskyData.hub.cellsSum;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (TELEMETRY_STREAMING()) {
|
||||
|
|
|
@ -140,6 +140,7 @@ PACK(struct FrskySerialData {
|
|||
uint16_t maxGpsSpeed;
|
||||
uint16_t maxGpsDistance;
|
||||
int16_t minCell;
|
||||
int16_t minCells;
|
||||
int16_t minVfas;
|
||||
uint16_t maxCurrent;
|
||||
uint16_t maxPower;
|
||||
|
@ -187,6 +188,9 @@ PACK(struct FrskySerialData {
|
|||
struct FrskyData {
|
||||
FrskyValueWithMinMax analog[2];
|
||||
FrskyValueWithMin rssi[2];
|
||||
#if defined(CPUARM)
|
||||
FrskyValueWithMinMax swr;
|
||||
#endif
|
||||
FrskySerialData hub;
|
||||
};
|
||||
|
||||
|
|
|
@ -199,7 +199,7 @@ void processHubPacket(uint8_t id, uint16_t value)
|
|||
break;
|
||||
|
||||
case CURRENT_ID:
|
||||
if (((int16_t)frskyData.hub.current + g_model.frsky.fasOffset)>0)
|
||||
if ((int16_t)frskyData.hub.current > 0 && ((int16_t)frskyData.hub.current + g_model.frsky.fasOffset) > 0)
|
||||
frskyData.hub.current += g_model.frsky.fasOffset;
|
||||
else
|
||||
frskyData.hub.current = 0;
|
||||
|
@ -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
|
||||
|
@ -573,6 +573,9 @@ void telemetryInterrupt10ms()
|
|||
voltage += frskyData.hub.cellVolts[i];
|
||||
voltage /= 10;
|
||||
frskyData.hub.cellsSum = voltage;
|
||||
if (frskyData.hub.cellsSum < frskyData.hub.minCells) {
|
||||
frskyData.hub.minCells = frskyData.hub.cellsSum;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (TELEMETRY_STREAMING()) {
|
||||
|
@ -663,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 */
|
||||
|
@ -756,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;
|
||||
|
|
|
@ -124,6 +124,7 @@ PACK(struct FrskySerialData {
|
|||
uint16_t maxGpsSpeed;
|
||||
uint16_t maxGpsDistance;
|
||||
int16_t minCell;
|
||||
int16_t minCells;
|
||||
int16_t minVfas;
|
||||
uint16_t maxCurrent;
|
||||
uint16_t maxPower;
|
||||
|
@ -151,6 +152,7 @@ PACK(struct FrskySerialData {
|
|||
struct FrskyData {
|
||||
FrskyValueWithMinMax analog[2];
|
||||
FrskyValueWithMinMax rssi[2];
|
||||
FrskyValueWithMinMax swr;
|
||||
FrskySerialData hub;
|
||||
};
|
||||
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#endif
|
||||
#define TR_VTELEMCHNS "---\0""Bat\0""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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
#define TR_VTELEMCHNS "---\0""Bat\0""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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
/*
|
||||
/* German checked 28.02.2014 kleine Änderungen
|
||||
* Authors (alphabetical order)
|
||||
* - Bertrand Songis <bsongis@gmail.com>
|
||||
* - Bernet Andre <bernet.andre@gmail.com>
|
||||
* - Helle <hrenz62961@aol.com>
|
||||
* - Kjell Kernen <kjell.kernen@gmail.com>
|
||||
* - Martin Hotar <mhotar@gmail.com>
|
||||
* - Romolo Manfredini <romolo.manfredini@gmail.com>
|
||||
*
|
||||
* opentx is based on code named
|
||||
* gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/,
|
||||
|
@ -69,10 +66,10 @@
|
|||
#define TR_TRNCHN "CH1CH2CH3CH4"
|
||||
|
||||
#define LEN_UART3MODES "\017"
|
||||
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
|
||||
#define TR_UART3MODES "AUS\0 ""S-Port Data Out\0""Debug\0 "
|
||||
|
||||
#define LEN_POTTYPES "\017"
|
||||
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
|
||||
#define TR_POTTYPES "Poti\0 ""Stufen-Schalter "
|
||||
|
||||
#define LEN_DATETIME "\005"
|
||||
#define TR_DATETIME "DATE:""ZEIT:"
|
||||
|
@ -84,7 +81,7 @@
|
|||
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0")
|
||||
|
||||
#define LEN_VTRIMINC TR("\006","\013")
|
||||
#define TR_VTRIMINC TR("Expo ""ExFein""Fein ""Mittel""Grob ","Exponential""Extra Fein ""Fein ""Mittel ""Grob ")
|
||||
#define TR_VTRIMINC TR("Expo ""ExFein""Fein ""Mittel""Grob ","Exponential""Extra Fein ""Fein ""Mittel ""Grob ")
|
||||
|
||||
#define LEN_VBEEPCOUNTDOWN "\006"
|
||||
#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0Stimme"
|
||||
|
@ -148,7 +145,7 @@
|
|||
#define TR_VMLTPX2 "+=""*="":="
|
||||
|
||||
#define LEN_VMIXTRIMS "\003"
|
||||
#define TR_VMIXTRIMS "AUS""EIN""Sei""H\203e""Gas""Que" //Mixer Trim Werte
|
||||
#define TR_VMIXTRIMS "AUS""EIN""Sei""Höh""Gas""Que" //Mixer Trim Werte
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
#define TR_CSWTIMER "Timer"
|
||||
|
@ -168,9 +165,9 @@
|
|||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
#define TR_CSWEQUAL "a=x\0 "
|
||||
#define TR_CSWEQUAL "a=x\0 "
|
||||
#else
|
||||
#define TR_CSWEQUAL
|
||||
#define TR_CSWEQUAL
|
||||
#endif
|
||||
|
||||
#define LEN_VCSWFUNC "\005"
|
||||
|
@ -189,7 +186,7 @@
|
|||
#endif
|
||||
|
||||
#if defined(AUDIO)
|
||||
#define TR_SOUND "Spiel T\203ne"
|
||||
#define TR_SOUND "Spiel Töne"
|
||||
#else
|
||||
#define TR_SOUND "Spiel\0 "
|
||||
#endif
|
||||
|
@ -207,14 +204,14 @@
|
|||
#define TR_PLAY_TRACK "Sag Text\0 "
|
||||
#endif
|
||||
#define TR_PLAY_BOTH "Sag Beide "
|
||||
#define TR_PLAY_VALUE "Sag Wert\0 "
|
||||
#define TR_PLAY_VALUE TR("Sag Wert\0 ", "Sag Wert ")
|
||||
#else
|
||||
#define TR_PLAY_TRACK "[Sag Text]"
|
||||
#define TR_PLAY_BOTH "[SagBeide]"
|
||||
#define TR_PLAY_VALUE "[Sag Wert]"
|
||||
#endif
|
||||
|
||||
#define TR_CFN_BG_MUSIC "MusikStart""MusikPause"
|
||||
#define TR_CFN_BG_MUSIC "StartMusik""Stop Musik"
|
||||
|
||||
#if defined(SDCARD)
|
||||
#define TR_SDCLOGS "SD Aufz.\0 "
|
||||
|
@ -223,9 +220,9 @@
|
|||
#endif
|
||||
|
||||
#ifdef GVARS
|
||||
#define TR_ADJUST_GVAR "\200ndere \0 "
|
||||
#define TR_ADJUST_GVAR "Ändere \0 "
|
||||
#else
|
||||
#define TR_ADJUST_GVAR "[AdjustGV]"
|
||||
#define TR_ADJUST_GVAR "[AdjustGV]"
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
|
@ -234,12 +231,14 @@
|
|||
#define TR_CFN_TEST
|
||||
#endif
|
||||
|
||||
#define TR_CFN_RESERVE "[Reserve]\0"
|
||||
|
||||
#if defined(CPUARM)
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0""Set \0 " TR_ADJUST_GVAR "Lautst\201rke" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""Rücksetz.\0""Setze \0 " TR_ADJUST_GVAR "Lautstr.\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
|
||||
#elif defined(PCBGRUVIN9X)
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "LCD Licht\0" TR_CFN_TEST
|
||||
#else
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""R\205cksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "LCD Licht\0" TR_CFN_TEST
|
||||
#define TR_VFSWFUNC "Sicher\0 ""Lehrer \0 ""Inst. Trim""Rücksetz.\0" TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC "LCD Licht\0" TR_CFN_TEST
|
||||
#endif
|
||||
|
||||
#define LEN_VFSWRESET TR("\004", "\011")
|
||||
|
@ -251,9 +250,9 @@
|
|||
#endif
|
||||
|
||||
#if ROTARY_ENCODERS == 2
|
||||
#define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "RotEnc A\0""RotEnc B\0")
|
||||
#define TR_FSW_RESET_ROTENC TR("DGa\0""DGb\0", "DrehGb A\0""DrehGb B\0")
|
||||
#elif ROTARY_ENCODERS == 1
|
||||
#define TR_FSW_RESET_ROTENC TR("R.E.", "RotEnc\0 ")
|
||||
#define TR_FSW_RESET_ROTENC TR("D.G.", "DrehGb\0 ")
|
||||
#else
|
||||
#define TR_FSW_RESET_ROTENC
|
||||
#endif
|
||||
|
@ -264,25 +263,28 @@
|
|||
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Piep1\0""Piep2\0""Piep3\0""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
|
||||
|
||||
#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
|
||||
#define TR_VTELEMCHNS "---\0""Batt""Uhr1""Uhr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""H\203he""Umdr""Fuel""T1\0 ""T2\0 ""Gesc""Dist""GH\203h""Zell""Zels""Vfas""Strm""Verb""Leis""BesX""BesY""BesZ""Rich""VGes""ASpd""dTE\0""A1-\0""A2-\0""H\203h-""H\203h+""Umd+""T1+\0""T2+\0""Ges+""Dst+""Cel-""Vfs-""Str+""Pwr+""Besc""Zeit"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
#define LENGTH_UNIT_METR "m\0 "
|
||||
#define SPEED_UNIT_METR "kmh"
|
||||
|
||||
#if defined(CPUARM)
|
||||
#define LEN_VUNITSSYSTEM TR("\006", "\010")
|
||||
#define TR_VUNITSSYSTEM TR("Metrik""Imper.", "Metrisch\0 ""Imperial")
|
||||
#define LEN_VTELEMUNIT_METR "\003"
|
||||
#define TR_VTELEMUNIT_METR "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 "
|
||||
#define 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_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-""Cls-""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", "\012")
|
||||
#define TR_VUNITSSYSTEM TR("Metrik""Imper.", "Metrisch\0 ""Imperial\0 ")
|
||||
#define LEN_VTELEMUNIT_NORM "\003"
|
||||
#define TR_VTELEMUNIT_NORM "V\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 "
|
||||
#define LEN_VTELEMUNIT_IMP "\003"
|
||||
#define TR_VTELEMUNIT_IMP "V\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 "
|
||||
#else
|
||||
|
@ -319,15 +321,15 @@
|
|||
#define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0"
|
||||
#endif
|
||||
|
||||
#define LEN_VSCREEN "\006"
|
||||
#define LEN_VSCREEN "\006"
|
||||
#define TR_VSCREEN "Werte\0""Balken" //Telemetrie Werte oder Balken
|
||||
|
||||
#define LEN_GPSFORMAT "\004"
|
||||
#define TR_GPSFORMAT "HMS\0""NMEA" //Koordinatenanzeige
|
||||
|
||||
#define LEN2_VTEMPLATES 15 // max String L\201nge f\205r Men\205 (original=13)
|
||||
#define LEN_VTEMPLATES "\017" // max String L\201nge 15+cr+lf
|
||||
#define TR_VTEMPLATES "Misch. L\203sch.\0 ""Einfach. 4-CH\0 ""Fixe Gassperre\0""V-Stabilisator\0""Delta Mischer\0 ""eCCPM\0 ""Hubschrauber\0 ""Servo Tester\0 "
|
||||
#define LEN2_VTEMPLATES 15 // max String Länge für Menü (original=13)
|
||||
#define LEN_VTEMPLATES "\017" // max String Länge 15+cr+lf
|
||||
#define TR_VTEMPLATES "Misch. Lösch.\0 ""Einfach. 4-CH\0 ""Fixe Gassperre\0""V-Stabilisator\0""Delta Mischer\0 ""eCCPM\0 ""Hubschrauber\0 ""Servo Tester\0 "
|
||||
|
||||
#define LEN_VSWASHTYPE "\004"
|
||||
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
|
||||
|
@ -355,14 +357,14 @@
|
|||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
#define TR_LOGICALSW "PS1""PS2""PS3""PS4""PS5""PS6""PS7""PS8""PS9""PSA""PSB""PSC""PSD""PSE""PSF""PSG""PSH""PSI""PSJ""PSK""PSL""PSM""PSN""PSO""PSP""PSQ""PSR""PSS""PST""PSU""PSV""PSW"
|
||||
#define TR_LOGICALSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC""LSD""LSE""LSF""LSG""LSH""LSI""LSJ""LSK""LSL""LSM""LSN""LSO""LSP""LSQ""LSR""LSS""LST""LSU""LSV""LSW"
|
||||
#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128)
|
||||
#define TR_LOGICALSW "PS1""PS2""PS3""PS4""PS5""PS6""PS7""PS8""PS9""PSA""PSB""PSC""PSD""PSE""PSF"
|
||||
#define TR_LOGICALSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC""LSD""LSE""LSF"
|
||||
#else
|
||||
#define TR_LOGICALSW "PS1""PS2""PS3""PS4""PS5""PS6""PS7""PS8""PS9""PSA""PSB""PSC"
|
||||
#define TR_LOGICALSW "LS1""LS2""LS3""LS4""LS5""LS6""LS7""LS8""LS9""LSA""LSB""LSC"
|
||||
#endif
|
||||
|
||||
#define TR_TRIMS_SWITCHES "tRl""tRr""tEd""tEu""tTd""tTu""tAl""tAr"
|
||||
#define TR_TRIMS_SWITCHES "tSl""tSr""tHd""tHu""tGd""tGu""tQl""tQr"
|
||||
|
||||
#if defined(PCBSKY9X)
|
||||
#define TR_ROTARY_ENCODERS "DGa\0"
|
||||
|
@ -379,9 +381,9 @@
|
|||
#define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26"
|
||||
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW
|
||||
#elif defined(CPUARM)
|
||||
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW
|
||||
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
|
||||
#else
|
||||
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW
|
||||
#define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_CUSTOMSW
|
||||
#endif
|
||||
|
||||
#if defined(HELI)
|
||||
|
@ -390,13 +392,13 @@
|
|||
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
|
||||
#endif
|
||||
|
||||
#define TR_VSRCRAW "---\0""Sei\0""H\203h\0""Gas\0""Que\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" TR_SW_VSRCRAW
|
||||
#define TR_VSRCRAW "---\0""Sei\0""Höh\0""Gas\0""Que\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" TR_SW_VSRCRAW
|
||||
|
||||
#define LEN_VTMRMODES "\003"
|
||||
#define TR_VTMRMODES "AUS""ABS""GSs""GS%""GSt"
|
||||
|
||||
#define LEN_VTRAINERMODES "\007" // "\006"
|
||||
#define TR_VTRAINERMODES "Lehrer\0""Sch\205ler\0" // "Master""Slave\0"
|
||||
#define TR_VTRAINERMODES "Lehrer\0""Schüler\0" // "Master""Slave\0"
|
||||
|
||||
#define LEN_VFAILSAFE "\011"
|
||||
#define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses"
|
||||
|
@ -426,7 +428,7 @@
|
|||
|
||||
#define TR_MENUWHENDONE CENTER"\010"TR_ENTER" > Weiter"
|
||||
#define TR_FREE "frei"
|
||||
#define TR_DELETEMODEL "Modell l\203schen?"
|
||||
#define TR_DELETEMODEL "Modell löschen?"
|
||||
#define TR_COPYINGMODEL "Kopiere Modell"
|
||||
#define TR_MOVINGMODEL "Schiebe Modell"
|
||||
#define TR_LOADINGMODEL "Lade Modell..."
|
||||
|
@ -441,11 +443,11 @@
|
|||
#define TR_EXPONAME "Expo Name"
|
||||
#endif
|
||||
#define TR_BITMAP "Modell Bild"
|
||||
#define TR_TIMER TR("Stoppuhr","Stoppuhr ")
|
||||
#define TR_TIMER TR("Timer","Timer ")
|
||||
#define TR_ELIMITS TR("Erw.Limit","Erweit. Limits")
|
||||
#define TR_ETRIMS TR("Erw.Trims","Erweit. Trimmung")
|
||||
#define TR_TRIMINC TR("Trim Schr.","Trimm Schritte")
|
||||
#define TR_TTRACE TR("Gasquelle","Gas Quelle")
|
||||
#define TR_TTRACE TR("Gasquelle","Gas Verfolgung")
|
||||
#define TR_TTRIM TR("Gastrim","Gas Trimmung")
|
||||
#define TR_BEEPCTR TR("Mitt.Piep","Mittelst. Pieps")
|
||||
#define TR_PROTO TR(INDENT"Proto.",INDENT"Protokoll")
|
||||
|
@ -456,14 +458,14 @@
|
|||
#define TR_FADEIN "Langs. Ein"
|
||||
#define TR_FADEOUT "Langs. Aus"
|
||||
#define TR_DEFAULT "(Normal)"
|
||||
#define TR_CHECKTRIMS "\006Trims\012Pr\205fen"
|
||||
#define TR_CHECKTRIMS "\006Trims\012Prüfen"
|
||||
#define OFS_CHECKTRIMS (9*FW)
|
||||
#define TR_SWASHTYPE TR("Typ Taumelsch","Typ Taumelscheibe")
|
||||
#define TR_COLLECTIVE TR("Kollekt.Pitch","Kollekt. Pitch Kanal")
|
||||
#define TR_SWASHRING TR("Zykl. Begrenz","Zyklische Begrenzung")
|
||||
#define TR_ELEDIRECTION TR("Nick Richtung"," Nick Servo Richtung")
|
||||
#define TR_AILDIRECTION TR("Roll Richtung"," Roll Servo Richtung")
|
||||
#define TR_COLDIRECTION TR("Pit. Richtung","Pitch Servo Richtung")
|
||||
#define TR_ELEDIRECTION TR("Nick Richtung"," Nick Servo Richtung")
|
||||
#define TR_AILDIRECTION TR("Roll Richtung"," Roll Servo Richtung")
|
||||
#define TR_COLDIRECTION TR("Pit. Richtung"," Pitch Servo Richtung")
|
||||
#define TR_MODE INDENT"Modus"
|
||||
#define TR_NOFREEEXPO "Expos voll!"
|
||||
#define TR_NOFREEMIXER "Mischer voll!"
|
||||
|
@ -494,18 +496,18 @@
|
|||
#define TR_BAR "Streifen"
|
||||
#define TR_ALARM INDENT"Alarm"
|
||||
#define TR_USRDATA "Daten"
|
||||
#define TR_BLADES INDENT"Bl\201tter"
|
||||
#define TR_BLADES INDENT"Blätter"
|
||||
#define TR_SCREEN "Bild "
|
||||
#define TR_SOUND_LABEL "T\203ne"
|
||||
#define TR_LENGTH INDENT"Dauer"
|
||||
#define TR_SPKRPITCH INDENT"Tonh\203he"
|
||||
#define TR_SOUND_LABEL "----Töne---------"
|
||||
#define TR_LENGTH INDENT"Dauer"
|
||||
#define TR_SPKRPITCH INDENT"Tonhöhe"
|
||||
#define TR_HAPTIC_LABEL "Vibration"
|
||||
#define TR_HAPTICSTRENGTH INDENT"St\201rke"
|
||||
#define TR_CONTRAST "Kontrast"
|
||||
#define TR_ALARMS_LABEL "Alarm wenn"
|
||||
#define TR_HAPTICSTRENGTH INDENT"Stärke"
|
||||
#define TR_CONTRAST "LCD Kontrast"
|
||||
#define TR_ALARMS_LABEL "----Alarm wenn---"
|
||||
#define TR_BATTERY_RANGE TR("Akku Bereich","Akku Spg-Bereich") // Symbol Akku Ladezustand
|
||||
#define TR_BATTERYWARNING INDENT"Akku Spg kl."
|
||||
#define TR_INACTIVITYALARM INDENT"Inaktivit\201t "
|
||||
#define TR_BATTERYWARNING INDENT"Akku Spg kleiner"
|
||||
#define TR_INACTIVITYALARM INDENT"Inaktivität "
|
||||
#define TR_MEMORYWARNING INDENT"Speicher voll"
|
||||
#define TR_ALARMWARNING INDENT"Ton aus"
|
||||
#define TR_RENAVIG "Drehgeb. Navig."
|
||||
|
@ -513,17 +515,17 @@
|
|||
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Jede Minute")
|
||||
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
|
||||
#define TR_PERSISTENT TR(INDENT"M-Zeit",INDENT"Modell Zeit")
|
||||
#define TR_BACKLIGHT_LABEL "LCD Licht an"
|
||||
#define TR_BACKLIGHT_LABEL "----LCD Licht----"
|
||||
#define TR_BLDELAY INDENT"Dauer"
|
||||
#define TR_BLONBRIGHTNESS INDENT"An Helligkeit"
|
||||
#define TR_BLOFFBRIGHTNESS INDENT"Aus Helligkeit"
|
||||
#define TR_SPLASHSCREEN "Startbild"
|
||||
#define TR_THROTTLEWARNING "Gas Alarm"
|
||||
#define TR_SWITCHWARNING TR("Sch. Alarm","Schalter Alarm")
|
||||
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
|
||||
#define TR_POTWARNING TR("Pot Warn.","Poti Warnung")
|
||||
#define TR_TIMEZONE TR("Zeitzone","GPS Zeit Zone")
|
||||
#define TR_RXCHANNELORD TR("Kanalanordnung","Kanalvoreinstellung")
|
||||
#define TR_SLAVE "Sch\205ler PPM1-8 als Ausgang"
|
||||
#define TR_SLAVE "Schüler PPM1-8 als Ausgang"
|
||||
#define TR_MODESRC " Modus\002% Quelle"
|
||||
#define TR_MULTIPLIER "Multiplikator"
|
||||
#define TR_CAL "Kal."
|
||||
|
@ -551,7 +553,7 @@
|
|||
#define TR_FREESTACKMINB "Free Stack\037\124b"
|
||||
#endif
|
||||
|
||||
#define TR_MENUTORESET CENTER TR_ENTER" f\205r Reset"
|
||||
#define TR_MENUTORESET CENTER TR_ENTER" für Reset"
|
||||
#define TR_PPM "PPM"
|
||||
#define TR_CH "CH"
|
||||
#define TR_MODEL "MODELL"
|
||||
|
@ -559,33 +561,33 @@
|
|||
#define TR_MIX "MIX"
|
||||
#define TR_EEPROMLOWMEM "EEPROM voll"
|
||||
#define TR_ALERT "WARNUNG"
|
||||
#define TR_PRESSANYKEYTOSKIP "Taste dr\205cken"
|
||||
#define TR_PRESSANYKEYTOSKIP "Taste drücken"
|
||||
#define TR_THROTTLENOTIDLE "Gas nicht Null!"
|
||||
#define TR_ALARMSDISABLED "Alarme ausgeschaltet"
|
||||
#define TR_PRESSANYKEY TR("Taste dr\205cken",CENTER"Taste dr\205cken")
|
||||
#define TR_BADEEPROMDATA "EEPROM ung\205ltig"
|
||||
#define TR_PRESSANYKEY TR("Taste drücken",CENTER"Taste drücken")
|
||||
#define TR_BADEEPROMDATA "EEPROM ungültig"
|
||||
#define TR_EEPROMFORMATTING "EEPROM Initialisieren"
|
||||
#define TR_EEPROMOVERFLOW "EEPROM \204berlauf"
|
||||
#define TR_EEPROMOVERFLOW "EEPROM Überlauf"
|
||||
#define TR_MENURADIOSETUP TR("SENDER EINST.","SENDER GRUNGEINSTELLUNGEN")
|
||||
#define TR_MENUDATEANDTIME "DATUM UND ZEIT"
|
||||
#define TR_MENUTRAINER TR("Lehr./Sch\204l.","LEHRER/SCH\204LER")
|
||||
#define TR_MENUTRAINER TR("Lehr./Schül.","LEHRER/SCHÜLER")
|
||||
#define TR_MENUVERSION "VERSION"
|
||||
#define TR_MENUDIAG TR("Schalt.","Schalter Test")
|
||||
#define TR_MENUANA "Analog Test"
|
||||
#define TR_MENUCALIBRATION TR("KALIB. ANALOG","KALIBRIERUNG STICKS+POTIS")
|
||||
#define TR_TRIMS2OFFSETS "\006Trims => Offset"
|
||||
#define TR_MENUMODELSEL TR("MODELLE","MODELL W\200HLEN")
|
||||
#define TR_MENUMODELSEL TR("MODELLE","MODELL WÄHLEN")
|
||||
#define TR_MENUSETUP TR("KONF.","MODELL EINSTELLUNGEN")
|
||||
#define TR_MENUFLIGHTPHASE "FLUGPHASE"
|
||||
#define TR_MENUFLIGHTPHASES "FLUGPHASEN"
|
||||
#define TR_MENUHELISETUP "HUBSCHRAUBER"
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
#define TR_MENUINPUTS "EING\200NGE"
|
||||
#define TR_MENULIMITS "AUSG\200NGE"
|
||||
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... #define TR_MENUDREXPO "KN\204PPEL"
|
||||
#define TR_MENUINPUTS "EING\200NGE"
|
||||
#define TR_MENULIMITS "AUSG\200NGE"
|
||||
#define TR_MENUINPUTS "INPUTS"
|
||||
#define TR_MENULIMITS "AUSGÄNGE"
|
||||
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... #define TR_MENUDREXPO "KNÜPPEL"
|
||||
#define TR_MENUINPUTS "INPUTS"
|
||||
#define TR_MENULIMITS "AUSGÄNGE"
|
||||
#else
|
||||
#define TR_MENUINPUTS TR("DR/EXPO","DUALRATE/EXPO")
|
||||
#define TR_MENULIMITS TR("GRENZEN","SERVO WEG")
|
||||
|
@ -593,32 +595,32 @@
|
|||
|
||||
#define TR_MENUCURVES "KURVEN"
|
||||
#define TR_MENUCURVE "KURVE"
|
||||
#define TR_MENULOGICALSWITCH "PROG.SCHALTER"
|
||||
#define TR_MENULOGICALSWITCHES TR_MENULOGICALSWITCH
|
||||
#define TR_MENULOGICALSWITCH "LOGIK SCHALTER"
|
||||
#define TR_MENULOGICALSWITCHES "LOGIK SCHALTER"
|
||||
#define TR_MENUCUSTOMFUNC "SPEZ. FUNKTIONEN"
|
||||
#define TR_MENUTELEMETRY "TELEMETRIE"
|
||||
#define TR_MENUTEMPLATES "VORLAGEN"
|
||||
#define TR_MENUSTAT "STAT"
|
||||
#define TR_MENUDEBUG "DEBUG"
|
||||
#define TR_RXNUM TR("Rx Nummer",INDENT"Empf\201nger Nr.")
|
||||
#define TR_RXNUM TR("Rx Nummer",INDENT"Empfänger Nr.")
|
||||
#define TR_SYNCMENU "Sync [MENU]"
|
||||
#define TR_LIMIT INDENT"Limite"
|
||||
#define TR_LIMIT INDENT"Grenzen"
|
||||
#define TR_MINRSSI "Min. RSSI"
|
||||
#define TR_LATITUDE "Breite:"
|
||||
#define TR_LONGITUDE "L\201nge:"
|
||||
#define TR_LONGITUDE "Länge:"
|
||||
#define TR_GPSCOORD TR("Gps Koord.","GPS Koordinaten Format")
|
||||
#define TR_VARIO TR("Vario","Variometer")
|
||||
#define TR_VARIO TR("Vario","----Variometer----")
|
||||
#define TR_SHUTDOWN "Herunterfahren"
|
||||
#define TR_BATT_CALIB "Akku. Kalib."
|
||||
#define TR_CURRENT_CALIB "Stromkalib."
|
||||
#define TR_VOLTAGE INDENT"Spann."
|
||||
#define TR_CURRENT INDENT"Strom"
|
||||
#define TR_SELECT_MODEL "Modell W\201hlen"
|
||||
#define TR_SELECT_MODEL "Modell Wählen"
|
||||
#define TR_CREATE_MODEL "Neues Modell"
|
||||
#define TR_COPY_MODEL "Kopiere Modell"
|
||||
#define TR_MOVE_MODEL "Verschiebe Modell"
|
||||
#define TR_BACKUP_MODEL "Modell Backup"
|
||||
#define TR_DELETE_MODEL "Modell L\203schen" // TODO merged into DELETEMODEL?
|
||||
#define TR_DELETE_MODEL "Modell Löschen" // TODO merged into DELETEMODEL?
|
||||
#define TR_RESTORE_MODEL "Modell Restore"
|
||||
#define TR_SDCARD_ERROR "SDcard Fehler"
|
||||
#define TR_NO_SDCARD "Keine SDcard"
|
||||
|
@ -628,8 +630,8 @@
|
|||
#define TR_THROTTLEWARN "GAS"
|
||||
#define TR_ALARMSWARN "ALARM"
|
||||
#define TR_SWITCHWARN "SCHALTER"
|
||||
#define TR_INVERT_THR TR("Gas umkehren?","Vollgas hinten?") //\200nderung wg Th9x
|
||||
#define TR_SPEAKER_VOLUME INDENT "Lautst\201rke"
|
||||
#define TR_INVERT_THR TR("Gas umkehren?","Vollgas hinten?") //Änderung wg Th9x
|
||||
#define TR_SPEAKER_VOLUME INDENT "Lautstärke"
|
||||
#define TR_LCD "Bildschirm"
|
||||
#define TR_BRIGHTNESS INDENT "Helligkeit"
|
||||
#define TR_CPU_TEMP "CPU Temp.\016>"
|
||||
|
@ -638,27 +640,27 @@
|
|||
#define TR_COPROC "CoProz."
|
||||
#define TR_COPROC_TEMP "MB Temp. \016>"
|
||||
#define TR_CAPAWARNING INDENT "Kapaz. niedrig"
|
||||
#define TR_TEMPWARNING INDENT "Temperatur gr\203er"
|
||||
#define TR_TEMPWARNING INDENT "Temperatur größer"
|
||||
#define TR_FUNC "Funktion"
|
||||
#define TR_V1 "V1"
|
||||
#define TR_V2 "V2"
|
||||
#define TR_DURATION "Dauer"
|
||||
#define TR_DELAY "Verz\203g."
|
||||
#define TR_DELAY "Verzög."
|
||||
#define TR_SD_CARD "SD Karte"
|
||||
#define TR_SDHC_CARD "SD-HC Karte"
|
||||
#define TR_NO_SOUNDS_ON_SD "Keine T\203ne auf SD"
|
||||
#define TR_NO_SOUNDS_ON_SD "Keine Töne auf SD"
|
||||
#define TR_NO_MODELS_ON_SD "Keine Modelle auf SD"
|
||||
#define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD"
|
||||
#define TR_PLAY_FILE "Spielen"
|
||||
#define TR_DELETE_FILE "L\203schen"
|
||||
#define TR_DELETE_FILE "Löschen"
|
||||
#define TR_COPY_FILE "Kopieren"
|
||||
#define TR_RENAME_FILE "Umbenennen"
|
||||
#define TR_ASSIGN_BITMAP "Assign Bitmap"
|
||||
#define TR_REMOVED " gel\203scht"
|
||||
#define TR_REMOVED " gelöscht"
|
||||
#define TR_SD_INFO "Information"
|
||||
#define TR_SD_FORMAT "Formattieren"
|
||||
#define TR_NA "N/V" //NV=Nicht Verf\205gbar Kurz-Meldung
|
||||
#define TR_HARDWARE "Hardware"
|
||||
#define TR_NA "N/V" //NV=Nicht Verfügbar Kurz-Meldung
|
||||
#define TR_HARDWARE "Hardware einstellen"
|
||||
#define TR_FORMATTING "Formattierung..."
|
||||
#define TR_TEMP_CALIB "Temp. Kalib."
|
||||
#define TR_TIME "Uhrzeit:"
|
||||
|
@ -667,7 +669,7 @@
|
|||
#define TR_SD_TYPE "Typ:"
|
||||
#define TR_SD_SPEED "Geschw:"
|
||||
#define TR_SD_SECTORS "Sektoren:"
|
||||
#define TR_SD_SIZE "Gr\203\206e:"
|
||||
#define TR_SD_SIZE "Größe:"
|
||||
#define TR_TYPE "Typ"
|
||||
#define TR_GLOBAL_VARS "Globale Variablen"
|
||||
#define TR_GLOBAL_V "GLOBAL V."
|
||||
|
@ -711,13 +713,13 @@
|
|||
#define TR_ANTENNAPROBLEM CENTER "TX Antennen Problem!"
|
||||
#define TR_MODELIDUSED TR("ID schon benutzt","Modell ID schon benutzt")
|
||||
#define TR_MODULE INDENT "Modul-Typ"
|
||||
#define TR_CHANNELRANGE INDENT "Ausgangs Kan\201le"
|
||||
#define TR_CHANNELRANGE INDENT "Ausgangs Kanäle"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
|
||||
#define TR_PERSISTENT_MAH INDENT "Store mAh"
|
||||
#define TR_PERSISTENT_MAH INDENT "Speichern mAh"
|
||||
#define TR_CHECKLIST "Display Checklist"
|
||||
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
|
||||
#define TR_UART3MODE "Serial port"
|
||||
#define TR_UART3MODE "Serial Port"
|
||||
#define TR_POT1TYPE "S1 Type"
|
||||
#define TR_POT2TYPE "S2 Type"
|
||||
|
||||
|
@ -747,8 +749,8 @@
|
|||
#define TR_MAVLINK_LON "LON"
|
||||
#endif
|
||||
|
||||
// Taranis column headers
|
||||
#define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trimmung ", " Fade In ", " Fade Out " }
|
||||
// Taranis Info Zeile Anzeigen
|
||||
#define TR_PHASES_HEADERS { " Name ", " Schalter ", " Seite Trim ", " Höhe Trim ", " Gas Trim ", " Quer Trim ", " Fade In ", " Fade Out " }
|
||||
#define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Richtung ", " Kurve ", " PPM Mitte ", " Subtrim Mode " }
|
||||
#define TR_CSW_HEADERS { " Funktion ", " Var1 ", " Var2 ", " Var2 ", " UND Schalter ", " Dauer ", " Delay " }
|
||||
|
||||
|
@ -790,7 +792,7 @@
|
|||
#define TR_ABOUT_HARDWARE_3 "Firmware Vertrieb"
|
||||
#else
|
||||
#define TR_ABOUT_HARDWARE_1 "Brent Nelson"
|
||||
#define TR_ABOUT_HARDWARE_2 "Sky9x Design/produktion"
|
||||
#define TR_ABOUT_HARDWARE_2 "Sky9x Design/Produktion"
|
||||
#define TR_ABOUT_HARDWARE_3 ""
|
||||
#endif
|
||||
|
||||
|
@ -799,18 +801,18 @@
|
|||
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
|
||||
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
|
||||
|
||||
#define TR_CHR_SHORT 's' //Taste short
|
||||
#define TR_CHR_LONG 'l' //Taste long
|
||||
#define TR_CHR_TOGGLE 't' //Taste als togglefunktion = Ein Aus Ein
|
||||
#define TR_CHR_HOUR 'h' //Stunden
|
||||
#define TR_CHR_INPUT 'I' // Values between A-I will work
|
||||
#define TR_CHR_SHORT 's' // Taste short
|
||||
#define TR_CHR_LONG 'l' // Taste long
|
||||
#define TR_CHR_TOGGLE 't' // Taste als togglefunktion = Ein Aus Ein
|
||||
#define TR_CHR_HOUR 'h' // Stunden
|
||||
#define TR_CHR_INPUT 'I' // Values between A-I will work
|
||||
|
||||
#define TR_BEEP_VOLUME "Beep Lautst"
|
||||
#define TR_WAV_VOLUME "Wav Lautst"
|
||||
#define TR_BEEP_VOLUME "Beep Lautst"
|
||||
#define TR_WAV_VOLUME "Wav Lautst"
|
||||
#define TR_VARIO_VOLUME "Vario Lautst"
|
||||
#define TR_BG_VOLUME "Bg Lautst"
|
||||
#define TR_BG_VOLUME "Bg Lautst"
|
||||
|
||||
#define TR_TOP_BAR "Top Bar"
|
||||
#define TR_ALTITUDE INDENT "Altitude"
|
||||
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
|
||||
#define TR_UNLOCKED "Unlocked"
|
||||
#define TR_TOP_BAR "Info Zeile"
|
||||
#define TR_ALTITUDE INDENT "Höhe"
|
||||
#define TR_MODS_FORBIDDEN "Veränderungen verboten!"
|
||||
#define TR_UNLOCKED "Entsperrt"
|
||||
|
|
|
@ -234,8 +234,10 @@
|
|||
#define TR_CFN_TEST
|
||||
#endif
|
||||
|
||||
#define TR_CFN_RESERVE "[reserve]\0"
|
||||
|
||||
#if defined(CPUARM)
|
||||
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
|
||||
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
|
||||
#elif defined(PCBGRUVIN9X)
|
||||
#define TR_VFSWFUNC "Safety\0 ""Trainer\0 ""Inst. Trim""Reset\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Backlight\0" TR_CFN_TEST
|
||||
#else
|
||||
|
@ -264,14 +266,22 @@
|
|||
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
|
||||
|
||||
#define LEN_VTELEMCHNS "\004"
|
||||
#if defined(PCBTARANIS)
|
||||
#define TR_RSSI_0 "SWR\0"
|
||||
#define TR_RSSI_1 "RSSI"
|
||||
|
||||
#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_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+""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-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
|
||||
#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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
#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""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#endif
|
||||
#define TR_VTELEMCHNS "---\0""Batt""Chr1""Chr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vit\0""Dist""AltG""Elem""Velm""Vfas""Cour""Cnsm""Puis""AccX""AccY""AccZ""Cap\0""VitV""VitA""dET\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vit+""Dst+""Elm-""Vfs-""Cur+""Pui+""Acc\0""Tmps"
|
||||
#define TR_VTELEMCHNS "---\0""Batt""Chr1""Chr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vit\0""Dist""AltG""Elem""Velm""Vfas""Cour""Cnsm""Puis""AccX""AccY""AccZ""Cap\0""VitV""VitA""dET\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vit+""Dst+""Elm-""Els-""Vfs-""Cur+""Pui+""Acc\0""Tmps"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
@ -390,7 +390,7 @@
|
|||
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
|
||||
#endif
|
||||
|
||||
#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODER "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
|
||||
#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
|
||||
|
||||
#define LEN_VTMRMODES "\003"
|
||||
#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#endif
|
||||
#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vel\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsm""Powr""AccX""AccY""AccZ""Dir\0""VelV""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
#define TR_VTELEMCHNS "---\0""Batt""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vel\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsm""Powr""AccX""AccY""AccZ""Dir\0""VelV""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Time"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#endif
|
||||
#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Vfs-""Cur+""Moc+""Acc\0""Time"
|
||||
#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cel-""Cls-""Vfs-""Cur+""Moc+""Acc\0""Time"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
#define TR_RSSI_0 "Tx\0 "
|
||||
#define TR_RSSI_1 "Rx\0 "
|
||||
#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""VVel""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
|
||||
#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""VVel""ASpd""dTE\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vel+""Dst+""Cel-""Cls-""Vfs-""Cur+""Pwr+""Acc\0""Hora"
|
||||
|
||||
#define LENGTH_UNIT_IMP "ft\0"
|
||||
#define SPEED_UNIT_IMP "mph"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue