diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d9b3abb6..15d83b917 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@ set(VERSION_REVISION "1")
set(VERSION_SUFFIX $ENV{OPENTX_VERSION_SUFFIX})
set(VERSION_FAMILY ${VERSION_MAJOR}.${VERSION_MINOR})
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}${VERSION_SUFFIX})
-set(SDCARD_REVISION "0021")
+set(SDCARD_REVISION "0022")
set(SDCARD_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}V${SDCARD_REVISION})
cmake_minimum_required(VERSION 2.8)
@@ -225,6 +225,11 @@ endif()
add_subdirectory(${RADIO_SRC_DIRECTORY})
+add_custom_target(tests-radio
+ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gtests-radio
+ DEPENDS gtests-radio
+ )
+
if(Qt5Core_FOUND AND NOT DISABLE_COMPANION)
add_subdirectory(${COMPANION_SRC_DIRECTORY})
add_custom_target(gtests DEPENDS gtests-radio gtests-companion)
diff --git a/companion/src/datamodels/rawitemdatamodels.cpp b/companion/src/datamodels/rawitemdatamodels.cpp
index f1e613d4a..1cba1c180 100644
--- a/companion/src/datamodels/rawitemdatamodels.cpp
+++ b/companion/src/datamodels/rawitemdatamodels.cpp
@@ -85,6 +85,7 @@ RawSwitchItemModel::RawSwitchItemModel(const GeneralSettings * const generalSett
Firmware * fw = getCurrentFirmware();
// Descending switch direction: NOT (!) switches
+ addItems(SWITCH_TYPE_ACT, -1);
addItems(SWITCH_TYPE_SENSOR, -CPN_MAX_SENSORS);
addItems(SWITCH_TYPE_TELEMETRY, -1);
addItems(SWITCH_TYPE_FLIGHT_MODE, -fw->getCapability(FlightModes));
@@ -107,6 +108,7 @@ RawSwitchItemModel::RawSwitchItemModel(const GeneralSettings * const generalSett
addItems(SWITCH_TYPE_SENSOR, CPN_MAX_SENSORS);
addItems(SWITCH_TYPE_ON, 1);
addItems(SWITCH_TYPE_ONE, 1);
+ addItems(SWITCH_TYPE_ACT, 1);
}
void RawSwitchItemModel::setDynamicItemData(QStandardItem * item, const RawSwitch & rsw) const
diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h
index f3b415ec4..a111cac1e 100644
--- a/companion/src/firmwares/generalsettings.h
+++ b/companion/src/firmwares/generalsettings.h
@@ -109,6 +109,7 @@ class GeneralSettings {
bool adjustRTC;
bool optrexDisplay;
unsigned int inactivityTimer;
+ unsigned int telemetryBaudrate;
bool minuteBeep;
bool preBeep;
bool flashBeep;
@@ -140,6 +141,7 @@ class GeneralSettings {
unsigned int rotarySteps;
unsigned int countryCode;
bool jitterFilter;
+ bool rtcCheckDisable;
unsigned int imperial;
char ttsLanguage[2+1];
int beepVolume;
diff --git a/companion/src/firmwares/moduledata.cpp b/companion/src/firmwares/moduledata.cpp
index 50310c5d0..e09724b48 100644
--- a/companion/src/firmwares/moduledata.cpp
+++ b/companion/src/firmwares/moduledata.cpp
@@ -127,12 +127,12 @@ QString ModuleData::protocolToString(unsigned protocol)
"FrSky XJT (D16)", "FrSky XJT (D8)", "FrSky XJT (LR12)", "FrSky DJT",
"TBS Crossfire",
"DIY Multiprotocol Module",
- "FrSky PXX R9M",
- "FrSky PXX R9M Lite",
- "FrSky PXX R9M Lite Pro",
+ "FrSky R9M",
+ "FrSky R9M Lite",
+ "FrSky R9M Lite Pro",
"SBUS output at VBat",
"FrSky ACCESS ISRM", "FrSky ACCST ISRM D16",
- "FrSky ACCESS R9M",
+ "FrSky ACCESS R9M 2019",
"FrSky ACCESS R9M Lite",
"FrSky ACCESS R9M Lite Pro",
"FrSky XJT lite (D16)", "FrSky XJT lite (D8)", "FrSky XJT lite (LR12)"
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index a81457e23..0fe94ab70 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -217,6 +217,10 @@ class SwitchesConversionTable: public ConversionTable {
addConversion(RawSwitch(SWITCH_TYPE_SENSOR, i), val++);
}
}
+ if (version >= 219) {
+ addConversion(RawSwitch(SWITCH_TYPE_ACT, -1), -val+offset);
+ addConversion(RawSwitch(SWITCH_TYPE_ACT, 1), val++);
+ }
}
@@ -1914,7 +1918,7 @@ class SensorField: public TransformedField {
if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) {
_id = sensor.id;
_subid = sensor.subid;
- _instance = (sensor.instance & 0x1F) | (sensor.rxIdx << 5) | (sensor.moduleIdx << 7);
+ _instance = sensor.instance == 0 ? 0 : ((sensor.instance - 1) & 0x1F) | (sensor.rxIdx << 5) | (sensor.moduleIdx << 7);
_ratio = sensor.ratio;
_offset = sensor.offset;
}
@@ -1942,12 +1946,12 @@ class SensorField: public TransformedField {
sensor.id = _id;
sensor.subid = _subid;
if (model.moduleData[0].isPxx1Module() || model.moduleData[1].isPxx1Module()) {
- sensor.instance = (_instance & 0x1F) + (version <= 218 ? -1 : 0); // 5 bits instance
+ sensor.instance = (_instance & 0x1F) + (version <= 218 ? 0 : 1); // 5 bits instance
sensor.rxIdx = 0x03; // 2 bits Rx idx
sensor.moduleIdx = 0x01; // 1 bit module idx
}
else {
- sensor.instance = _instance & 0x1F;
+ sensor.instance = (_instance & 0x1F) + 1;
sensor.rxIdx = (_instance >> 5) & 0x03; // 2 bits Rx idx
sensor.moduleIdx = (_instance >> 7) & 0x1; // 1 bit module idx
}
@@ -2361,8 +2365,8 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, Board::Type board, unsig
internalField.Append(new UnsignedField<8>(this, modelData.rssiSource));
if (IS_TARANIS_X9(board)) {
- // TODO TOPBAR
- internalField.Append(new SpareBitsField<16>(this));
+ internalField.Append(new UnsignedField<8>(this, modelData.frsky.voltsSource));
+ internalField.Append(new UnsignedField<8>(this, modelData.frsky.altitudeSource));
}
internalField.Append(new BoolField<1>(this, modelData.rssiAlarms.disabled));
@@ -2571,7 +2575,8 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
internalField.Append(new SignedField<2>(this, generalData.antennaMode));
else
internalField.Append(new SpareBitsField<2>(this));
- internalField.Append(new SpareBitsField<3>(this));
+ internalField.Append(new BoolField<1>(this, generalData.rtcCheckDisable));
+ internalField.Append(new SpareBitsField<2>(this));
for (int i=0; i<4; i++) {
internalField.Append(new SignedField<16>(this, generalData.trainer.calib[i]));
@@ -2602,7 +2607,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
}
internalField.Append(new UnsignedField<8>(this, generalData.inactivityTimer));
- internalField.Append(new SpareBitsField<3>(this)); // telemetryBaudrate
+ internalField.Append(new UnsignedField<3>(this, generalData.telemetryBaudrate));
if (IS_HORUS(board))
internalField.Append(new SpareBitsField<3>(this));
else if (IS_TARANIS(board))
diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp
index 7fcbb0cdc..d7adfb817 100644
--- a/companion/src/firmwares/opentx/opentxinterface.cpp
+++ b/companion/src/firmwares/opentx/opentxinterface.cpp
@@ -803,13 +803,15 @@ bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
case PULSES_MULTIMODULE:
case PULSES_CROSSFIRE:
return true;
+ case PULSES_ACCESS_R9M:
+ return IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || board == BOARD_TARANIS_X9DP_2019 || board == BOARD_X10_EXPRESS || (IS_HORUS(board) && id.contains("internalaccess"));
+ case PULSES_PXX_R9M_LITE:
case PULSES_ACCESS_R9M_LITE:
case PULSES_ACCESS_R9M_LITE_PRO:
- return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
case PULSES_XJT_LITE_X16:
case PULSES_XJT_LITE_D8:
case PULSES_XJT_LITE_LR12:
- return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
+ return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board));
default:
return false;
}
diff --git a/companion/src/firmwares/rawswitch.cpp b/companion/src/firmwares/rawswitch.cpp
index 6438d335e..1d91f242a 100644
--- a/companion/src/firmwares/rawswitch.cpp
+++ b/companion/src/firmwares/rawswitch.cpp
@@ -115,6 +115,9 @@ QString RawSwitch::toString(Board::Type board, const GeneralSettings * const gen
case SWITCH_TYPE_ONE:
return tr("One");
+ case SWITCH_TYPE_ACT:
+ return tr("Act");
+
case SWITCH_TYPE_FLIGHT_MODE:
if (modelData)
return modelData->flightModeData[index-1].nameToString(index - 1);
diff --git a/companion/src/firmwares/rawswitch.h b/companion/src/firmwares/rawswitch.h
index 6d0c93700..af49156c0 100644
--- a/companion/src/firmwares/rawswitch.h
+++ b/companion/src/firmwares/rawswitch.h
@@ -45,6 +45,7 @@ enum RawSwitchType {
SWITCH_TYPE_TIMER_MODE,
SWITCH_TYPE_TELEMETRY,
SWITCH_TYPE_SENSOR,
+ SWITCH_TYPE_ACT,
MAX_SWITCH_TYPE
};
diff --git a/companion/src/generaledit/hardware.cpp b/companion/src/generaledit/hardware.cpp
index 09f109bda..8868e7766 100644
--- a/companion/src/generaledit/hardware.cpp
+++ b/companion/src/generaledit/hardware.cpp
@@ -200,6 +200,15 @@ HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings
}
else {
ui->filterEnable->hide();
+ ui->filterLabel->hide();
+ }
+
+ if (IS_STM32(board)) {
+ ui->rtcCheckDisable->setChecked(!generalSettings.rtcCheckDisable);
+ }
+ else {
+ ui->rtcCheckDisable->hide();
+ ui->rtcCheckLabel->hide();
}
disableMouseScrolling();
@@ -217,6 +226,11 @@ void HardwarePanel::on_filterEnable_stateChanged()
generalSettings.jitterFilter = !ui->filterEnable->isChecked();
}
+void HardwarePanel::on_rtcCheckDisable_stateChanged()
+{
+ generalSettings.rtcCheckDisable = !ui->rtcCheckDisable->isChecked();
+}
+
void HardwarePanel::on_PPM_MultiplierDSB_editingFinished()
{
int val = (int)(ui->PPM_MultiplierDSB->value()*10)-10;
diff --git a/companion/src/generaledit/hardware.h b/companion/src/generaledit/hardware.h
index 07ba62c40..8101b784c 100644
--- a/companion/src/generaledit/hardware.h
+++ b/companion/src/generaledit/hardware.h
@@ -49,6 +49,7 @@ class HardwarePanel : public GeneralPanel
void on_txCurrentCalibration_editingFinished();
void on_txVoltageCalibration_editingFinished();
void on_filterEnable_stateChanged();
+ void on_rtcCheckDisable_stateChanged();
void on_serialPortMode_currentIndexChanged(int index);
diff --git a/companion/src/generaledit/hardware.ui b/companion/src/generaledit/hardware.ui
index 79bb36a32..45e8e8da6 100644
--- a/companion/src/generaledit/hardware.ui
+++ b/companion/src/generaledit/hardware.ui
@@ -7,7 +7,7 @@
0
0
470
- 1585
+ 1618
@@ -57,7 +57,7 @@
- -
+
-
@@ -169,7 +169,7 @@
- -
+
-
-49
@@ -192,27 +192,7 @@
- -
-
-
- RS2
-
-
-
- -
-
-
-
- 0
- 10
-
-
-
- Qt::Horizontal
-
-
-
- -
+
-
@@ -231,6 +211,26 @@
+ -
+
+
+
+ 0
+ 10
+
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ RS2
+
+
+
-
@@ -267,7 +267,7 @@
- -
+
-
Current Offset
@@ -284,7 +284,7 @@
- -
+
-
PPM 2
@@ -312,6 +312,9 @@
+ -
+
+
-
@@ -322,6 +325,19 @@
-
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -342,17 +358,14 @@
- -
-
+
-
+
-
-
-
-
@@ -375,16 +388,6 @@
- -
-
-
-
-
-
-
-
-
-
-
@@ -434,6 +437,16 @@
+ -
+
+
+
+
+
+
+
+
+
-
@@ -447,23 +460,6 @@
- -
-
-
- 3
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
@@ -471,6 +467,13 @@
+ -
+
+
+ 3
+
+
+
-
@@ -512,7 +515,7 @@
- -
+
-
1
@@ -545,6 +548,19 @@
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -562,19 +578,6 @@
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -589,9 +592,6 @@
- -
-
-
-
@@ -599,6 +599,13 @@
+ -
+
+
+ SI
+
+
+
-
@@ -613,10 +620,10 @@
- -
-
+
-
+
- SI
+ SL
@@ -627,13 +634,6 @@
- -
-
-
- SL
-
-
-
-
@@ -688,7 +688,7 @@
- -
+
-
@@ -707,7 +707,7 @@
- -
+
-
PPM 1
@@ -727,14 +727,14 @@
- -
+
-
PPM 4
- -
+
-
@@ -766,6 +766,20 @@
+ -
+
+
+ SB
+
+
+
+ -
+
+
+ 3
+
+
+
-
@@ -788,21 +802,7 @@
- -
-
-
- SB
-
-
-
- -
-
-
- 3
-
-
-
- -
+
-
PPM Multiplier
@@ -903,16 +903,6 @@
- -
-
-
- Antenna
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
-
@@ -933,7 +923,17 @@
- -
+
-
+
+
+ Antenna
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ -
PPM 3
@@ -1029,6 +1029,26 @@
+ -
+
+
+ 3
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
-
-
@@ -1058,26 +1078,6 @@
- -
-
-
- 3
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1113,6 +1113,20 @@
+ -
+
+
+
+
+
+
+ -
+
+
+ RTC Batt Check
+
+
+
diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp
index 4b12115fe..7aa27fad2 100644
--- a/companion/src/modeledit/setup.cpp
+++ b/companion/src/modeledit/setup.cpp
@@ -217,10 +217,7 @@ ModulePanel::ModulePanel(QWidget * parent, ModelData & model, ModuleData & modul
// The protocols available on this board
for (unsigned int i=0; iisAvailable((PulsesProtocol) i, moduleIdx)) {
- if (IS_TARANIS_XLITE(firmware->getBoard()) && i == PULSES_PXX_R9M) //TODO remove when mini are handled as a different module type
- ui->protocol->addItem("FrSky R9M Mini", (QVariant) i);
- else
- ui->protocol->addItem(ModuleData::protocolToString(i), i);
+ ui->protocol->addItem(ModuleData::protocolToString(i), i);
if (i == module.protocol)
ui->protocol->setCurrentIndex(ui->protocol->count()-1);
}
diff --git a/companion/src/tests/conversions.cpp b/companion/src/tests/conversions.cpp
index bee7b9520..611c2a3f1 100644
--- a/companion/src/tests/conversions.cpp
+++ b/companion/src/tests/conversions.cpp
@@ -42,7 +42,7 @@ TEST(Conversions, ConversionX9DPFrom22)
EXPECT_STREQ("Thr", model.inputNames[0]);
EXPECT_STREQ("Tes", model.sensorData[0].label);
EXPECT_EQ(10, model.sensorData[0].id);
- EXPECT_EQ(9, model.sensorData[0].instance);
+ EXPECT_EQ(10, model.sensorData[0].instance);
EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model.logicalSw[0].val1);
}
@@ -77,7 +77,7 @@ TEST(Conversions, ConversionX9DPFrom23)
EXPECT_STREQ("Rud", model1.inputNames[0]);
EXPECT_STREQ("Tes", model1.sensorData[0].label);
EXPECT_EQ(10, model1.sensorData[0].id);
- EXPECT_EQ(10, model1.sensorData[0].instance);
+ EXPECT_EQ(11, model1.sensorData[0].instance);
EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model1.logicalSw[0].val1);
const ModelData & model2 = radioData.models[1];
@@ -96,7 +96,7 @@ TEST(Conversions, ConversionX9DPFrom23)
EXPECT_STREQ("Rud", model2.inputNames[0]);
EXPECT_STREQ("Tes", model2.sensorData[0].label);
EXPECT_EQ(10, model2.sensorData[0].id);
- EXPECT_EQ(10, model2.sensorData[0].instance);
+ EXPECT_EQ(11, model2.sensorData[0].instance);
EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model2.logicalSw[0].val1);
}
@@ -130,7 +130,7 @@ TEST(Conversions, ConversionX7From22)
EXPECT_STREQ("Tes", model.sensorData[0].label);
EXPECT_EQ(10, model.sensorData[0].id);
- EXPECT_EQ(9, model.sensorData[0].instance);
+ EXPECT_EQ(10, model.sensorData[0].instance);
EXPECT_EQ(900, model.limitData[0].max); // -100
EXPECT_EQ(10, model.flightModeData[0].gvars[0]);
@@ -178,7 +178,7 @@ TEST(Conversions, ConversionXLiteFrom22)
EXPECT_STREQ("Tes", model.sensorData[0].label);
EXPECT_EQ(10, model.sensorData[0].id);
- EXPECT_EQ(8, model.sensorData[0].instance);
+ EXPECT_EQ(9, model.sensorData[0].instance);
EXPECT_EQ(900, model.limitData[0].max); // -100
EXPECT_EQ(LS_FN_VPOS, model.logicalSw[0].func);
@@ -284,7 +284,7 @@ TEST(Conversions, ConversionX10From22)
EXPECT_STREQ("Rud", model.inputNames[0]);
EXPECT_STREQ("Tes", model.sensorData[0].label);
EXPECT_EQ(10, model.sensorData[0].id);
- EXPECT_EQ(9, model.sensorData[0].instance);
+ EXPECT_EQ(10, model.sensorData[0].instance);
EXPECT_EQ(5 + 2 + 3, model.thrTraceSrc); // CH3
}
@@ -360,6 +360,6 @@ TEST(Conversions, ConversionX12SFrom22)
EXPECT_STREQ("Rud", model.inputNames[0]);
EXPECT_STREQ("Tes", model.sensorData[0].label);
EXPECT_EQ(10, model.sensorData[0].id);
- EXPECT_EQ(9, model.sensorData[0].instance);
+ EXPECT_EQ(10, model.sensorData[0].instance);
EXPECT_EQ(5 + 2 + 3, model.thrTraceSrc); // CH3
}
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
index c4d71f1b9..a34621b77 100644
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
@@ -91,7 +91,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT then
selectDevice(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectDevice(-1)
end
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/device.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/device.lua
index e8d8be6db..50a8c7dde 100644
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/device.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/CROSSFIRE/device.lua
@@ -455,15 +455,15 @@ local function runDevicePage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT then
+ if event == EVT_VIRTUAL_INC then
incrField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_DEC then
incrField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky GaSuite.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky GaSuite.lua
index df7fce8ce..8ef4def42 100755
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky GaSuite.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky GaSuite.lua
@@ -332,15 +332,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -500,7 +500,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SBEC.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SBEC.lua
index 1b82bc47f..73d2b88e2 100644
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SBEC.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SBEC.lua
@@ -221,15 +221,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SxR.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SxR.lua
index 8f69264a0..bd1c77f1a 100755
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SxR.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/FrSky SxR.lua
@@ -268,15 +268,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -348,7 +348,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
index f68c4db3d..70c125b69 100644
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
@@ -90,7 +90,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT then
selectDevice(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectDevice(-1)
end
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/device.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/device.lua
index 289df386b..8ccdbf285 100644
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/device.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/CROSSFIRE/device.lua
@@ -452,13 +452,13 @@ local function runDevicePage(event)
elseif edit then
if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
incrField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_PREV or event == EVT_VIRTUAL_PREV_REPT then
incrField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky GaSuite.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky GaSuite.lua
index df7fce8ce..8ef4def42 100755
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky GaSuite.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky GaSuite.lua
@@ -332,15 +332,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -500,7 +500,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SBEC.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SBEC.lua
index 1b82bc47f..73d2b88e2 100644
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SBEC.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SBEC.lua
@@ -221,15 +221,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SxR.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SxR.lua
index 8f69264a0..bd1c77f1a 100755
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SxR.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/FrSky SxR.lua
@@ -268,15 +268,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -348,7 +348,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
index f68c4db3d..70c125b69 100644
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/crossfire.lua
@@ -90,7 +90,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT then
selectDevice(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectDevice(-1)
end
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/device.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/device.lua
index 6f733469a..58416af36 100644
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/device.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/CROSSFIRE/device.lua
@@ -450,15 +450,15 @@ local function runDevicePage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
incrField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
incrField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky GaSuite.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky GaSuite.lua
index df7fce8ce..8ef4def42 100755
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky GaSuite.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky GaSuite.lua
@@ -332,15 +332,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -500,7 +500,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SBEC.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SBEC.lua
index 1b82bc47f..73d2b88e2 100644
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SBEC.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SBEC.lua
@@ -221,15 +221,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SxR.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SxR.lua
index 8f69264a0..bd1c77f1a 100755
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SxR.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/FrSky SxR.lua
@@ -268,15 +268,15 @@ local function runFieldsPage(event)
end
end
elseif edit then
- if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
+ if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS or event == EVT_VIRTUAL_PREVIOUS_REPT then
+ elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1)
end
else
if event == EVT_VIRTUAL_NEXT then
selectField(1)
- elseif event == EVT_VIRTUAL_PREVIOUS then
+ elseif event == EVT_VIRTUAL_PREV then
selectField(-1)
end
end
@@ -348,7 +348,7 @@ local function run(event)
return 2
elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1)
- elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
+ elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event);
selectPage(-1)
end
diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h
index 4f98da7bd..a4bef6c77 100644
--- a/radio/src/dataconstants.h
+++ b/radio/src/dataconstants.h
@@ -343,17 +343,17 @@ enum TelemetryUnit {
enum TelemetryScreenType {
TELEMETRY_SCREEN_TYPE_NONE,
TELEMETRY_SCREEN_TYPE_VALUES,
- TELEMETRY_SCREEN_TYPE_GAUGES,
-#if defined(LUA)
+ TELEMETRY_SCREEN_TYPE_BARS,
TELEMETRY_SCREEN_TYPE_SCRIPT,
+#if defined(LUA)
TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_SCRIPT
#else
- TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_GAUGES
+ TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_BARS
#endif
};
#define MAX_TELEMETRY_SCREENS 4
#define TELEMETRY_SCREEN_TYPE(screenIndex) TelemetryScreenType((g_model.screensType >> (2*(screenIndex))) & 0x03)
-#define IS_BARS_SCREEN(screenIndex) (TELEMETRY_SCREEN_TYPE(screenIndex) == TELEMETRY_SCREEN_TYPE_GAUGES)
+#define IS_BARS_SCREEN(screenIndex) (TELEMETRY_SCREEN_TYPE(screenIndex) == TELEMETRY_SCREEN_TYPE_BARS)
constexpr int16_t FAILSAFE_CHANNEL_HOLD = 2000;
constexpr int16_t FAILSAFE_CHANNEL_NOPULSE = 2001;
@@ -802,7 +802,7 @@ static_assert(MIXSRC_FIRST_LOGICAL_SWITCH == MIXSRC_FIRST_SWITCH + STORAGE_NUM_S
#define MIXSRC_FIRST (MIXSRC_NONE + 1)
#define MIXSRC_LAST MIXSRC_LAST_CH
-#define MIXSRC_LAST_SWITCH (MIXSRC_FIRST_SWITCH + NUM_SWITCHES - 1)
+#define MIXSRC_LAST_SWITCH (MIXSRC_FIRST_SWITCH + STORAGE_NUM_SWITCHES - 1)
#define INPUTSRC_FIRST MIXSRC_Rud
#define INPUTSRC_LAST MIXSRC_LAST_TELEM
diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h
index 4c07cdb9c..46950cf9d 100644
--- a/radio/src/datastructs.h
+++ b/radio/src/datastructs.h
@@ -690,7 +690,7 @@ PACK(struct TrainerData {
swarnstate_t switchUnlockStates; \
swconfig_t switchConfig; \
char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \
- char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME]; \
+ char anaNames[NUM_STICKS+STORAGE_NUM_POTS+STORAGE_NUM_SLIDERS][LEN_ANA_NAME]; \
BLUETOOTH_FIELDS
#elif defined(PCBSKY9X)
#define EXTRA_GENERAL_FIELDS \
@@ -703,7 +703,7 @@ PACK(struct TrainerData {
uint8_t sticksGain; \
uint8_t rotarySteps; \
char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \
- char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME];
+ char anaNames[NUM_STICKS+STORAGE_NUM_POTS+STORAGE_NUM_SLIDERS][LEN_ANA_NAME];
#else
#define EXTRA_GENERAL_FIELDS
#endif
@@ -735,7 +735,8 @@ PACK(struct RadioData {
NOBACKUP(int8_t txVoltageCalibration);
uint8_t backlightMode:3;
int8_t antennaMode:2;
- int8_t spare1:3;
+ uint8_t disableRtcWarning:1;
+ int8_t spare1:2;
NOBACKUP(TrainerData trainer);
NOBACKUP(uint8_t view); // index of view in main screen
NOBACKUP(BUZZER_FIELD); /* 2bits */
diff --git a/radio/src/gui/128x64/gui.h b/radio/src/gui/128x64/gui.h
index 6a720068a..329a9c3a4 100644
--- a/radio/src/gui/128x64/gui.h
+++ b/radio/src/gui/128x64/gui.h
@@ -246,7 +246,6 @@ void readModelNotes();
#define IS_ROTARY_EVENT(evt) (EVT_KEY_MASK(evt) >= 0x0e)
void repeatLastCursorMove(event_t event);
#define REPEAT_LAST_CURSOR_MOVE() { if (EVT_KEY_MASK(event) >= 0x0e) putEvent(event); else repeatLastCursorMove(event); }
- #define MOVE_CURSOR_FROM_HERE() if (menuHorizontalPosition > 0) REPEAT_LAST_CURSOR_MOVE()
#else
#define IS_ROTARY_LEFT(evt) (0)
#define IS_ROTARY_RIGHT(evt) (0)
@@ -255,7 +254,6 @@ void readModelNotes();
#define IS_ROTARY_EVENT(evt) (0)
void repeatLastCursorMove(event_t event);
#define REPEAT_LAST_CURSOR_MOVE() repeatLastCursorMove(event)
- #define MOVE_CURSOR_FROM_HERE() if (menuHorizontalPosition > 0) REPEAT_LAST_CURSOR_MOVE()
#endif
// TODO enum
diff --git a/radio/src/gui/128x64/model_display.cpp b/radio/src/gui/128x64/model_display.cpp
index b9fe1b662..f138593e0 100644
--- a/radio/src/gui/128x64/model_display.cpp
+++ b/radio/src/gui/128x64/model_display.cpp
@@ -52,21 +52,44 @@ enum MenuModelDisplayItems {
#endif
#define DISPLAY_COL3 (17*FW+2)
-#if defined(LUA)
- #define SCREEN_TYPE_ROWS 1
- #define DISPLAY_LINE_ROWS(x) ((TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE || TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_SCRIPT) ? HIDDEN_ROW : (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_GAUGES ? (uint8_t)2 : (uint8_t)1))
-#else
- #define SCREEN_TYPE_ROWS 0
- #define DISPLAY_LINE_ROWS(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_GAUGES ? (uint8_t)2 : (uint8_t)1))
-#endif
-
-#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x)
-#define TELEMETRY_CURRENT_SCREEN(k) (k < ITEM_DISPLAY_SCREEN_LABEL2 ? 0 : (k < ITEM_DISPLAY_SCREEN_LABEL3 ? 1 : (k < ITEM_DISPLAY_SCREEN_LABEL4 ? 2 : 3)))
-
-#if defined(LUA)
-void onTelemetryScriptFileSelectionMenu(const char *result)
+inline uint8_t SCREEN_TYPE_COLUMNS(uint8_t screenIndex)
{
- int screenIndex = TELEMETRY_CURRENT_SCREEN(menuVerticalPosition - HEADER_LINE);
+ if (TELEMETRY_SCREEN_TYPE(screenIndex) == TELEMETRY_SCREEN_TYPE_SCRIPT)
+ return 1;
+ else
+ return 0;
+}
+
+inline uint8_t SCREEN_LINE_COLUMNS(uint8_t screenIndex, uint8_t lineIndex)
+{
+ switch (TELEMETRY_SCREEN_TYPE(screenIndex)) {
+ case TELEMETRY_SCREEN_TYPE_VALUES:
+ return 1;
+ case TELEMETRY_SCREEN_TYPE_BARS:
+ return g_model.screens[screenIndex].bars[lineIndex].source ? 2 : 0;
+ default:
+ return HIDDEN_ROW;
+ }
+}
+
+#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_COLUMNS(x), SCREEN_LINE_COLUMNS(x, 0), SCREEN_LINE_COLUMNS(x, 1), SCREEN_LINE_COLUMNS(x, 2), SCREEN_LINE_COLUMNS(x, 3)
+
+inline uint8_t DISPLAY_CURRENT_SCREEN(uint8_t line)
+{
+ if (line < ITEM_DISPLAY_SCREEN_LABEL2)
+ return 0;
+ else if (line < ITEM_DISPLAY_SCREEN_LABEL3)
+ return 1;
+ else if (line < ITEM_DISPLAY_SCREEN_LABEL4)
+ return 2;
+ else
+ return 3;
+}
+
+#if defined(LUA)
+void onTelemetryScriptFileSelectionMenu(const char * result)
+{
+ int screenIndex = DISPLAY_CURRENT_SCREEN(menuVerticalPosition - HEADER_LINE);
if (result == STR_UPDATE_LIST) {
if (!sdListFiles(SCRIPTS_TELEM_PATH, SCRIPTS_EXT, sizeof(g_model.screens[screenIndex].script.file), NULL)) {
@@ -82,7 +105,6 @@ void onTelemetryScriptFileSelectionMenu(const char *result)
}
#endif
-
int skipHiddenLines(int noRows, const uint8_t * mstate_tab, int row)
{
for(int i=0; i0) {
switch (menuHorizontalPosition) {
case 0:
diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp
index e25d8364c..fbfd8ed53 100644
--- a/radio/src/gui/128x64/model_setup.cpp
+++ b/radio/src/gui/128x64/model_setup.cpp
@@ -612,7 +612,7 @@ void menuModelSetup(event_t event)
}
int current = 0;
- for (int i = 0; i < switchWarningsCount; i++) {
+ for (int i = 0; i < NUM_SWITCHES; i++) {
if (SWITCH_WARNING_ALLOWED(i)) {
div_t qr = div(current, MAX_SWITCH_PER_LINE);
if (!READ_ONLY() && event==EVT_KEY_BREAK(KEY_ENTER) && attr && l_posHorz == current && old_posHorz >= 0) {
@@ -1284,7 +1284,7 @@ void menuModelSetup(event_t event)
if (isModuleR9MNonAccess(moduleIdx) || isModuleD16(moduleIdx)) {
#if defined(PCBXLITE)
if (EVT_KEY_MASK(event) == KEY_ENTER) {
-#elif defined(PCBSKY9X) || defined(PCBAR9X)
+#elif defined(NAVIGATION_9X)
if (event == EVT_KEY_FIRST(KEY_ENTER)) {
#else
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
diff --git a/radio/src/gui/128x64/model_telemetry_sensor.cpp b/radio/src/gui/128x64/model_telemetry_sensor.cpp
index f5870f230..d8a63079e 100644
--- a/radio/src/gui/128x64/model_telemetry_sensor.cpp
+++ b/radio/src/gui/128x64/model_telemetry_sensor.cpp
@@ -104,7 +104,7 @@ void menuModelSensor(event_t event)
if (sensor->type == TELEM_TYPE_CUSTOM) {
lcdDrawTextAlignedLeft(y, STR_ID);
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
- lcdDrawHexChar(SENSOR_3RD_COLUMN, y, sensor->instance & 0x1f, LEFT|(menuHorizontalPosition==1 ? attr : 0));
+ lcdDrawHexChar(SENSOR_3RD_COLUMN, y, (sensor->instance & 0x1F) + 1, LEFT|(menuHorizontalPosition==1 ? attr : 0));
if (attr && s_editMode > 0) {
switch (menuHorizontalPosition) {
case 0:
diff --git a/radio/src/gui/128x64/radio_diagkeys.cpp b/radio/src/gui/128x64/radio_diagkeys.cpp
index bd8668c82..a5840754a 100644
--- a/radio/src/gui/128x64/radio_diagkeys.cpp
+++ b/radio/src/gui/128x64/radio_diagkeys.cpp
@@ -64,7 +64,7 @@ void menuRadioDiagKeys(event_t event)
#else
if (i < NUM_SWITCHES) {
if (SWITCH_EXISTS(i)) {
- y = MENU_HEADER_HEIGHT + 1 + FH*i;
+ y = (NUM_SWITCHES > 6 ? 0 : MENU_HEADER_HEIGHT) + FH*i;
getvalue_t val = getValue(MIXSRC_FIRST_SWITCH+i);
getvalue_t sw = ((val < 0) ? 3*i+1 : ((val == 0) ? 3*i+2 : 3*i+3));
drawSwitch(8*FW+4, y, sw, 0);
diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp
index 6c85607dc..e3fd06bb3 100644
--- a/radio/src/gui/128x64/radio_setup.cpp
+++ b/radio/src/gui/128x64/radio_setup.cpp
@@ -643,7 +643,6 @@ void menuRadioSetup(event_t event)
resumePulses();
waitKeysReleased();
}
- MOVE_CURSOR_FROM_HERE();
break;
}
}
diff --git a/radio/src/gui/212x64/gui.h b/radio/src/gui/212x64/gui.h
index 7013ede4b..b4d7fbae2 100644
--- a/radio/src/gui/212x64/gui.h
+++ b/radio/src/gui/212x64/gui.h
@@ -280,7 +280,6 @@ void menuChannelsView(event_t event);
#endif
#define REPEAT_LAST_CURSOR_MOVE() { if (CURSOR_MOVED_LEFT(event) || CURSOR_MOVED_RIGHT(event)) putEvent(event); else menuHorizontalPosition = 0; }
-#define MOVE_CURSOR_FROM_HERE() if (menuHorizontalPosition > 0) REPEAT_LAST_CURSOR_MOVE()
#define MENU_FIRST_LINE_EDIT (menuTab ? (MAXCOL((uint16_t)0) >= HIDDEN_ROW ? (MAXCOL((uint16_t)1) >= HIDDEN_ROW ? 2 : 1) : 0) : 0)
#define POS_HORZ_INIT(posVert) ((COLATTR(posVert) & NAVIGATION_LINE_BY_LINE) ? -1 : 0)
diff --git a/radio/src/gui/212x64/model_display.cpp b/radio/src/gui/212x64/model_display.cpp
index 857f9a7de..0e1da16d5 100644
--- a/radio/src/gui/212x64/model_display.cpp
+++ b/radio/src/gui/212x64/model_display.cpp
@@ -51,21 +51,44 @@ enum MenuModelDisplayItems {
#define DISPLAY_COL2 (16*FW)
#define DISPLAY_COL3 (28*FW+2)
-#if defined(LUA)
- #define SCREEN_TYPE_ROWS 1
- #define DISPLAY_LINE_ROWS(x) ((TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE || TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_SCRIPT) ? HIDDEN_ROW : (uint8_t)2)
-#else
- #define SCREEN_TYPE_ROWS 0
- #define DISPLAY_LINE_ROWS(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2)
-#endif
-#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x), DISPLAY_LINE_ROWS(x)
+inline uint8_t SCREEN_TYPE_COLUMNS(uint8_t screenIndex)
+{
+ if (TELEMETRY_SCREEN_TYPE(screenIndex) == TELEMETRY_SCREEN_TYPE_SCRIPT)
+ return 1;
+ else
+ return 0;
+}
-#define TELEMETRY_CURRENT_SCREEN(k) (k < ITEM_DISPLAY_SCREEN_LABEL2 ? 0 : (k < ITEM_DISPLAY_SCREEN_LABEL3 ? 1 : (k < ITEM_DISPLAY_SCREEN_LABEL4 ? 2 : 3)))
+inline uint8_t SCREEN_LINE_COLUMNS(uint8_t screenIndex, uint8_t lineIndex)
+{
+ switch (TELEMETRY_SCREEN_TYPE(screenIndex)) {
+ case TELEMETRY_SCREEN_TYPE_VALUES:
+ return 2;
+ case TELEMETRY_SCREEN_TYPE_BARS:
+ return g_model.screens[screenIndex].bars[lineIndex].source ? 2 : 0;
+ default:
+ return HIDDEN_ROW;
+ }
+}
+
+#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_COLUMNS(x), SCREEN_LINE_COLUMNS(x, 0), SCREEN_LINE_COLUMNS(x, 1), SCREEN_LINE_COLUMNS(x, 2), SCREEN_LINE_COLUMNS(x, 3)
+
+inline uint8_t DISPLAY_CURRENT_SCREEN(uint8_t line)
+{
+ if (line < ITEM_DISPLAY_SCREEN_LABEL2)
+ return 0;
+ else if (line < ITEM_DISPLAY_SCREEN_LABEL3)
+ return 1;
+ else if (line < ITEM_DISPLAY_SCREEN_LABEL4)
+ return 2;
+ else
+ return 3;
+}
#if defined(LUA)
void onTelemetryScriptFileSelectionMenu(const char *result)
{
- int screenIndex = TELEMETRY_CURRENT_SCREEN(menuVerticalPosition);
+ int screenIndex = DISPLAY_CURRENT_SCREEN(menuVerticalPosition);
if (result == STR_UPDATE_LIST) {
if (!sdListFiles(SCRIPTS_TELEM_PATH, SCRIPTS_EXT, sizeof(g_model.screens[screenIndex].script.file), NULL)) {
@@ -122,7 +145,7 @@ void menuModelDisplay(event_t event)
case ITEM_DISPLAY_SCREEN_LABEL3:
case ITEM_DISPLAY_SCREEN_LABEL4:
{
- uint8_t screenIndex = TELEMETRY_CURRENT_SCREEN(k);
+ uint8_t screenIndex = DISPLAY_CURRENT_SCREEN(k);
drawStringWithIndex(0*FW, y, STR_SCREEN, screenIndex+1);
TelemetryScreenType oldScreenType = TELEMETRY_SCREEN_TYPE(screenIndex);
TelemetryScreenType newScreenType = (TelemetryScreenType)editChoice(DISPLAY_COL2, y, "", STR_VTELEMSCREENTYPE, oldScreenType, 0, TELEMETRY_SCREEN_TYPE_MAX, (menuHorizontalPosition==0 ? attr : 0), event);
@@ -151,9 +174,6 @@ void menuModelDisplay(event_t event)
}
}
}
- else if (attr) {
- MOVE_CURSOR_FROM_HERE();
- }
#endif
break;
}
@@ -195,7 +215,7 @@ void menuModelDisplay(event_t event)
if (IS_BARS_SCREEN(screenIndex)) {
FrSkyBarData & bar = g_model.screens[screenIndex].bars[lineIndex];
- drawSource(DISPLAY_COL1, y, bar.source, menuHorizontalPosition==0 ? attr : 0);
+ drawSource(DISPLAY_COL1, y, bar.source, menuHorizontalPosition == 0 ? attr : 0);
int16_t barMax, barMin;
LcdFlags lf = LEFT;
getMixSrcRange(bar.source, barMin, barMax, &lf);
@@ -209,9 +229,6 @@ void menuModelDisplay(event_t event)
drawSourceCustomValue(DISPLAY_COL3, y, bar.source, bar.barMax, (menuHorizontalPosition==2 ? attr : 0) | lf);
}
}
- else if (attr) {
- MOVE_CURSOR_FROM_HERE();
- }
if (attr && s_editMode>0) {
switch (menuHorizontalPosition) {
case 0:
diff --git a/radio/src/gui/212x64/model_telemetry_sensor.cpp b/radio/src/gui/212x64/model_telemetry_sensor.cpp
index 4321f87c3..27e6cd93c 100644
--- a/radio/src/gui/212x64/model_telemetry_sensor.cpp
+++ b/radio/src/gui/212x64/model_telemetry_sensor.cpp
@@ -114,7 +114,7 @@ void menuModelSensor(event_t event)
if (sensor->type == TELEM_TYPE_CUSTOM) {
lcdDrawTextAlignedLeft(y, STR_ID);
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
- lcdDrawNumber(SENSOR_3RD_COLUMN, y, sensor->instance, LEFT|(menuHorizontalPosition==1 ? attr : 0));
+ lcdDrawNumber(SENSOR_3RD_COLUMN, y, (sensor->instance & 0x1F) + 1, LEFT|(menuHorizontalPosition==1 ? attr : 0));
if (attr) {
switch (menuHorizontalPosition) {
case 0:
diff --git a/radio/src/gui/480x272/model_telemetry_sensor.cpp b/radio/src/gui/480x272/model_telemetry_sensor.cpp
index 150d3e365..3c23b96af 100644
--- a/radio/src/gui/480x272/model_telemetry_sensor.cpp
+++ b/radio/src/gui/480x272/model_telemetry_sensor.cpp
@@ -115,7 +115,7 @@ bool menuModelSensor(event_t event)
if (sensor->type == TELEM_TYPE_CUSTOM) {
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_ID);
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
- lcdDrawNumber(SENSOR_3RD_COLUMN, y, sensor->instance, LEFT|(menuHorizontalPosition==1 ? attr : 0));
+ lcdDrawNumber(SENSOR_3RD_COLUMN, y, (sensor->instance & 0x1F) + 1, LEFT|(menuHorizontalPosition==1 ? attr : 0));
if (attr) {
switch (menuHorizontalPosition) {
case 0:
diff --git a/radio/src/gui/480x272/radio_hardware.cpp b/radio/src/gui/480x272/radio_hardware.cpp
index 89a5aabff..a52af8488 100644
--- a/radio/src/gui/480x272/radio_hardware.cpp
+++ b/radio/src/gui/480x272/radio_hardware.cpp
@@ -54,6 +54,7 @@ enum MenuRadioHardwareItems {
ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right
ITEM_RADIO_HARDWARE_BATTERY_CALIB,
ITEM_RADIO_HARDWARE_RTC_BATTERY,
+ ITEM_RADIO_HARDWARE_RTC_CHECK,
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
#if defined(BLUETOOTH)
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
@@ -123,6 +124,7 @@ bool menuRadioHardware(event_t event)
0, /* battery */
READONLY_ROW, /* RTC */
+ 0, /* RTC check */
0, /* max baudrate */
@@ -276,6 +278,14 @@ bool menuRadioHardware(event_t event)
}
break;
#if defined(BLUETOOTH)
+ case ITEM_RADIO_HARDWARE_RTC_CHECK:
+ {
+ lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_CHECK);
+ uint8_t b = 1 - g_eeGeneral.disableRtcWarning;
+ g_eeGeneral.disableRtcWarning = 1 - editCheckBox(b, HW_SETTINGS_COLUMN + 50, y, attr, event);
+ break;
+ }
+
case ITEM_RADIO_HARDWARE_BLUETOOTH_MODE:
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BLUETOOTH);
g_eeGeneral.bluetoothMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER, attr, event);
diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp
index 5ab7e110e..bc8806fb1 100644
--- a/radio/src/gui/common/stdlcd/radio_hardware.cpp
+++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp
@@ -151,6 +151,7 @@ enum {
#if defined(STM32)
ITEM_RADIO_HARDWARE_RTC_BATTERY,
+ ITEM_RADIO_HARDWARE_RTC_CHECK,
#endif
#if defined(TX_CAPACITY_MEASUREMENT)
@@ -257,7 +258,7 @@ void onHardwareAntennaSwitchConfirm(const char * result)
#endif
#if defined(STM32)
- #define RTC_ROW READONLY_ROW,
+ #define RTC_ROW READONLY_ROW, 0,
#else
#define RTC_ROW
#endif
@@ -512,6 +513,10 @@ void menuRadioHardware(event_t event)
lcdDrawTextAlignedLeft(y, STR_RTC_BATT);
putsVolts(HW_SETTINGS_COLUMN2, y, getRTCBatteryVoltage(), PREC2|LEFT);
break;
+
+ case ITEM_RADIO_HARDWARE_RTC_CHECK:
+ g_eeGeneral.disableRtcWarning = 1 - editCheckBox(1 - g_eeGeneral.disableRtcWarning, HW_SETTINGS_COLUMN2, y, STR_RTC_CHECK, attr, event);
+ break;
#endif
#if defined(TX_CAPACITY_MEASUREMENT)
diff --git a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp
index 763fdcada..d15c1243c 100644
--- a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp
+++ b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp
@@ -408,8 +408,12 @@ void menuRadioSdManager(event_t _event)
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
if (information.productFamily == FIRMWARE_FAMILY_EXTERNAL_MODULE)
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
- if (HAS_SPORT_UPDATE_CONNECTOR() && (information.productFamily == FIRMWARE_FAMILY_RECEIVER || information.productFamily == FIRMWARE_FAMILY_SENSOR))
- POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
+ if (information.productFamily == FIRMWARE_FAMILY_RECEIVER || information.productFamily == FIRMWARE_FAMILY_SENSOR) {
+ if (HAS_SPORT_UPDATE_CONNECTOR())
+ POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
+ else
+ POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
+ }
#if defined(PXX2)
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER)
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);
diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp
index a26d4eb15..a2f9b4090 100644
--- a/radio/src/gui/gui_common.cpp
+++ b/radio/src/gui/gui_common.cpp
@@ -606,6 +606,9 @@ bool isInternalModuleAvailable(int moduleType)
bool isExternalModuleAvailable(int moduleType)
{
+ if (moduleType == MODULE_TYPE_R9M_LITE_PRO_PXX1)
+ return false;
+
#if !defined(HARDWARE_EXTERNAL_MODULE_SIZE_SML)
if (isModuleTypeR9MLite(moduleType) || moduleType == MODULE_TYPE_XJT_LITE_PXX2)
return false;
diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp
index 9dec737d3..aa0bd28bb 100644
--- a/radio/src/lua/api_general.cpp
+++ b/radio/src/lua/api_general.cpp
@@ -58,10 +58,10 @@
#define FIND_FIELD_DESC 0x01
#define KEY_EVENTS(xxx, yyy) \
- { "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
- { "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
- { "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
- { "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
+ { "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
+ { "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
+ { "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
+ { "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
/*luadoc
@function getVersion()
@@ -1383,7 +1383,7 @@ static int luaChdir(lua_State * L)
@function loadScript(file [, mode], [,env])
Load a Lua script file. This is similar to Lua's own [loadfile()](https://www.lua.org/manual/5.2/manual.html#pdf-loadfile)
-API method, but it uses OpenTx's optional pre-compilation feature to save memory and time during load.
+API method, but it uses OpenTx's optional pre-compilation feature to save memory and time during load.
Return values are same as from Lua API loadfile() method: If the script was loaded w/out errors
then the loaded script (or "chunk") is returned as a function. Otherwise, returns nil plus the error message.
@@ -1679,53 +1679,61 @@ const luaR_value_entry opentxConstants[] = {
{ "FIXEDWIDTH", FIXEDWIDTH },
#endif
-// Virtual Page Next/Previous
-#if defined(KEYS_GPIO_REG_PGUP) && defined(KEYS_GPIO_REG_PGDN)
- { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_FIRST(KEY_PGUP) },
- { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_FIRST(KEY_PGDN) },
-#elif defined(KEYS_GPIO_REG_PGDN)
- { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PGDN) },
- { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
-#elif defined(KEYS_GPIO_REG_UP) && defined(KEYS_GPIO_REG_DOWN)
- { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_UP) },
- { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_LONG(KEY_DOWN) },
-#elif defined(KEYS_GPIO_REG_PAGE)
- { "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PAGE) },
- { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
+// Virtual events
+#if defined(ROTARY_ENCODER_NAVIGATION)
+ { "EVT_VIRTUAL_PREV", EVT_ROTARY_LEFT },
+ { "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT },
+ { "EVT_VIRTUAL_DEC", EVT_ROTARY_LEFT },
+ { "EVT_VIRTUAL_INC", EVT_ROTARY_RIGHT },
+#elif defined(PCBX9D) || defined(PCBX9DP) // key reverted between field nav and value change
+ { "EVT_VIRTUAL_PREV", EVT_KEY_FIRST(KEY_PLUS) },
+ { "EVT_VIRTUAL_PREV_REPT", EVT_KEY_REPT(KEY_PLUS) },
+ { "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_MINUS) },
+ { "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_MINUS) },
+ { "EVT_VIRTUAL_DEC", EVT_KEY_FIRST(KEY_MINUS) },
+ { "EVT_VIRTUAL_DEC_REPT", EVT_KEY_REPT(KEY_MINUS) },
+ { "EVT_VIRTUAL_INC", EVT_KEY_FIRST(KEY_PLUS) },
+ { "EVT_VIRTUAL_INC_REPT", EVT_KEY_REPT(KEY_PLUS) },
+#else
+ { "EVT_VIRTUAL_PREV", EVT_KEY_FIRST(KEY_LEFT) },
+ { "EVT_VIRTUAL_PREV_REPT", EVT_KEY_REPT(KEY_LEFT) },
+ { "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_RIGHT) },
+ { "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
+ { "EVT_VIRTUAL_DEC", EVT_KEY_FIRST(KEY_LEFT) },
+ { "EVT_VIRTUAL_DEC_REPT", EVT_KEY_REPT(KEY_LEFT) },
+ { "EVT_VIRTUAL_INC", EVT_KEY_FIRST(KEY_RIGHT) },
+ { "EVT_VIRTUAL_INC_REPT", EVT_KEY_REPT(KEY_RIGHT) },
#endif
-// Virtual exit
- { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
-
-// Virtual enter
-#if defined(KEYS_GPIO_REG_ENTER)
+#if defined(NAVIGATION_9X) || defined(NAVIGATION_XLITE)
+ { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_UP) },
+ { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_UP) },
+ { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_DOWN) },
+ { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_DOWN) },
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
-#endif
-
-// Virtual menu
-#if defined(KEYS_GPIO_REG_MENU)
+ { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
+#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
+ { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_PAGE) },
+ { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) },
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) },
-#elif defined(KEYS_GPIO_REG_SHIFT)
- { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_SHIFT) },
- { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_SHIFT) },
+ { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
+ { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
+ { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
+#elif defined(NAVIGATION_HORUS)
+#if defined(KEYS_GPIO_REG_PGUP)
+ { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_BREAK(KEY_PGUP) },
+ { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
+#else
+ { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_PGDN) },
+ { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
#endif
-
-// Virtual generic plus-next-right minus-previous-left
-#if defined(ROTARY_ENCODER_NAVIGATION)
- { "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT},
- { "EVT_VIRTUAL_PREVIOUS", EVT_ROTARY_LEFT },
-#elif defined(KEYS_GPIO_REG_RIGHT) && defined(KEYS_GPIO_REG_LEFT)
- { "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_RIGHT) },
- { "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_RIGHT) },
- { "EVT_VIRTUAL_PREVIOUS", EVT_KEY_FIRST(KEY_LEFT) },
- { "EVT_VIRTUAL_PREVIOUS_REPT", EVT_KEY_REPT(KEY_LEFT) },
-#elif defined(KEYS_GPIO_REG_PLUS) && defined(KEYS_GPIO_REG_MINUS)
- { "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_PLUS) },
- { "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_PLUS) },
- { "EVT_VIRTUAL_PREVIOUS", EVT_KEY_FIRST(KEY_MINUS) },
- { "EVT_VIRTUAL_PREVIOUS_REPT", EVT_KEY_REPT(KEY_MINUS) },
+ { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MODEL) },
+ { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MODEL) },
+ { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
+ { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
+ { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
#endif
#if defined(KEYS_GPIO_REG_EXIT)
diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp
index 2955e6849..7e3bc3edf 100644
--- a/radio/src/opentx.cpp
+++ b/radio/src/opentx.cpp
@@ -869,10 +869,13 @@ static void checkRTCBattery()
void checkFailsafe()
{
for (int i=0; i> (2*i)) & 0x03) == TELEMETRY_SCREEN_TYPE_GAUGES) {
+ else if (((oldModel.frsky.screensType >> (2*i)) & 0x03) == TELEMETRY_SCREEN_TYPE_BARS) {
for (int j = 0; j < 4; j++) {
newModel.frsky.screens[i].bars[j].source = convertSource_217_to_218(oldModel.frsky.screens[i].bars[j].source);
}
diff --git a/radio/src/storage/conversions/conversions_218_219.cpp b/radio/src/storage/conversions/conversions_218_219.cpp
index bba32aef0..793d9931c 100644
--- a/radio/src/storage/conversions/conversions_218_219.cpp
+++ b/radio/src/storage/conversions/conversions_218_219.cpp
@@ -355,7 +355,7 @@ void convertModelData_218_to_219(ModelData &model)
}
}
}
- else if (screenType == TELEMETRY_SCREEN_TYPE_GAUGES) {
+ else if (screenType == TELEMETRY_SCREEN_TYPE_BARS) {
for (int j = 0; j < 4; j++) {
newModel.screens[i].bars[j].source = convertSource_218_to_219(oldModel.frsky.screens[i].bars[j].source);
}
diff --git a/radio/src/storage/conversions/datastructs_218.h b/radio/src/storage/conversions/datastructs_218.h
index d331b943e..578e7c1bf 100644
--- a/radio/src/storage/conversions/datastructs_218.h
+++ b/radio/src/storage/conversions/datastructs_218.h
@@ -504,7 +504,7 @@ PACK(struct ModelData_v218 {
swarnstate218_t switchUnlockStates; \
swconfig218_t switchConfig; \
char switchNames[NUM_SWITCHES_218][LEN_SWITCH_NAME_218]; \
- char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME_218]; \
+ char anaNames[NUM_STICKS+STORAGE_NUM_POTS+STORAGE_NUM_SLIDERS][LEN_ANA_NAME_218]; \
BLUETOOTH_FIELDS_218
#elif defined(PCBSKY9X)
#define EXTRA_GENERAL_FIELDS_218 \
@@ -517,7 +517,7 @@ PACK(struct ModelData_v218 {
uint8_t sticksGain; \
uint8_t rotarySteps; \
char switchNames[NUM_SWITCHES_218][LEN_SWITCH_NAME_218]; \
- char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME_218];
+ char anaNames[NUM_STICKS+STORAGE_NUM_POTS+STORAGE_NUM_SLIDERS][LEN_ANA_NAME_218];
#else
#define EXTRA_GENERAL_FIELDS_218 EXTRA_GENERAL_FIELDS_GENERAL_218
#endif
diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp
index b9b9f42d8..5ca32a594 100644
--- a/radio/src/switches.cpp
+++ b/radio/src/switches.cpp
@@ -33,7 +33,6 @@
#define SWITCH_WARNING_LIST_Y 4*FH+4
#endif
-
enum LogicalSwitchContextState {
SWITCH_START,
SWITCH_DELAY,
diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt
index 81f4a21c2..14015b25e 100644
--- a/radio/src/targets/horus/CMakeLists.txt
+++ b/radio/src/targets/horus/CMakeLists.txt
@@ -40,6 +40,7 @@ if (PCB STREQUAL X10)
set(FONTS_TARGET x10_fonts)
set(LCD_DRIVER lcd_driver.cpp)
set(LUA_EXPORT lua_export_x10)
+ set(INTERNAL_GPS OFF)
if (PCBREV STREQUAL EXPRESS)
set(FLAVOUR x10express)
option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" OFF)
diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h
index fb12142a0..3d891cb8a 100644
--- a/radio/src/targets/horus/board.h
+++ b/radio/src/targets/horus/board.h
@@ -592,7 +592,7 @@ uint8_t gpsGetByte(uint8_t * byte);
extern uint8_t gpsTraceEnabled;
#endif
void gpsSendByte(uint8_t byte);
-#if defined(PCBX12S)
+#if defined(INTERNAL_GPS)
#define PILOTPOS_MIN_HDOP 500
#endif
diff --git a/radio/src/targets/horus/x12s_adc_driver.cpp b/radio/src/targets/horus/x12s_adc_driver.cpp
index 932f752a0..2833c4620 100644
--- a/radio/src/targets/horus/x12s_adc_driver.cpp
+++ b/radio/src/targets/horus/x12s_adc_driver.cpp
@@ -139,7 +139,7 @@ void adcInit()
uint16_t getRTCBatteryVoltage()
{
- return (rtcBatteryVoltage * ADC_VREF_PREC2) / 2048;
+ return (rtcBatteryVoltage * 2 * ADC_VREF_PREC2) / 2048;
}
const uint16_t adcCommands[MOUSE1+2] =
diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h
index b5c242b00..5f0ec818e 100644
--- a/radio/src/targets/taranis/board.h
+++ b/radio/src/targets/taranis/board.h
@@ -498,14 +498,19 @@ enum Analogs {
#define NUM_SLIDERS 4
#define STORAGE_NUM_POTS 4
#define STORAGE_NUM_SLIDERS 4
-#else
+#elif defined(PCBX9DP)
#define NUM_POTS 3
#define NUM_SLIDERS 2
#define STORAGE_NUM_POTS 3
#define STORAGE_NUM_SLIDERS 2
+#else
+ #define NUM_POTS 2
+ #define NUM_SLIDERS 2
+ #define STORAGE_NUM_POTS 3
+ #define STORAGE_NUM_SLIDERS 2
#endif
-#define NUM_XPOTS NUM_POTS
+#define NUM_XPOTS STORAGE_NUM_POTS
#define NUM_TRIMS 4
#define NUM_MOUSE_ANALOGS 0
#define STORAGE_NUM_MOUSE_ANALOGS 0
diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h
index 89fee14d2..4a0bb49d7 100644
--- a/radio/src/targets/taranis/hal.h
+++ b/radio/src/targets/taranis/hal.h
@@ -531,8 +531,8 @@
#define HARDWARE_SWITCH_J
#define SWITCHES_GPIO_REG_I GPIOC->IDR
#define SWITCHES_GPIO_PIN_I GPIO_Pin_13 // PC.13
- #define SWITCHES_GPIO_REG_J GPIOC->IDR
- #define SWITCHES_GPIO_PIN_J GPIO_Pin_10 // PC.10
+ #define SWITCHES_GPIO_REG_J GPIOD->IDR
+ #define SWITCHES_GPIO_PIN_J GPIO_Pin_10 // PD.10
#endif
#if defined(PCBX9E)
@@ -642,8 +642,8 @@
#elif defined(RADIO_X7)
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE)
#define KEYS_GPIOA_PINS GPIO_Pin_5
- #define KEYS_GPIOC_PINS (GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_10 | GPIO_Pin_13)
- #define KEYS_GPIOD_PINS (GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_11 | GPIO_Pin_14 | GPIO_Pin_15)
+ #define KEYS_GPIOC_PINS (GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_13)
+ #define KEYS_GPIOD_PINS (GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_14 | GPIO_Pin_15)
#define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15)
#elif defined(PCBX9LITES)
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE)
diff --git a/radio/src/targets/taranis/keys_driver.cpp b/radio/src/targets/taranis/keys_driver.cpp
index 380c7d9cc..acfcb822e 100644
--- a/radio/src/targets/taranis/keys_driver.cpp
+++ b/radio/src/targets/taranis/keys_driver.cpp
@@ -199,6 +199,8 @@ uint32_t switchState(uint8_t index)
ADD_3POS_CASE(D, 3);
ADD_2POS_CASE(F);
ADD_2POS_CASE(H);
+ ADD_2POS_CASE(I);
+ ADD_2POS_CASE(J);
#else
ADD_3POS_CASE(D, 3);
ADD_3POS_CASE(E, 4);
diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp
index 5aca074c4..55758d390 100644
--- a/radio/src/translations.cpp
+++ b/radio/src/translations.cpp
@@ -574,6 +574,7 @@ const char STR_MENU_DISPLAY[] = TR_MENU_DISPLAY;
const char STR_MENU_OTHER[] = TR_MENU_OTHER;
const char STR_MENU_INVERT[] = TR_MENU_INVERT;
const char STR_JITTER_FILTER[] = TR_JITTER_FILTER;
+const char STR_RTC_CHECK[] = TR_RTC_CHECK;
const char STR_EXIT[] = TR_EXIT;
const char STR_MODULE_RANGE[] = TR_MODULE_RANGE;
const char STR_RECEIVER_OPTIONS[] = TR_RECEIVER_OPTIONS;
diff --git a/radio/src/translations.h b/radio/src/translations.h
index 8720fa6a2..814d2669c 100644
--- a/radio/src/translations.h
+++ b/radio/src/translations.h
@@ -853,6 +853,7 @@ extern const char STR_MENU_DISPLAY[];
extern const char STR_MENU_OTHER[];
extern const char STR_MENU_INVERT[];
extern const char STR_JITTER_FILTER[];
+extern const char STR_RTC_CHECK[];
#if MENUS_LOCK == 1
extern const char STR_UNLOCKED[];
diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt
index 209734f1e..99ca3cb0d 100644
--- a/radio/src/translations/cz.h.txt
+++ b/radio/src/translations/cz.h.txt
@@ -1147,6 +1147,7 @@
#define TR_MENU_OTHER "Ostatní"
#define TR_MENU_INVERT "Invertovat"
#define TR_JITTER_FILTER "ADC Filtr"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt
index 2d30ea349..15a8773f9 100644
--- a/radio/src/translations/de.h.txt
+++ b/radio/src/translations/de.h.txt
@@ -1152,6 +1152,7 @@
#define TR_MENU_OTHER "Weitere"
#define TR_MENU_INVERT "Invertieren"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
// ----------------------------------------------------------------
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt
index a65730a76..1187ff342 100644
--- a/radio/src/translations/en.h.txt
+++ b/radio/src/translations/en.h.txt
@@ -1151,6 +1151,7 @@
#define TR_MENU_OTHER "Other"
#define TR_MENU_INVERT "Invert"
#define TR_JITTER_FILTER "ADC filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt
index ebf714c91..acd251727 100644
--- a/radio/src/translations/es.h.txt
+++ b/radio/src/translations/es.h.txt
@@ -1172,6 +1172,7 @@
#define TR_MENU_OTHER "Other"
#define TR_MENU_INVERT "Invert"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt
index 5c23a8fd4..626dde6c7 100644
--- a/radio/src/translations/fi.h.txt
+++ b/radio/src/translations/fi.h.txt
@@ -1160,6 +1160,7 @@
#define TR_MENU_OTHER "Other"
#define TR_MENU_INVERT "Invert"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt
index efde0de55..c1347eca4 100644
--- a/radio/src/translations/fr.h.txt
+++ b/radio/src/translations/fr.h.txt
@@ -455,10 +455,10 @@
#endif
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
#define TR_PPMFRAME INDENT "Trame PPM"
-#define TR_REFRESHRATE TR(INDENT "Refresh", INDENT "Refresh rate")
-#define STR_WARN_BATTVOLTAGE TR(INDENT "Output is VBAT: ", INDENT "Warning: output level is VBAT: ")
+#define TR_REFRESHRATE INDENT "Période"
+#define STR_WARN_BATTVOLTAGE TR(INDENT "Signal est VBAT: ", INDENT "ATTENTION: signal est à VBAT: ")
#define TR_MS "ms"
-#define TR_FREQUENCY INDENT "Frequency"
+#define TR_FREQUENCY INDENT "Fréquence"
#define TR_SWITCH TR("Inter", "Interrupteur")
#define TR_TRIMS "Trims"
#define TR_FADEIN "Fondu ON"
@@ -478,12 +478,12 @@
#define TR_SUBTYPE INDENT "Sous-type"
#define TR_NOFREEEXPO "Max expos atteint!"
#define TR_NOFREEMIXER "Max mixages atteint!"
-#define TR_SOURCE "Source"
+#define TR_SOURCE "Source"
#define TR_WEIGHT "Ratio"
#define TR_EXPO TR("Expo", "Exponentiel")
#define TR_SIDE "Coté"
#define TR_DIFFERENTIAL "Différentiel"
-#define TR_OFFSET "Décalage"
+#define TR_OFFSET "Décalage"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30
@@ -491,8 +491,8 @@
#define TR_FLMODE TR("Phase", "Phases")
#define TR_MIXWARNING "Alerte"
#define TR_OFF "OFF"
-#define TR_ANTENNA "Antenna"
-#define TR_NO_INFORMATION TR("No info", "No information")
+#define TR_ANTENNA "Antenne"
+#define TR_NO_INFORMATION TR("Pas d'info", "Pas d'information")
#define TR_MULTPX "Opération"
#define TR_DELAYDOWN "Retard bas"
#define TR_DELAYUP "Retard haut"
@@ -516,7 +516,7 @@
#define TR_HAPTIC_LABEL "Vibreur"
#define TR_HAPTICSTRENGTH INDENT "Force"
#define TR_GYRO_LABEL "Gyro"
-#define TR_GYRO_OFFSET "Offset"
+#define TR_GYRO_OFFSET "Décalage"
#define TR_GYRO_MAX "Max"
#define TR_CONTRAST "Contraste"
#define TR_ALARMS_LABEL "Alarmes"
@@ -540,8 +540,8 @@
#define TR_BLOFFBRIGHTNESS INDENT "Luminosité OFF"
#define TR_BLCOLOR INDENT "Couleur"
#define TR_SPLASHSCREEN "Logo d'accueil"
-#define TR_PWR_ON_DELAY "Pwr On delay"
-#define TR_PWR_OFF_DELAY "Pwr Off delay"
+#define TR_PWR_ON_DELAY "Délai btn ON"
+#define TR_PWR_OFF_DELAY "Délai btn OFF"
#define TR_THROTTLEWARNING TR(INDENT "Alerte gaz", INDENT "Alerte gaz")
#define TR_SWITCHWARNING TR(INDENT "Alerte int", INDENT "Pos. interrupteurs")
#define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders")
@@ -579,11 +579,11 @@
#define OFS_RX 4
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "NO DATA"
-#define TR_US "us"
+#define TR_US "us"
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
- #define TR_TMIXMAXMS "Tmix max"
- #define TR_FREE_STACK "Free stack"
+#define TR_TMIXMAXMS "Tmix max"
+#define TR_FREE_STACK "Free stack"
#define TR_MENUTORESET TR_ENTER" pour reset"
#define TR_PPM_TRAINER "TR"
@@ -648,8 +648,8 @@
#define TR_MULTI_RFTUNE TR(INDENT "Ajust.fréq", INDENT "Ajustement fréq.")
#define TR_MULTI_TELEMETRY "Télémétrie"
#define TR_MULTI_VIDFREQ TR(INDENT "Fréq. vidéo", INDENT "Fréquence vidéo")
-#define TR_RFPOWER TR(INDENT "Puiss. RF", INDENT "Puissance RF")
-#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID")
+#define TR_RFPOWER TR(INDENT "Puiss. RF", INDENT "Puissance RF")
+#define TR_MULTI_FIXEDID "ID fixe"
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option perso")
#define TR_MULTI_AUTOBIND TR(INDENT "Bind auto", INDENT "Bind automatique")
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodét.", INDENT "Autodétection")
@@ -704,37 +704,37 @@
#define TR_CAT_NOT_EMPTY "Categorie non vide"
#define TR_SDCARD_ERROR "Erreur carte SD"
#define TR_NO_SDCARD "Carte SD indisponible"
-#define TR_WAITING_FOR_RX "Waiting for RX..."
-#define TR_WAITING_FOR_TX "Waiting for TX..."
-#define TR_NO_TOOLS "No tools available"
+#define TR_WAITING_FOR_RX "Attente du RX..."
+#define TR_WAITING_FOR_TX "Attente du TX..."
+#define TR_NO_TOOLS "Pas d'outils dispo"
#define TR_NORMAL "Normal"
-#define TR_NOT_INVERTED "Not inv"
-#define TR_NOT_CONNECTED "!Connected"
-#define TR_CONNECTED "Connected"
+#define TR_NOT_INVERTED "Non inv"
+#define TR_NOT_CONNECTED "!Connecté"
+#define TR_CONNECTED "Connecté"
#define TR_FLEX_915 "Flex 915MHz"
#define TR_FLEX_868 "Flex 868MHz"
-#define TR_16CH_WITHOUT_TELEMETRY TR("16CH without telem.", "16CH without telemetry")
-#define TR_16CH_WITH_TELEMETRY TR("16CH with telem.", "16CH with telemetry")
-#define TR_8CH_WITH_TELEMETRY TR("8CH with telem.", "8CH with telemetry")
-#define TR_EXT_ANTENNA "Ext. antenna"
+#define TR_16CH_WITHOUT_TELEMETRY TR("16CH sans télém.", "16CH sans télémétrie")
+#define TR_16CH_WITH_TELEMETRY TR("16CH avec télém.", "16CH avec télémétrie")
+#define TR_8CH_WITH_TELEMETRY TR("8CH avec télém.", "8CH avec télémétrie")
+#define TR_EXT_ANTENNA "Antenne externe"
#define TR_PIN "Pin"
-#define TR_UPDATE_RX_OPTIONS "Update RX options?"
-#define TR_UPDATE_TX_OPTIONS "Update TX options?"
-#define TR_MODULES_RX_VERSION "Modules / RX version"
-#define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION"
-#define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS"
+#define TR_UPDATE_RX_OPTIONS "Sauver options RX?"
+#define TR_UPDATE_TX_OPTIONS "Sauver options TX?"
+#define TR_MODULES_RX_VERSION "Versions modules / RX"
+#define TR_MENU_MODULES_RX_VERSION "VERSIONS MODULES / RX "
+#define TR_MENU_FIRM_OPTIONS "OPTIONS FIRMWARE"
#define TR_GYRO "Gyro"
-#define TR_STICKS_POTS_SLIDERS "Sticks/Pots/Sliders"
-#define TR_PWM_STICKS_POTS_SLIDERS "PWM Sticks/Pots/Sliders"
-#define TR_RF_PROTOCOL "RF Protocol"
-#define TR_MODULE_OPTIONS "Module options"
-#define TR_POWER "Power"
-#define TR_NO_TX_OPTIONS "No TX options"
-#define TR_RTC_BATT "RTC Batt"
-#define TR_POWER_METER_EXT "Power Meter (EXT)"
-#define TR_POWER_METER_INT "Power Meter (INT)"
-#define TR_SPECTRUM_ANALYSER_EXT "Spectrum (EXT)"
-#define TR_SPECTRUM_ANALYSER_INT "Spectrum (INT)"
+#define TR_STICKS_POTS_SLIDERS "Manches/Pots/leviers"
+#define TR_PWM_STICKS_POTS_SLIDERS "Manches PWM/Pots/leviers"
+#define TR_RF_PROTOCOL "Protocole RF"
+#define TR_MODULE_OPTIONS "Options module"
+#define TR_POWER "Puissance"
+#define TR_NO_TX_OPTIONS "Pas d'options TX"
+#define TR_RTC_BATT "Pile RTC"
+#define TR_POWER_METER_EXT "Puissancemètre (EXT)"
+#define TR_POWER_METER_INT "Puissancemètre (INT)"
+#define TR_SPECTRUM_ANALYSER_EXT TR("Spectre (EXT)", "Analyseur spectre (EXT)")
+#define TR_SPECTRUM_ANALYSER_INT TR("Spectre (INT)", "Analyseur spectre (INT)")
#define TR_SDCARD_FULL "Carte SD pleine"
#define TR_INCOMPATIBLE "Incompatible"
#define TR_WARNING "ALERTE"
@@ -748,9 +748,9 @@
#define TR_NIGHTLY_WARNING TR("NIGHTLY", "NIGHTLY BUILD")
#define TR_NIGHTLY_NOTSAFE "Version de test uniq."
#define TR_WRONG_SDCARDVERSION "Version requise: "
-#define TR_WARN_RTC_BATTERY_LOW "RTC Battery low"
-#define TR_WARN_MULTI_LOWPOWER "Low power mode"
-#define TR_BATTERY "BATTERY"
+#define TR_WARN_RTC_BATTERY_LOW "Batterie RTC faible"
+#define TR_WARN_MULTI_LOWPOWER "Mode basse puis."
+#define TR_BATTERY "BATTERIE"
#define TR_WRONG_PCBREV "PCB incorrect détecté"
#define TR_EMERGENCY_MODE "MODE SECOURS"
#define TR_PCBREV_ERROR "Erreur PCB"
@@ -799,11 +799,11 @@
#define TR_TIME "Heure"
#define TR_MAXBAUDRATE "Max bauds"
#define TR_BLUETOOTH "Bluetooth"
-#define TR_BLUETOOTH_DISC "Discover"
+#define TR_BLUETOOTH_DISC "Découvrir"
#define TR_BLUETOOTH_INIT "Init"
-#define TR_BLUETOOTH_DIST_ADDR INDENT "Dist addr"
-#define TR_BLUETOOTH_LOCAL_ADDR INDENT "Local addr"
-#define TR_BLUETOOTH_PIN_CODE "PIN code"
+#define TR_BLUETOOTH_DIST_ADDR INDENT "Addr dist."
+#define TR_BLUETOOTH_LOCAL_ADDR INDENT "Addr locale"
+#define TR_BLUETOOTH_PIN_CODE "Code PIN"
#define TR_BAUDRATE "Baudrate BT"
#define LEN_BLUETOOTH_MODES "\012"
#if defined(PCBX9E)
@@ -831,9 +831,9 @@
#define TR_VIEW_TEXT "Voir texte"
#define TR_FLASH_BOOTLOADER "Flasher BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE TR("Flasher S.Port", "Flasher S.Port externe")
-#define TR_FLASH_RECEIVER_OTA "Flash receiver OTA"
-#define TR_FLASH_BLUETOOTH_MODULE TR("Flash BT module", "Flash Bluetooth module")
-#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flash pwr mngt unit"
+#define TR_FLASH_RECEIVER_OTA "Flasher RX OTA"
+#define TR_FLASH_BLUETOOTH_MODULE TR("Flash module BT", "Flash module Bluetooth")
+#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flasher pwr mngt unit"
#define TR_CURRENT_VERSION "Version courante :"
#define TR_FLASH_INTERNAL_MODULE TR("Flasher module int.", "Flasher module interne")
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "Flash Internal Multi")
@@ -844,16 +844,16 @@
#define TR_WRITING TR("\14Ecriture...", "\032Ecriture...")
#define TR_CONFIRM_FORMAT "Confirmer Formatage?"
#define TR_INTERNALRF "HF interne"
-#define TR_INTERNAL_MODULE TR("Int. module","Internal module")
-#define TR_EXTERNAL_MODULE TR("Ext. module","External module")
-#define TR_OPENTX_UPGRADE_REQUIRED "OpenTX upgrade required"
-#define TR_TELEMETRY_DISABLED "Telem. disabled"
-#define TR_MORE_OPTIONS_AVAILABLE "More options available"
-#define TR_NO_MODULE_INFORMATION "No module information"
+#define TR_INTERNAL_MODULE TR("Module int.","Module interne")
+#define TR_EXTERNAL_MODULE TR("Module ext.","Module externe")
+#define TR_OPENTX_UPGRADE_REQUIRED "Màj OpenTX nécessaire"
+#define TR_TELEMETRY_DISABLED "Télém. désactivée"
+#define TR_MORE_OPTIONS_AVAILABLE "Autres options disponibles"
+#define TR_NO_MODULE_INFORMATION "Pas d'info module"
#define TR_EXTERNALRF "HF externe"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Type failsafe")
#define TR_FAILSAFESET "REGLAGES FAILSAFE"
-#define TR_REG_ID TR("ID Enr.", "ID Enregisrement")
+#define TR_REG_ID TR("ID Enr.", "ID Enregistr.")
#define TR_OWNER_ID "ID Radio"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "Hold"
@@ -907,7 +907,7 @@
#define TR_PXX2_SELECT_RX "Sélect RX..."
#define TR_PXX2_DEFAULT ""
#define TR_BT_SELECT_DEVICE "Sélect appareil..."
-#define TR_DISCOVER "Découvrir"
+#define TR_DISCOVER "Découvrir"
#define TR_BUTTON_INIT BUTTON("Init")
#define TR_WAITING "Attente..."
#define TR_RECEIVER_DELETE "Suppr récept.?"
@@ -916,8 +916,8 @@
#define TR_BIND "Bind"
#define TR_REGISTER TR("Enr", "Enregistr.")
#define TR_MODULE_RANGE BUTTON(TR("Prt", "Port."))
-#define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS")
-#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete"))
+#define TR_RECEIVER_OPTIONS TR("OPTIONS REC.", "OPTIONS RECEPTEUR")
+#define TR_DEL_BUTTON BUTTON(TR("Eff", "Effacer"))
#define TR_RESET_BTN BUTTON("RAZ")
#define TR_DEBUG "Debug"
#define TR_KEYS_BTN BUTTON(TR("Btns","Inters"))
@@ -939,18 +939,18 @@
#define TR_ANTENNACONFIRM1 "Vraiment changer?"
#if defined(PCBX12S)
#define LEN_ANTENNA_MODES "\021"
-#define TR_ANTENNA_MODES "Interne\0 ""Ask\0 ""Par modèle\0 ""Interne + Externe"
+#define TR_ANTENNA_MODES "Interne\0 ""Demander\0 ""Par modèle\0 ""Interne + Externe"
#else
-#define LEN_ANTENNA_MODES "\011"
-#define TR_ANTENNA_MODES "Internal\0""Ask\0 ""Per model""External"
+#define LEN_ANTENNA_MODES "\012"
+#define TR_ANTENNA_MODES "Interne\0 ""Demander\0 ""Par modèle""Externe\0 "
#endif
-#define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna")
-#define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna")
+#define TR_USE_INTERNAL_ANTENNA TR("Util antenne int", "Utiliser antenne interne")
+#define TR_USE_EXTERNAL_ANTENNA TR("Util antenne ext", "Utiliser antenne externe")
#define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!")
-#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Nécessite firm."
-#define TR_MODULE_PROTOCOL_FCC_WARN_LINE1 "Requires FCC"
-#define TR_MODULE_PROTOCOL_EU_WARN_LINE1 "Requires EU"
-#define TR_MODULE_PROTOCOL_WARN_LINE2 "R9M non certifié"
+#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Nécessite firm."
+#define TR_MODULE_PROTOCOL_FCC_WARN_LINE1 "Nécessite FCC"
+#define TR_MODULE_PROTOCOL_EU_WARN_LINE1 "Nécessite EU"
+#define TR_MODULE_PROTOCOL_WARN_LINE2 "R9M non certifié"
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE")
@@ -981,7 +981,7 @@
#define TR_PREFLIGHT "Vérifications avant vol"
#define TR_CHECKLIST TR(INDENT "Notes", INDENT "Afficher notes")
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
-#define TR_AUX_SERIAL_MODE "Port série"
+#define TR_AUX_SERIAL_MODE "Port série"
#define TR_SCRIPT "Script"
#define TR_INPUTS "Entrées"
#define TR_OUTPUTS "Sorties"
@@ -1175,6 +1175,7 @@
#define TR_MENU_OTHER "Autres"
#define TR_MENU_INVERT "Inverser"
#define TR_JITTER_FILTER "Filtre ADC"
+#define TR_RTC_CHECK TR("Vérif. RTC", "Vérif. pile RTC")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt
index 7d05b7b80..f6935d970 100644
--- a/radio/src/translations/it.h.txt
+++ b/radio/src/translations/it.h.txt
@@ -1168,6 +1168,7 @@
#define TR_MENU_OTHER "Altro"
#define TR_MENU_INVERT "Inverti"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt
index 61b75ce88..90473d9ac 100644
--- a/radio/src/translations/nl.h.txt
+++ b/radio/src/translations/nl.h.txt
@@ -1162,6 +1162,7 @@ TR_GYR_VSRCRAW
#define TR_MENU_OTHER "Verdere"
#define TR_MENU_INVERT "Inverteer"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt
index 141fa1be2..163a25d42 100644
--- a/radio/src/translations/pl.h.txt
+++ b/radio/src/translations/pl.h.txt
@@ -1168,6 +1168,7 @@
#define TR_MENU_OTHER "Inny "
#define TR_MENU_INVERT "Odwróć"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt
index 6bb061aed..e0087fa4c 100644
--- a/radio/src/translations/pt.h.txt
+++ b/radio/src/translations/pt.h.txt
@@ -1157,6 +1157,7 @@
#define TR_MENU_OTHER "Other"
#define TR_MENU_INVERT "Invert"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt
index da55aff7a..043a10eba 100644
--- a/radio/src/translations/se.h.txt
+++ b/radio/src/translations/se.h.txt
@@ -1168,6 +1168,7 @@
#define TR_MENU_OTHER "Annat"
#define TR_MENU_INVERT "Invertera"
#define TR_JITTER_FILTER "ADC Filter"
+#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
#define ZSTR_RSSI "RSSI"
#define ZSTR_R9PW "R9PW"
diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h
index 63e0f1295..5943fcda3 100644
--- a/radio/src/translations/untranslated.h
+++ b/radio/src/translations/untranslated.h
@@ -38,12 +38,9 @@
#elif defined(PCBX9E)
#define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0"
-#elif defined(PCBXLITES)
- #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
- #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0"
#elif defined(PCBXLITE)
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
- #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0"
+ #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0"
#elif defined(RADIO_X7)
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SF\0""\312SH\0""\312SI\0""\312SJ\0"
@@ -56,12 +53,9 @@
#elif defined(PCBX9LITE)
#define TR_POTS_VSRCRAW "\310S1\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0"
-#elif defined(PCBX9DP) && PCBREV >= 2019
- #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"
- #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0"
#elif defined(PCBTARANIS)
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"
- #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0"
+ #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0"
#elif defined(PCBSKY9X)
#define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 "
#define TR_SW_VSRCRAW "3POS" "THR\0""RUD\0""ELE\0""AIL\0""GEA\0""TRN\0"
diff --git a/tools/commit-tests.sh b/tools/commit-tests.sh
index 6e4719955..61b1bc5c3 100755
--- a/tools/commit-tests.sh
+++ b/tools/commit-tests.sh
@@ -64,7 +64,7 @@ if [[ " SKY9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=SKY9X -DHELI=YES DLUA=YES -DTELEMETRY=FRSKY -DPPM_LIMITS_SYMETRICAL=YES -DVARIO=YES -DAUTOSWITCH=YES -DAUTOSOURCE=YES -DAUDIO=YES -DGPS=YES -DPPM_CENTER_ADJUSTABLE=YES -DFLIGHT_MODES=YES -DOVERRIDE_CHANNEL_FUNCTION=YES -DFRSKY_STICKS=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " AR9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
@@ -73,7 +73,7 @@ if [[ " AR9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=AR9X -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " 9XRPRO ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
@@ -82,7 +82,7 @@ if [[ " 9XRPRO ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=9XRPRO -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then
@@ -91,7 +91,7 @@ if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X9LITE -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9LITES ALL " =~ " ${FLAVOR} " ]] ; then
@@ -109,7 +109,7 @@ if [[ " X7 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X7 -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then
@@ -118,7 +118,7 @@ if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=XLITE -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then
@@ -127,7 +127,7 @@ if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=XLITES -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9D X9 ALL " =~ " ${FLAVOR} " ]] ; then
@@ -136,7 +136,7 @@ if [[ " X9D X9 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9D+ X9 ALL " =~ " ${FLAVOR} " ]] ; then
@@ -145,7 +145,7 @@ if [[ " X9D+ X9 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9D+2019 X9 ALL " =~ " ${FLAVOR} " ]] ; then
@@ -154,7 +154,7 @@ if [[ " X9D+2019 X9 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X9E X9 ALL " =~ " ${FLAVOR} " ]] ; then
@@ -163,7 +163,7 @@ if [[ " X9E X9 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X9E -DHELI=YES -DLUA=YES -DGVARS=YES -DPPM_UNIT=PERCENT_PREC1 ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X10 HORUS ALL " =~ " ${FLAVOR} " ]] ; then
@@ -172,7 +172,7 @@ if [[ " X10 HORUS ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X10 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " X12S HORUS ALL " =~ " ${FLAVOR} " ]] ; then
@@ -181,7 +181,7 @@ if [[ " X12S HORUS ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X12S -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " T12 ALL " =~ " ${FLAVOR} " ]] ; then
@@ -190,7 +190,7 @@ if [[ " T12 ALL " =~ " ${FLAVOR} " ]] ; then
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 -DHELI=YES -DGVARS=YES ${SRCDIR}
make -j${CORES} ${FIRMARE_TARGET}
make -j${CORES} libsimulator
- make -j${CORES} tests
+ make -j${CORES} tests-radio
fi
if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then
@@ -198,4 +198,5 @@ if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then
rm -rf *
cmake ${COMMON_OPTIONS} ${SRCDIR}
make -j${CORES}
+ make -j${CORES} tests
fi