mirror of
https://github.com/opentx/opentx.git
synced 2025-07-14 11:59:50 +03:00
Merge branch '2.3.1' into 2.3
# Conflicts: # CREDITS.txt # radio/src/gui/480x272/radio_hardware.cpp
This commit is contained in:
commit
b40dfdf12b
72 changed files with 544 additions and 419 deletions
|
@ -6,7 +6,7 @@ set(VERSION_REVISION "1")
|
||||||
set(VERSION_SUFFIX $ENV{OPENTX_VERSION_SUFFIX})
|
set(VERSION_SUFFIX $ENV{OPENTX_VERSION_SUFFIX})
|
||||||
set(VERSION_FAMILY ${VERSION_MAJOR}.${VERSION_MINOR})
|
set(VERSION_FAMILY ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}${VERSION_SUFFIX})
|
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})
|
set(SDCARD_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}V${SDCARD_REVISION})
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
@ -225,6 +225,11 @@ endif()
|
||||||
|
|
||||||
add_subdirectory(${RADIO_SRC_DIRECTORY})
|
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)
|
if(Qt5Core_FOUND AND NOT DISABLE_COMPANION)
|
||||||
add_subdirectory(${COMPANION_SRC_DIRECTORY})
|
add_subdirectory(${COMPANION_SRC_DIRECTORY})
|
||||||
add_custom_target(gtests DEPENDS gtests-radio gtests-companion)
|
add_custom_target(gtests DEPENDS gtests-radio gtests-companion)
|
||||||
|
|
|
@ -85,6 +85,7 @@ RawSwitchItemModel::RawSwitchItemModel(const GeneralSettings * const generalSett
|
||||||
Firmware * fw = getCurrentFirmware();
|
Firmware * fw = getCurrentFirmware();
|
||||||
|
|
||||||
// Descending switch direction: NOT (!) switches
|
// Descending switch direction: NOT (!) switches
|
||||||
|
addItems(SWITCH_TYPE_ACT, -1);
|
||||||
addItems(SWITCH_TYPE_SENSOR, -CPN_MAX_SENSORS);
|
addItems(SWITCH_TYPE_SENSOR, -CPN_MAX_SENSORS);
|
||||||
addItems(SWITCH_TYPE_TELEMETRY, -1);
|
addItems(SWITCH_TYPE_TELEMETRY, -1);
|
||||||
addItems(SWITCH_TYPE_FLIGHT_MODE, -fw->getCapability(FlightModes));
|
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_SENSOR, CPN_MAX_SENSORS);
|
||||||
addItems(SWITCH_TYPE_ON, 1);
|
addItems(SWITCH_TYPE_ON, 1);
|
||||||
addItems(SWITCH_TYPE_ONE, 1);
|
addItems(SWITCH_TYPE_ONE, 1);
|
||||||
|
addItems(SWITCH_TYPE_ACT, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RawSwitchItemModel::setDynamicItemData(QStandardItem * item, const RawSwitch & rsw) const
|
void RawSwitchItemModel::setDynamicItemData(QStandardItem * item, const RawSwitch & rsw) const
|
||||||
|
|
|
@ -109,6 +109,7 @@ class GeneralSettings {
|
||||||
bool adjustRTC;
|
bool adjustRTC;
|
||||||
bool optrexDisplay;
|
bool optrexDisplay;
|
||||||
unsigned int inactivityTimer;
|
unsigned int inactivityTimer;
|
||||||
|
unsigned int telemetryBaudrate;
|
||||||
bool minuteBeep;
|
bool minuteBeep;
|
||||||
bool preBeep;
|
bool preBeep;
|
||||||
bool flashBeep;
|
bool flashBeep;
|
||||||
|
@ -140,6 +141,7 @@ class GeneralSettings {
|
||||||
unsigned int rotarySteps;
|
unsigned int rotarySteps;
|
||||||
unsigned int countryCode;
|
unsigned int countryCode;
|
||||||
bool jitterFilter;
|
bool jitterFilter;
|
||||||
|
bool rtcCheckDisable;
|
||||||
unsigned int imperial;
|
unsigned int imperial;
|
||||||
char ttsLanguage[2+1];
|
char ttsLanguage[2+1];
|
||||||
int beepVolume;
|
int beepVolume;
|
||||||
|
|
|
@ -127,12 +127,12 @@ QString ModuleData::protocolToString(unsigned protocol)
|
||||||
"FrSky XJT (D16)", "FrSky XJT (D8)", "FrSky XJT (LR12)", "FrSky DJT",
|
"FrSky XJT (D16)", "FrSky XJT (D8)", "FrSky XJT (LR12)", "FrSky DJT",
|
||||||
"TBS Crossfire",
|
"TBS Crossfire",
|
||||||
"DIY Multiprotocol Module",
|
"DIY Multiprotocol Module",
|
||||||
"FrSky PXX R9M",
|
"FrSky R9M",
|
||||||
"FrSky PXX R9M Lite",
|
"FrSky R9M Lite",
|
||||||
"FrSky PXX R9M Lite Pro",
|
"FrSky R9M Lite Pro",
|
||||||
"SBUS output at VBat",
|
"SBUS output at VBat",
|
||||||
"FrSky ACCESS ISRM", "FrSky ACCST ISRM D16",
|
"FrSky ACCESS ISRM", "FrSky ACCST ISRM D16",
|
||||||
"FrSky ACCESS R9M",
|
"FrSky ACCESS R9M 2019",
|
||||||
"FrSky ACCESS R9M Lite",
|
"FrSky ACCESS R9M Lite",
|
||||||
"FrSky ACCESS R9M Lite Pro",
|
"FrSky ACCESS R9M Lite Pro",
|
||||||
"FrSky XJT lite (D16)", "FrSky XJT lite (D8)", "FrSky XJT lite (LR12)"
|
"FrSky XJT lite (D16)", "FrSky XJT lite (D8)", "FrSky XJT lite (LR12)"
|
||||||
|
|
|
@ -217,6 +217,10 @@ class SwitchesConversionTable: public ConversionTable {
|
||||||
addConversion(RawSwitch(SWITCH_TYPE_SENSOR, i), val++);
|
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) {
|
if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) {
|
||||||
_id = sensor.id;
|
_id = sensor.id;
|
||||||
_subid = sensor.subid;
|
_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;
|
_ratio = sensor.ratio;
|
||||||
_offset = sensor.offset;
|
_offset = sensor.offset;
|
||||||
}
|
}
|
||||||
|
@ -1942,12 +1946,12 @@ class SensorField: public TransformedField {
|
||||||
sensor.id = _id;
|
sensor.id = _id;
|
||||||
sensor.subid = _subid;
|
sensor.subid = _subid;
|
||||||
if (model.moduleData[0].isPxx1Module() || model.moduleData[1].isPxx1Module()) {
|
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.rxIdx = 0x03; // 2 bits Rx idx
|
||||||
sensor.moduleIdx = 0x01; // 1 bit module idx
|
sensor.moduleIdx = 0x01; // 1 bit module idx
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sensor.instance = _instance & 0x1F;
|
sensor.instance = (_instance & 0x1F) + 1;
|
||||||
sensor.rxIdx = (_instance >> 5) & 0x03; // 2 bits Rx idx
|
sensor.rxIdx = (_instance >> 5) & 0x03; // 2 bits Rx idx
|
||||||
sensor.moduleIdx = (_instance >> 7) & 0x1; // 1 bit module 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));
|
internalField.Append(new UnsignedField<8>(this, modelData.rssiSource));
|
||||||
|
|
||||||
if (IS_TARANIS_X9(board)) {
|
if (IS_TARANIS_X9(board)) {
|
||||||
// TODO TOPBAR
|
internalField.Append(new UnsignedField<8>(this, modelData.frsky.voltsSource));
|
||||||
internalField.Append(new SpareBitsField<16>(this));
|
internalField.Append(new UnsignedField<8>(this, modelData.frsky.altitudeSource));
|
||||||
}
|
}
|
||||||
|
|
||||||
internalField.Append(new BoolField<1>(this, modelData.rssiAlarms.disabled));
|
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));
|
internalField.Append(new SignedField<2>(this, generalData.antennaMode));
|
||||||
else
|
else
|
||||||
internalField.Append(new SpareBitsField<2>(this));
|
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++) {
|
for (int i=0; i<4; i++) {
|
||||||
internalField.Append(new SignedField<16>(this, generalData.trainer.calib[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 UnsignedField<8>(this, generalData.inactivityTimer));
|
||||||
internalField.Append(new SpareBitsField<3>(this)); // telemetryBaudrate
|
internalField.Append(new UnsignedField<3>(this, generalData.telemetryBaudrate));
|
||||||
if (IS_HORUS(board))
|
if (IS_HORUS(board))
|
||||||
internalField.Append(new SpareBitsField<3>(this));
|
internalField.Append(new SpareBitsField<3>(this));
|
||||||
else if (IS_TARANIS(board))
|
else if (IS_TARANIS(board))
|
||||||
|
|
|
@ -803,13 +803,15 @@ bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
||||||
case PULSES_MULTIMODULE:
|
case PULSES_MULTIMODULE:
|
||||||
case PULSES_CROSSFIRE:
|
case PULSES_CROSSFIRE:
|
||||||
return true;
|
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:
|
||||||
case PULSES_ACCESS_R9M_LITE_PRO:
|
case PULSES_ACCESS_R9M_LITE_PRO:
|
||||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
|
||||||
case PULSES_XJT_LITE_X16:
|
case PULSES_XJT_LITE_X16:
|
||||||
case PULSES_XJT_LITE_D8:
|
case PULSES_XJT_LITE_D8:
|
||||||
case PULSES_XJT_LITE_LR12:
|
case PULSES_XJT_LITE_LR12:
|
||||||
return (IS_TARANIS_XLITES(board) || IS_TARANIS_X9LITE(board));
|
return (IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board));
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,9 @@ QString RawSwitch::toString(Board::Type board, const GeneralSettings * const gen
|
||||||
case SWITCH_TYPE_ONE:
|
case SWITCH_TYPE_ONE:
|
||||||
return tr("One");
|
return tr("One");
|
||||||
|
|
||||||
|
case SWITCH_TYPE_ACT:
|
||||||
|
return tr("Act");
|
||||||
|
|
||||||
case SWITCH_TYPE_FLIGHT_MODE:
|
case SWITCH_TYPE_FLIGHT_MODE:
|
||||||
if (modelData)
|
if (modelData)
|
||||||
return modelData->flightModeData[index-1].nameToString(index - 1);
|
return modelData->flightModeData[index-1].nameToString(index - 1);
|
||||||
|
|
|
@ -45,6 +45,7 @@ enum RawSwitchType {
|
||||||
SWITCH_TYPE_TIMER_MODE,
|
SWITCH_TYPE_TIMER_MODE,
|
||||||
SWITCH_TYPE_TELEMETRY,
|
SWITCH_TYPE_TELEMETRY,
|
||||||
SWITCH_TYPE_SENSOR,
|
SWITCH_TYPE_SENSOR,
|
||||||
|
SWITCH_TYPE_ACT,
|
||||||
MAX_SWITCH_TYPE
|
MAX_SWITCH_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -200,6 +200,15 @@ HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ui->filterEnable->hide();
|
ui->filterEnable->hide();
|
||||||
|
ui->filterLabel->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IS_STM32(board)) {
|
||||||
|
ui->rtcCheckDisable->setChecked(!generalSettings.rtcCheckDisable);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ui->rtcCheckDisable->hide();
|
||||||
|
ui->rtcCheckLabel->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
disableMouseScrolling();
|
disableMouseScrolling();
|
||||||
|
@ -217,6 +226,11 @@ void HardwarePanel::on_filterEnable_stateChanged()
|
||||||
generalSettings.jitterFilter = !ui->filterEnable->isChecked();
|
generalSettings.jitterFilter = !ui->filterEnable->isChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HardwarePanel::on_rtcCheckDisable_stateChanged()
|
||||||
|
{
|
||||||
|
generalSettings.rtcCheckDisable = !ui->rtcCheckDisable->isChecked();
|
||||||
|
}
|
||||||
|
|
||||||
void HardwarePanel::on_PPM_MultiplierDSB_editingFinished()
|
void HardwarePanel::on_PPM_MultiplierDSB_editingFinished()
|
||||||
{
|
{
|
||||||
int val = (int)(ui->PPM_MultiplierDSB->value()*10)-10;
|
int val = (int)(ui->PPM_MultiplierDSB->value()*10)-10;
|
||||||
|
|
|
@ -49,6 +49,7 @@ class HardwarePanel : public GeneralPanel
|
||||||
void on_txCurrentCalibration_editingFinished();
|
void on_txCurrentCalibration_editingFinished();
|
||||||
void on_txVoltageCalibration_editingFinished();
|
void on_txVoltageCalibration_editingFinished();
|
||||||
void on_filterEnable_stateChanged();
|
void on_filterEnable_stateChanged();
|
||||||
|
void on_rtcCheckDisable_stateChanged();
|
||||||
|
|
||||||
void on_serialPortMode_currentIndexChanged(int index);
|
void on_serialPortMode_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>470</width>
|
<width>470</width>
|
||||||
<height>1585</height>
|
<height>1618</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="43" column="1">
|
<item row="44" column="1">
|
||||||
<widget class="QSpinBox" name="PPM2">
|
<widget class="QSpinBox" name="PPM2">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string/>
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="39" column="1">
|
<item row="40" column="1">
|
||||||
<widget class="QSpinBox" name="txCurrentCalibration">
|
<widget class="QSpinBox" name="txCurrentCalibration">
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>-49</number>
|
<number>-49</number>
|
||||||
|
@ -192,27 +192,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="0">
|
<item row="45" column="1">
|
||||||
<widget class="QLabel" name="rs2Label">
|
|
||||||
<property name="text">
|
|
||||||
<string>RS2</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="40" column="0" colspan="3">
|
|
||||||
<widget class="Line" name="ppmSeparator">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>10</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="44" column="1">
|
|
||||||
<widget class="QSpinBox" name="PPM3">
|
<widget class="QSpinBox" name="PPM3">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string/>
|
||||||
|
@ -231,6 +211,26 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="41" column="0" colspan="3">
|
||||||
|
<widget class="Line" name="ppmSeparator">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>10</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0">
|
||||||
|
<widget class="QLabel" name="rs2Label">
|
||||||
|
<property name="text">
|
||||||
|
<string>RS2</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="13" column="0" colspan="3">
|
<item row="13" column="0" colspan="3">
|
||||||
<widget class="Line" name="potsTypeSeparator_1">
|
<widget class="Line" name="potsTypeSeparator_1">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
|
@ -267,7 +267,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="39" column="0">
|
<item row="40" column="0">
|
||||||
<widget class="QLabel" name="txCurrentCalibrationLabel">
|
<widget class="QLabel" name="txCurrentCalibrationLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Current Offset</string>
|
<string>Current Offset</string>
|
||||||
|
@ -284,7 +284,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="43" column="0">
|
<item row="44" column="0">
|
||||||
<widget class="QLabel" name="label_33">
|
<widget class="QLabel" name="label_33">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>PPM 2</string>
|
<string>PPM 2</string>
|
||||||
|
@ -312,6 +312,9 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="34" column="1">
|
||||||
|
<widget class="AutoComboBox" name="antennaMode"/>
|
||||||
|
</item>
|
||||||
<item row="19" column="1">
|
<item row="19" column="1">
|
||||||
<widget class="AutoLineEdit" name="sfName">
|
<widget class="AutoLineEdit" name="sfName">
|
||||||
<property name="maxLength">
|
<property name="maxLength">
|
||||||
|
@ -322,6 +325,19 @@
|
||||||
<item row="8" column="2">
|
<item row="8" column="2">
|
||||||
<widget class="AutoComboBox" name="pot5Type"/>
|
<widget class="AutoComboBox" name="pot5Type"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="20" column="2">
|
||||||
|
<widget class="AutoComboBox" name="sgType">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="21" column="2">
|
<item row="21" column="2">
|
||||||
<widget class="AutoComboBox" name="shType">
|
<widget class="AutoComboBox" name="shType">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
|
@ -342,17 +358,14 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="20" column="2">
|
<item row="14" column="2">
|
||||||
<widget class="AutoComboBox" name="sgType">
|
<widget class="AutoComboBox" name="saType">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="statusTip">
|
<property name="statusTip">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="whatsThis">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="18" column="2">
|
<item row="18" column="2">
|
||||||
|
@ -375,16 +388,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="14" column="2">
|
|
||||||
<widget class="AutoComboBox" name="saType">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="statusTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="14" column="0">
|
<item row="14" column="0">
|
||||||
<widget class="QLabel" name="saLabel">
|
<widget class="QLabel" name="saLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -434,6 +437,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="AutoComboBox" name="pot2Type">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="29" column="2">
|
<item row="29" column="2">
|
||||||
<widget class="AutoComboBox" name="spType">
|
<widget class="AutoComboBox" name="spType">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
|
@ -447,23 +460,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="1">
|
|
||||||
<widget class="AutoLineEdit" name="rsName">
|
|
||||||
<property name="maxLength">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="2">
|
|
||||||
<widget class="AutoComboBox" name="pot2Type">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="statusTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="35" column="1">
|
<item row="35" column="1">
|
||||||
<widget class="QCheckBox" name="filterEnable">
|
<widget class="QCheckBox" name="filterEnable">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -471,6 +467,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="10" column="1">
|
||||||
|
<widget class="AutoLineEdit" name="rsName">
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="AutoLineEdit" name="rudName">
|
<widget class="AutoLineEdit" name="rudName">
|
||||||
<property name="maxLength">
|
<property name="maxLength">
|
||||||
|
@ -512,7 +515,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="46" column="1">
|
<item row="47" column="1">
|
||||||
<widget class="QDoubleSpinBox" name="PPM_MultiplierDSB">
|
<widget class="QDoubleSpinBox" name="PPM_MultiplierDSB">
|
||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
|
@ -545,6 +548,19 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="31" column="2">
|
||||||
|
<widget class="AutoComboBox" name="srType">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="38" column="0">
|
<item row="38" column="0">
|
||||||
<widget class="QLabel" name="txVoltageCalibrationLabel">
|
<widget class="QLabel" name="txVoltageCalibrationLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -562,19 +578,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="31" column="2">
|
|
||||||
<widget class="AutoComboBox" name="srType">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="statusTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="whatsThis">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="20" column="0">
|
<item row="20" column="0">
|
||||||
<widget class="QLabel" name="sgLabel">
|
<widget class="QLabel" name="sgLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -589,9 +592,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="34" column="1">
|
|
||||||
<widget class="AutoComboBox" name="antennaMode"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="eleLabel">
|
<widget class="QLabel" name="eleLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -599,6 +599,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="22" column="0">
|
||||||
|
<widget class="QLabel" name="siLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>SI</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="7" column="1">
|
<item row="7" column="1">
|
||||||
<widget class="AutoLineEdit" name="pot4Name">
|
<widget class="AutoLineEdit" name="pot4Name">
|
||||||
<property name="maxLength">
|
<property name="maxLength">
|
||||||
|
@ -613,10 +620,10 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="22" column="0">
|
<item row="25" column="0">
|
||||||
<widget class="QLabel" name="siLabel">
|
<widget class="QLabel" name="slLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>SI</string>
|
<string>SL</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -627,13 +634,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="25" column="0">
|
|
||||||
<widget class="QLabel" name="slLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>SL</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="27" column="1">
|
<item row="27" column="1">
|
||||||
<widget class="AutoLineEdit" name="snName">
|
<widget class="AutoLineEdit" name="snName">
|
||||||
<property name="maxLength">
|
<property name="maxLength">
|
||||||
|
@ -688,7 +688,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="45" column="1">
|
<item row="46" column="1">
|
||||||
<widget class="QSpinBox" name="PPM4">
|
<widget class="QSpinBox" name="PPM4">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string/>
|
||||||
|
@ -707,7 +707,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="41" column="0">
|
<item row="42" column="0">
|
||||||
<widget class="QLabel" name="label_23">
|
<widget class="QLabel" name="label_23">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>PPM 1</string>
|
<string>PPM 1</string>
|
||||||
|
@ -727,14 +727,14 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="45" column="0">
|
<item row="46" column="0">
|
||||||
<widget class="QLabel" name="label_35">
|
<widget class="QLabel" name="label_35">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>PPM 4</string>
|
<string>PPM 4</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="41" column="1">
|
<item row="42" column="1">
|
||||||
<widget class="QSpinBox" name="PPM1">
|
<widget class="QSpinBox" name="PPM1">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string/>
|
<string/>
|
||||||
|
@ -766,6 +766,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="15" column="0">
|
||||||
|
<widget class="QLabel" name="sbLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>SB</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="31" column="1">
|
||||||
|
<widget class="AutoLineEdit" name="srName">
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="38" column="1">
|
<item row="38" column="1">
|
||||||
<widget class="QDoubleSpinBox" name="txVoltageCalibration">
|
<widget class="QDoubleSpinBox" name="txVoltageCalibration">
|
||||||
<property name="statusTip">
|
<property name="statusTip">
|
||||||
|
@ -788,21 +802,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="15" column="0">
|
<item row="47" column="0">
|
||||||
<widget class="QLabel" name="sbLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>SB</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="31" column="1">
|
|
||||||
<widget class="AutoLineEdit" name="srName">
|
|
||||||
<property name="maxLength">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="46" column="0">
|
|
||||||
<widget class="QLabel" name="label_30">
|
<widget class="QLabel" name="label_30">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>PPM Multiplier</string>
|
<string>PPM Multiplier</string>
|
||||||
|
@ -903,16 +903,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="34" column="0">
|
|
||||||
<widget class="QLabel" name="antennaLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Antenna</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="27" column="2">
|
<item row="27" column="2">
|
||||||
<widget class="AutoComboBox" name="snType">
|
<widget class="AutoComboBox" name="snType">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
|
@ -933,7 +923,17 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="44" column="0">
|
<item row="34" column="0">
|
||||||
|
<widget class="QLabel" name="antennaLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Antenna</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="45" column="0">
|
||||||
<widget class="QLabel" name="label_34">
|
<widget class="QLabel" name="label_34">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>PPM 3</string>
|
<string>PPM 3</string>
|
||||||
|
@ -1029,6 +1029,26 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="AutoLineEdit" name="eleName">
|
||||||
|
<property name="maxLength">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="26" column="2">
|
||||||
|
<widget class="AutoComboBox" name="smType">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="whatsThis">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="36" column="1">
|
<item row="36" column="1">
|
||||||
<widget class="QComboBox" name="serialPortMode">
|
<widget class="QComboBox" name="serialPortMode">
|
||||||
<item>
|
<item>
|
||||||
|
@ -1058,26 +1078,6 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="AutoLineEdit" name="eleName">
|
|
||||||
<property name="maxLength">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="26" column="2">
|
|
||||||
<widget class="AutoComboBox" name="smType">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="statusTip">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="whatsThis">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="0">
|
<item row="10" column="0">
|
||||||
<widget class="QLabel" name="rsLabel">
|
<widget class="QLabel" name="rsLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1113,6 +1113,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="39" column="1">
|
||||||
|
<widget class="QCheckBox" name="rtcCheckDisable">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="39" column="0">
|
||||||
|
<widget class="QLabel" name="rtcCheckLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>RTC Batt Check</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
|
|
|
@ -217,10 +217,7 @@ ModulePanel::ModulePanel(QWidget * parent, ModelData & model, ModuleData & modul
|
||||||
// The protocols available on this board
|
// The protocols available on this board
|
||||||
for (unsigned int i=0; i<PULSES_PROTOCOL_LAST; i++) {
|
for (unsigned int i=0; i<PULSES_PROTOCOL_LAST; i++) {
|
||||||
if (firmware->isAvailable((PulsesProtocol) i, moduleIdx)) {
|
if (firmware->isAvailable((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(ModuleData::protocolToString(i), i);
|
||||||
ui->protocol->addItem("FrSky R9M Mini", (QVariant) i);
|
|
||||||
else
|
|
||||||
ui->protocol->addItem(ModuleData::protocolToString(i), i);
|
|
||||||
if (i == module.protocol)
|
if (i == module.protocol)
|
||||||
ui->protocol->setCurrentIndex(ui->protocol->count()-1);
|
ui->protocol->setCurrentIndex(ui->protocol->count()-1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ TEST(Conversions, ConversionX9DPFrom22)
|
||||||
EXPECT_STREQ("Thr", model.inputNames[0]);
|
EXPECT_STREQ("Thr", model.inputNames[0]);
|
||||||
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model.sensorData[0].id);
|
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);
|
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("Rud", model1.inputNames[0]);
|
||||||
EXPECT_STREQ("Tes", model1.sensorData[0].label);
|
EXPECT_STREQ("Tes", model1.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model1.sensorData[0].id);
|
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);
|
EXPECT_EQ(RawSource(SOURCE_TYPE_TELEMETRY,0).toValue(), model1.logicalSw[0].val1);
|
||||||
|
|
||||||
const ModelData & model2 = radioData.models[1];
|
const ModelData & model2 = radioData.models[1];
|
||||||
|
@ -96,7 +96,7 @@ TEST(Conversions, ConversionX9DPFrom23)
|
||||||
EXPECT_STREQ("Rud", model2.inputNames[0]);
|
EXPECT_STREQ("Rud", model2.inputNames[0]);
|
||||||
EXPECT_STREQ("Tes", model2.sensorData[0].label);
|
EXPECT_STREQ("Tes", model2.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model2.sensorData[0].id);
|
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);
|
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_STREQ("Tes", model.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model.sensorData[0].id);
|
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(900, model.limitData[0].max); // -100
|
||||||
|
|
||||||
EXPECT_EQ(10, model.flightModeData[0].gvars[0]);
|
EXPECT_EQ(10, model.flightModeData[0].gvars[0]);
|
||||||
|
@ -178,7 +178,7 @@ TEST(Conversions, ConversionXLiteFrom22)
|
||||||
|
|
||||||
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model.sensorData[0].id);
|
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(900, model.limitData[0].max); // -100
|
||||||
|
|
||||||
EXPECT_EQ(LS_FN_VPOS, model.logicalSw[0].func);
|
EXPECT_EQ(LS_FN_VPOS, model.logicalSw[0].func);
|
||||||
|
@ -284,7 +284,7 @@ TEST(Conversions, ConversionX10From22)
|
||||||
EXPECT_STREQ("Rud", model.inputNames[0]);
|
EXPECT_STREQ("Rud", model.inputNames[0]);
|
||||||
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model.sensorData[0].id);
|
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
|
EXPECT_EQ(5 + 2 + 3, model.thrTraceSrc); // CH3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,6 +360,6 @@ TEST(Conversions, ConversionX12SFrom22)
|
||||||
EXPECT_STREQ("Rud", model.inputNames[0]);
|
EXPECT_STREQ("Rud", model.inputNames[0]);
|
||||||
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
EXPECT_STREQ("Tes", model.sensorData[0].label);
|
||||||
EXPECT_EQ(10, model.sensorData[0].id);
|
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
|
EXPECT_EQ(5 + 2 + 3, model.thrTraceSrc); // CH3
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT then
|
elseif event == EVT_VIRTUAL_NEXT then
|
||||||
selectDevice(1)
|
selectDevice(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectDevice(-1)
|
selectDevice(-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -455,15 +455,15 @@ local function runDevicePage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
elseif edit then
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_INC then
|
||||||
incrField(1)
|
incrField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_DEC then
|
||||||
incrField(-1)
|
incrField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -332,15 +332,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -500,7 +500,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -221,15 +221,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -268,15 +268,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -348,7 +348,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -90,7 +90,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT then
|
elseif event == EVT_VIRTUAL_NEXT then
|
||||||
selectDevice(1)
|
selectDevice(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectDevice(-1)
|
selectDevice(-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -452,13 +452,13 @@ local function runDevicePage(event)
|
||||||
elseif edit then
|
elseif edit then
|
||||||
if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
|
if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
|
||||||
incrField(1)
|
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)
|
incrField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -332,15 +332,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -500,7 +500,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -221,15 +221,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -268,15 +268,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -348,7 +348,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -90,7 +90,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT then
|
elseif event == EVT_VIRTUAL_NEXT then
|
||||||
selectDevice(1)
|
selectDevice(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectDevice(-1)
|
selectDevice(-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -450,15 +450,15 @@ local function runDevicePage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
incrField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -332,15 +332,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -500,7 +500,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -221,15 +221,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -268,15 +268,15 @@ local function runFieldsPage(event)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif edit then
|
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)
|
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)
|
addField(-1)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if event == EVT_VIRTUAL_NEXT then
|
if event == EVT_VIRTUAL_NEXT then
|
||||||
selectField(1)
|
selectField(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS then
|
elseif event == EVT_VIRTUAL_PREV then
|
||||||
selectField(-1)
|
selectField(-1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -348,7 +348,7 @@ local function run(event)
|
||||||
return 2
|
return 2
|
||||||
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
elseif event == EVT_VIRTUAL_NEXT_PAGE then
|
||||||
selectPage(1)
|
selectPage(1)
|
||||||
elseif event == EVT_VIRTUAL_PREVIOUS_PAGE then
|
elseif event == EVT_VIRTUAL_PREV_PAGE then
|
||||||
killEvents(event);
|
killEvents(event);
|
||||||
selectPage(-1)
|
selectPage(-1)
|
||||||
end
|
end
|
||||||
|
|
|
@ -343,17 +343,17 @@ enum TelemetryUnit {
|
||||||
enum TelemetryScreenType {
|
enum TelemetryScreenType {
|
||||||
TELEMETRY_SCREEN_TYPE_NONE,
|
TELEMETRY_SCREEN_TYPE_NONE,
|
||||||
TELEMETRY_SCREEN_TYPE_VALUES,
|
TELEMETRY_SCREEN_TYPE_VALUES,
|
||||||
TELEMETRY_SCREEN_TYPE_GAUGES,
|
TELEMETRY_SCREEN_TYPE_BARS,
|
||||||
#if defined(LUA)
|
|
||||||
TELEMETRY_SCREEN_TYPE_SCRIPT,
|
TELEMETRY_SCREEN_TYPE_SCRIPT,
|
||||||
|
#if defined(LUA)
|
||||||
TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_SCRIPT
|
TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_SCRIPT
|
||||||
#else
|
#else
|
||||||
TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_GAUGES
|
TELEMETRY_SCREEN_TYPE_MAX = TELEMETRY_SCREEN_TYPE_BARS
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
#define MAX_TELEMETRY_SCREENS 4
|
#define MAX_TELEMETRY_SCREENS 4
|
||||||
#define TELEMETRY_SCREEN_TYPE(screenIndex) TelemetryScreenType((g_model.screensType >> (2*(screenIndex))) & 0x03)
|
#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_HOLD = 2000;
|
||||||
constexpr int16_t FAILSAFE_CHANNEL_NOPULSE = 2001;
|
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_FIRST (MIXSRC_NONE + 1)
|
||||||
#define MIXSRC_LAST MIXSRC_LAST_CH
|
#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_FIRST MIXSRC_Rud
|
||||||
#define INPUTSRC_LAST MIXSRC_LAST_TELEM
|
#define INPUTSRC_LAST MIXSRC_LAST_TELEM
|
||||||
|
|
||||||
|
|
|
@ -690,7 +690,7 @@ PACK(struct TrainerData {
|
||||||
swarnstate_t switchUnlockStates; \
|
swarnstate_t switchUnlockStates; \
|
||||||
swconfig_t switchConfig; \
|
swconfig_t switchConfig; \
|
||||||
char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \
|
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
|
BLUETOOTH_FIELDS
|
||||||
#elif defined(PCBSKY9X)
|
#elif defined(PCBSKY9X)
|
||||||
#define EXTRA_GENERAL_FIELDS \
|
#define EXTRA_GENERAL_FIELDS \
|
||||||
|
@ -703,7 +703,7 @@ PACK(struct TrainerData {
|
||||||
uint8_t sticksGain; \
|
uint8_t sticksGain; \
|
||||||
uint8_t rotarySteps; \
|
uint8_t rotarySteps; \
|
||||||
char switchNames[STORAGE_NUM_SWITCHES][LEN_SWITCH_NAME]; \
|
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
|
#else
|
||||||
#define EXTRA_GENERAL_FIELDS
|
#define EXTRA_GENERAL_FIELDS
|
||||||
#endif
|
#endif
|
||||||
|
@ -735,7 +735,8 @@ PACK(struct RadioData {
|
||||||
NOBACKUP(int8_t txVoltageCalibration);
|
NOBACKUP(int8_t txVoltageCalibration);
|
||||||
uint8_t backlightMode:3;
|
uint8_t backlightMode:3;
|
||||||
int8_t antennaMode:2;
|
int8_t antennaMode:2;
|
||||||
int8_t spare1:3;
|
uint8_t disableRtcWarning:1;
|
||||||
|
int8_t spare1:2;
|
||||||
NOBACKUP(TrainerData trainer);
|
NOBACKUP(TrainerData trainer);
|
||||||
NOBACKUP(uint8_t view); // index of view in main screen
|
NOBACKUP(uint8_t view); // index of view in main screen
|
||||||
NOBACKUP(BUZZER_FIELD); /* 2bits */
|
NOBACKUP(BUZZER_FIELD); /* 2bits */
|
||||||
|
|
|
@ -246,7 +246,6 @@ void readModelNotes();
|
||||||
#define IS_ROTARY_EVENT(evt) (EVT_KEY_MASK(evt) >= 0x0e)
|
#define IS_ROTARY_EVENT(evt) (EVT_KEY_MASK(evt) >= 0x0e)
|
||||||
void repeatLastCursorMove(event_t event);
|
void repeatLastCursorMove(event_t event);
|
||||||
#define REPEAT_LAST_CURSOR_MOVE() { if (EVT_KEY_MASK(event) >= 0x0e) putEvent(event); else repeatLastCursorMove(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
|
#else
|
||||||
#define IS_ROTARY_LEFT(evt) (0)
|
#define IS_ROTARY_LEFT(evt) (0)
|
||||||
#define IS_ROTARY_RIGHT(evt) (0)
|
#define IS_ROTARY_RIGHT(evt) (0)
|
||||||
|
@ -255,7 +254,6 @@ void readModelNotes();
|
||||||
#define IS_ROTARY_EVENT(evt) (0)
|
#define IS_ROTARY_EVENT(evt) (0)
|
||||||
void repeatLastCursorMove(event_t event);
|
void repeatLastCursorMove(event_t event);
|
||||||
#define REPEAT_LAST_CURSOR_MOVE() repeatLastCursorMove(event)
|
#define REPEAT_LAST_CURSOR_MOVE() repeatLastCursorMove(event)
|
||||||
#define MOVE_CURSOR_FROM_HERE() if (menuHorizontalPosition > 0) REPEAT_LAST_CURSOR_MOVE()
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO enum
|
// TODO enum
|
||||||
|
|
|
@ -52,21 +52,44 @@ enum MenuModelDisplayItems {
|
||||||
#endif
|
#endif
|
||||||
#define DISPLAY_COL3 (17*FW+2)
|
#define DISPLAY_COL3 (17*FW+2)
|
||||||
|
|
||||||
#if defined(LUA)
|
inline uint8_t SCREEN_TYPE_COLUMNS(uint8_t screenIndex)
|
||||||
#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)
|
|
||||||
{
|
{
|
||||||
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 (result == STR_UPDATE_LIST) {
|
||||||
if (!sdListFiles(SCRIPTS_TELEM_PATH, SCRIPTS_EXT, sizeof(g_model.screens[screenIndex].script.file), NULL)) {
|
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
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int skipHiddenLines(int noRows, const uint8_t * mstate_tab, int row)
|
int skipHiddenLines(int noRows, const uint8_t * mstate_tab, int row)
|
||||||
{
|
{
|
||||||
for(int i=0; i<noRows; ++i) {
|
for(int i=0; i<noRows; ++i) {
|
||||||
|
@ -120,7 +142,7 @@ void menuModelDisplay(event_t event)
|
||||||
case ITEM_DISPLAY_SCREEN_LABEL3:
|
case ITEM_DISPLAY_SCREEN_LABEL3:
|
||||||
case ITEM_DISPLAY_SCREEN_LABEL4:
|
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);
|
drawStringWithIndex(0*FW, y, STR_SCREEN, screenIndex+1);
|
||||||
TelemetryScreenType oldScreenType = TELEMETRY_SCREEN_TYPE(screenIndex);
|
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);
|
TelemetryScreenType newScreenType = (TelemetryScreenType)editChoice(DISPLAY_COL2, y, "", STR_VTELEMSCREENTYPE, oldScreenType, 0, TELEMETRY_SCREEN_TYPE_MAX, (menuHorizontalPosition==0 ? attr : 0), event);
|
||||||
|
@ -149,9 +171,6 @@ void menuModelDisplay(event_t event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (attr) {
|
|
||||||
MOVE_CURSOR_FROM_HERE();
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -207,9 +226,6 @@ void menuModelDisplay(event_t event)
|
||||||
drawSourceCustomValue(DISPLAY_COL3, y, bar.source, bar.barMax, (menuHorizontalPosition==2 ? attr : 0) | lf);
|
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) {
|
if (attr && s_editMode>0) {
|
||||||
switch (menuHorizontalPosition) {
|
switch (menuHorizontalPosition) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -612,7 +612,7 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
|
|
||||||
int current = 0;
|
int current = 0;
|
||||||
for (int i = 0; i < switchWarningsCount; i++) {
|
for (int i = 0; i < NUM_SWITCHES; i++) {
|
||||||
if (SWITCH_WARNING_ALLOWED(i)) {
|
if (SWITCH_WARNING_ALLOWED(i)) {
|
||||||
div_t qr = div(current, MAX_SWITCH_PER_LINE);
|
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) {
|
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 (isModuleR9MNonAccess(moduleIdx) || isModuleD16(moduleIdx)) {
|
||||||
#if defined(PCBXLITE)
|
#if defined(PCBXLITE)
|
||||||
if (EVT_KEY_MASK(event) == KEY_ENTER) {
|
if (EVT_KEY_MASK(event) == KEY_ENTER) {
|
||||||
#elif defined(PCBSKY9X) || defined(PCBAR9X)
|
#elif defined(NAVIGATION_9X)
|
||||||
if (event == EVT_KEY_FIRST(KEY_ENTER)) {
|
if (event == EVT_KEY_FIRST(KEY_ENTER)) {
|
||||||
#else
|
#else
|
||||||
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
|
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||||
|
|
|
@ -104,7 +104,7 @@ void menuModelSensor(event_t event)
|
||||||
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
||||||
lcdDrawTextAlignedLeft(y, STR_ID);
|
lcdDrawTextAlignedLeft(y, STR_ID);
|
||||||
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
|
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) {
|
if (attr && s_editMode > 0) {
|
||||||
switch (menuHorizontalPosition) {
|
switch (menuHorizontalPosition) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -64,7 +64,7 @@ void menuRadioDiagKeys(event_t event)
|
||||||
#else
|
#else
|
||||||
if (i < NUM_SWITCHES) {
|
if (i < NUM_SWITCHES) {
|
||||||
if (SWITCH_EXISTS(i)) {
|
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 val = getValue(MIXSRC_FIRST_SWITCH+i);
|
||||||
getvalue_t sw = ((val < 0) ? 3*i+1 : ((val == 0) ? 3*i+2 : 3*i+3));
|
getvalue_t sw = ((val < 0) ? 3*i+1 : ((val == 0) ? 3*i+2 : 3*i+3));
|
||||||
drawSwitch(8*FW+4, y, sw, 0);
|
drawSwitch(8*FW+4, y, sw, 0);
|
||||||
|
|
|
@ -643,7 +643,6 @@ void menuRadioSetup(event_t event)
|
||||||
resumePulses();
|
resumePulses();
|
||||||
waitKeysReleased();
|
waitKeysReleased();
|
||||||
}
|
}
|
||||||
MOVE_CURSOR_FROM_HERE();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,7 +280,6 @@ void menuChannelsView(event_t event);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define REPEAT_LAST_CURSOR_MOVE() { if (CURSOR_MOVED_LEFT(event) || CURSOR_MOVED_RIGHT(event)) putEvent(event); else menuHorizontalPosition = 0; }
|
#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 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)
|
#define POS_HORZ_INIT(posVert) ((COLATTR(posVert) & NAVIGATION_LINE_BY_LINE) ? -1 : 0)
|
||||||
|
|
|
@ -51,21 +51,44 @@ enum MenuModelDisplayItems {
|
||||||
#define DISPLAY_COL2 (16*FW)
|
#define DISPLAY_COL2 (16*FW)
|
||||||
#define DISPLAY_COL3 (28*FW+2)
|
#define DISPLAY_COL3 (28*FW+2)
|
||||||
|
|
||||||
#if defined(LUA)
|
inline uint8_t SCREEN_TYPE_COLUMNS(uint8_t screenIndex)
|
||||||
#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)
|
if (TELEMETRY_SCREEN_TYPE(screenIndex) == TELEMETRY_SCREEN_TYPE_SCRIPT)
|
||||||
#else
|
return 1;
|
||||||
#define SCREEN_TYPE_ROWS 0
|
else
|
||||||
#define DISPLAY_LINE_ROWS(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2)
|
return 0;
|
||||||
#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)))
|
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)
|
#if defined(LUA)
|
||||||
void onTelemetryScriptFileSelectionMenu(const char *result)
|
void onTelemetryScriptFileSelectionMenu(const char *result)
|
||||||
{
|
{
|
||||||
int screenIndex = TELEMETRY_CURRENT_SCREEN(menuVerticalPosition);
|
int screenIndex = DISPLAY_CURRENT_SCREEN(menuVerticalPosition);
|
||||||
|
|
||||||
if (result == STR_UPDATE_LIST) {
|
if (result == STR_UPDATE_LIST) {
|
||||||
if (!sdListFiles(SCRIPTS_TELEM_PATH, SCRIPTS_EXT, sizeof(g_model.screens[screenIndex].script.file), NULL)) {
|
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_LABEL3:
|
||||||
case ITEM_DISPLAY_SCREEN_LABEL4:
|
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);
|
drawStringWithIndex(0*FW, y, STR_SCREEN, screenIndex+1);
|
||||||
TelemetryScreenType oldScreenType = TELEMETRY_SCREEN_TYPE(screenIndex);
|
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);
|
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
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -195,7 +215,7 @@ void menuModelDisplay(event_t event)
|
||||||
|
|
||||||
if (IS_BARS_SCREEN(screenIndex)) {
|
if (IS_BARS_SCREEN(screenIndex)) {
|
||||||
FrSkyBarData & bar = g_model.screens[screenIndex].bars[lineIndex];
|
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;
|
int16_t barMax, barMin;
|
||||||
LcdFlags lf = LEFT;
|
LcdFlags lf = LEFT;
|
||||||
getMixSrcRange(bar.source, barMin, barMax, &lf);
|
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);
|
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) {
|
if (attr && s_editMode>0) {
|
||||||
switch (menuHorizontalPosition) {
|
switch (menuHorizontalPosition) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -114,7 +114,7 @@ void menuModelSensor(event_t event)
|
||||||
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
||||||
lcdDrawTextAlignedLeft(y, STR_ID);
|
lcdDrawTextAlignedLeft(y, STR_ID);
|
||||||
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
|
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) {
|
if (attr) {
|
||||||
switch (menuHorizontalPosition) {
|
switch (menuHorizontalPosition) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -115,7 +115,7 @@ bool menuModelSensor(event_t event)
|
||||||
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
if (sensor->type == TELEM_TYPE_CUSTOM) {
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_ID);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_ID);
|
||||||
lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0));
|
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) {
|
if (attr) {
|
||||||
switch (menuHorizontalPosition) {
|
switch (menuHorizontalPosition) {
|
||||||
case 0:
|
case 0:
|
||||||
|
|
|
@ -54,6 +54,7 @@ enum MenuRadioHardwareItems {
|
||||||
ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right
|
ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right
|
||||||
ITEM_RADIO_HARDWARE_BATTERY_CALIB,
|
ITEM_RADIO_HARDWARE_BATTERY_CALIB,
|
||||||
ITEM_RADIO_HARDWARE_RTC_BATTERY,
|
ITEM_RADIO_HARDWARE_RTC_BATTERY,
|
||||||
|
ITEM_RADIO_HARDWARE_RTC_CHECK,
|
||||||
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
|
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
|
||||||
#if defined(BLUETOOTH)
|
#if defined(BLUETOOTH)
|
||||||
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
|
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
|
||||||
|
@ -123,6 +124,7 @@ bool menuRadioHardware(event_t event)
|
||||||
|
|
||||||
0, /* battery */
|
0, /* battery */
|
||||||
READONLY_ROW, /* RTC */
|
READONLY_ROW, /* RTC */
|
||||||
|
0, /* RTC check */
|
||||||
|
|
||||||
0, /* max baudrate */
|
0, /* max baudrate */
|
||||||
|
|
||||||
|
@ -276,6 +278,14 @@ bool menuRadioHardware(event_t event)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#if defined(BLUETOOTH)
|
#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:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_MODE:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BLUETOOTH);
|
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);
|
g_eeGeneral.bluetoothMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER, attr, event);
|
||||||
|
|
|
@ -151,6 +151,7 @@ enum {
|
||||||
|
|
||||||
#if defined(STM32)
|
#if defined(STM32)
|
||||||
ITEM_RADIO_HARDWARE_RTC_BATTERY,
|
ITEM_RADIO_HARDWARE_RTC_BATTERY,
|
||||||
|
ITEM_RADIO_HARDWARE_RTC_CHECK,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(TX_CAPACITY_MEASUREMENT)
|
#if defined(TX_CAPACITY_MEASUREMENT)
|
||||||
|
@ -257,7 +258,7 @@ void onHardwareAntennaSwitchConfirm(const char * result)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(STM32)
|
#if defined(STM32)
|
||||||
#define RTC_ROW READONLY_ROW,
|
#define RTC_ROW READONLY_ROW, 0,
|
||||||
#else
|
#else
|
||||||
#define RTC_ROW
|
#define RTC_ROW
|
||||||
#endif
|
#endif
|
||||||
|
@ -512,6 +513,10 @@ void menuRadioHardware(event_t event)
|
||||||
lcdDrawTextAlignedLeft(y, STR_RTC_BATT);
|
lcdDrawTextAlignedLeft(y, STR_RTC_BATT);
|
||||||
putsVolts(HW_SETTINGS_COLUMN2, y, getRTCBatteryVoltage(), PREC2|LEFT);
|
putsVolts(HW_SETTINGS_COLUMN2, y, getRTCBatteryVoltage(), PREC2|LEFT);
|
||||||
break;
|
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
|
#endif
|
||||||
|
|
||||||
#if defined(TX_CAPACITY_MEASUREMENT)
|
#if defined(TX_CAPACITY_MEASUREMENT)
|
||||||
|
|
|
@ -408,8 +408,12 @@ void menuRadioSdManager(event_t _event)
|
||||||
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
|
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
|
||||||
if (information.productFamily == FIRMWARE_FAMILY_EXTERNAL_MODULE)
|
if (information.productFamily == FIRMWARE_FAMILY_EXTERNAL_MODULE)
|
||||||
POPUP_MENU_ADD_ITEM(STR_FLASH_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))
|
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER || information.productFamily == FIRMWARE_FAMILY_SENSOR) {
|
||||||
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
|
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 defined(PXX2)
|
||||||
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER)
|
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER)
|
||||||
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);
|
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);
|
||||||
|
|
|
@ -606,6 +606,9 @@ bool isInternalModuleAvailable(int moduleType)
|
||||||
|
|
||||||
bool isExternalModuleAvailable(int moduleType)
|
bool isExternalModuleAvailable(int moduleType)
|
||||||
{
|
{
|
||||||
|
if (moduleType == MODULE_TYPE_R9M_LITE_PRO_PXX1)
|
||||||
|
return false;
|
||||||
|
|
||||||
#if !defined(HARDWARE_EXTERNAL_MODULE_SIZE_SML)
|
#if !defined(HARDWARE_EXTERNAL_MODULE_SIZE_SML)
|
||||||
if (isModuleTypeR9MLite(moduleType) || moduleType == MODULE_TYPE_XJT_LITE_PXX2)
|
if (isModuleTypeR9MLite(moduleType) || moduleType == MODULE_TYPE_XJT_LITE_PXX2)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -58,10 +58,10 @@
|
||||||
#define FIND_FIELD_DESC 0x01
|
#define FIND_FIELD_DESC 0x01
|
||||||
|
|
||||||
#define KEY_EVENTS(xxx, yyy) \
|
#define KEY_EVENTS(xxx, yyy) \
|
||||||
{ "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
|
{ "EVT_"#xxx"_FIRST", EVT_KEY_FIRST(yyy) }, \
|
||||||
{ "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
|
{ "EVT_"#xxx"_BREAK", EVT_KEY_BREAK(yyy) }, \
|
||||||
{ "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
|
{ "EVT_"#xxx"_LONG", EVT_KEY_LONG(yyy) }, \
|
||||||
{ "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
|
{ "EVT_"#xxx"_REPT", EVT_KEY_REPT(yyy) }
|
||||||
|
|
||||||
/*luadoc
|
/*luadoc
|
||||||
@function getVersion()
|
@function getVersion()
|
||||||
|
@ -1383,7 +1383,7 @@ static int luaChdir(lua_State * L)
|
||||||
@function loadScript(file [, mode], [,env])
|
@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)
|
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
|
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.
|
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 },
|
{ "FIXEDWIDTH", FIXEDWIDTH },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Virtual Page Next/Previous
|
// Virtual events
|
||||||
#if defined(KEYS_GPIO_REG_PGUP) && defined(KEYS_GPIO_REG_PGDN)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_FIRST(KEY_PGUP) },
|
{ "EVT_VIRTUAL_PREV", EVT_ROTARY_LEFT },
|
||||||
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_FIRST(KEY_PGDN) },
|
{ "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT },
|
||||||
#elif defined(KEYS_GPIO_REG_PGDN)
|
{ "EVT_VIRTUAL_DEC", EVT_ROTARY_LEFT },
|
||||||
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PGDN) },
|
{ "EVT_VIRTUAL_INC", EVT_ROTARY_RIGHT },
|
||||||
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PGDN) },
|
#elif defined(PCBX9D) || defined(PCBX9DP) // key reverted between field nav and value change
|
||||||
#elif defined(KEYS_GPIO_REG_UP) && defined(KEYS_GPIO_REG_DOWN)
|
{ "EVT_VIRTUAL_PREV", EVT_KEY_FIRST(KEY_PLUS) },
|
||||||
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_UP) },
|
{ "EVT_VIRTUAL_PREV_REPT", EVT_KEY_REPT(KEY_PLUS) },
|
||||||
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_LONG(KEY_DOWN) },
|
{ "EVT_VIRTUAL_NEXT", EVT_KEY_FIRST(KEY_MINUS) },
|
||||||
#elif defined(KEYS_GPIO_REG_PAGE)
|
{ "EVT_VIRTUAL_NEXT_REPT", EVT_KEY_REPT(KEY_MINUS) },
|
||||||
{ "EVT_VIRTUAL_PREVIOUS_PAGE", EVT_KEY_LONG(KEY_PAGE) },
|
{ "EVT_VIRTUAL_DEC", EVT_KEY_FIRST(KEY_MINUS) },
|
||||||
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
|
{ "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
|
#endif
|
||||||
|
|
||||||
// Virtual exit
|
#if defined(NAVIGATION_9X) || defined(NAVIGATION_XLITE)
|
||||||
{ "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
|
{ "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_UP) },
|
||||||
|
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_UP) },
|
||||||
// Virtual enter
|
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_DOWN) },
|
||||||
#if defined(KEYS_GPIO_REG_ENTER)
|
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_DOWN) },
|
||||||
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
|
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
|
||||||
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
|
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
|
||||||
#endif
|
{ "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
|
||||||
|
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
|
||||||
// Virtual menu
|
{ "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_PAGE) },
|
||||||
#if defined(KEYS_GPIO_REG_MENU)
|
{ "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) },
|
||||||
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) },
|
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) },
|
||||||
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) },
|
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) },
|
||||||
#elif defined(KEYS_GPIO_REG_SHIFT)
|
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
|
||||||
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_SHIFT) },
|
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
|
||||||
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_SHIFT) },
|
{ "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
|
#endif
|
||||||
|
{ "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MODEL) },
|
||||||
// Virtual generic plus-next-right minus-previous-left
|
{ "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MODEL) },
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
{ "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) },
|
||||||
{ "EVT_VIRTUAL_NEXT", EVT_ROTARY_RIGHT},
|
{ "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) },
|
||||||
{ "EVT_VIRTUAL_PREVIOUS", EVT_ROTARY_LEFT },
|
{ "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) },
|
||||||
#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) },
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(KEYS_GPIO_REG_EXIT)
|
#if defined(KEYS_GPIO_REG_EXIT)
|
||||||
|
|
|
@ -869,10 +869,13 @@ static void checkRTCBattery()
|
||||||
void checkFailsafe()
|
void checkFailsafe()
|
||||||
{
|
{
|
||||||
for (int i=0; i<NUM_MODULES; i++) {
|
for (int i=0; i<NUM_MODULES; i++) {
|
||||||
|
#if defined(MULTIMODULE)
|
||||||
if (isModuleMultimodule(i)) {
|
if (isModuleMultimodule(i)) {
|
||||||
getMultiModuleStatus(i).requiresFailsafeCheck = true;
|
getMultiModuleStatus(i).requiresFailsafeCheck = true;
|
||||||
}
|
}
|
||||||
else if (isModuleFailsafeAvailable(i)) {
|
else
|
||||||
|
#endif
|
||||||
|
if (isModuleFailsafeAvailable(i)) {
|
||||||
ModuleData & moduleData = g_model.moduleData[i];
|
ModuleData & moduleData = g_model.moduleData[i];
|
||||||
if (moduleData.failsafeMode == FAILSAFE_NOT_SET) {
|
if (moduleData.failsafeMode == FAILSAFE_NOT_SET) {
|
||||||
ALERT(STR_FAILSAFEWARN, STR_NO_FAILSAFE, AU_ERROR);
|
ALERT(STR_FAILSAFEWARN, STR_NO_FAILSAFE, AU_ERROR);
|
||||||
|
@ -912,7 +915,8 @@ void checkAll()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(STM32)
|
#if defined(STM32)
|
||||||
checkRTCBattery();
|
if (!g_eeGeneral.disableRtcWarning)
|
||||||
|
checkRTCBattery();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (g_model.displayChecklist && modelHasNotes()) {
|
if (g_model.displayChecklist && modelHasNotes()) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ enum ModuleType {
|
||||||
MODULE_TYPE_R9M_PXX2,
|
MODULE_TYPE_R9M_PXX2,
|
||||||
MODULE_TYPE_R9M_LITE_PXX1,
|
MODULE_TYPE_R9M_LITE_PXX1,
|
||||||
MODULE_TYPE_R9M_LITE_PXX2,
|
MODULE_TYPE_R9M_LITE_PXX2,
|
||||||
MODULE_TYPE_R9M_LITE_PRO_PXX1,
|
MODULE_TYPE_R9M_LITE_PRO_PXX1, // Doesn't exist
|
||||||
MODULE_TYPE_R9M_LITE_PRO_PXX2,
|
MODULE_TYPE_R9M_LITE_PRO_PXX2,
|
||||||
MODULE_TYPE_SBUS,
|
MODULE_TYPE_SBUS,
|
||||||
MODULE_TYPE_XJT_LITE_PXX2,
|
MODULE_TYPE_XJT_LITE_PXX2,
|
||||||
|
|
|
@ -1226,7 +1226,7 @@ void convertModelData_217_to_218(ModelData &model)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (((oldModel.frsky.screensType >> (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++) {
|
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);
|
newModel.frsky.screens[i].bars[j].source = convertSource_217_to_218(oldModel.frsky.screens[i].bars[j].source);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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++) {
|
for (int j = 0; j < 4; j++) {
|
||||||
newModel.screens[i].bars[j].source = convertSource_218_to_219(oldModel.frsky.screens[i].bars[j].source);
|
newModel.screens[i].bars[j].source = convertSource_218_to_219(oldModel.frsky.screens[i].bars[j].source);
|
||||||
}
|
}
|
||||||
|
|
|
@ -504,7 +504,7 @@ PACK(struct ModelData_v218 {
|
||||||
swarnstate218_t switchUnlockStates; \
|
swarnstate218_t switchUnlockStates; \
|
||||||
swconfig218_t switchConfig; \
|
swconfig218_t switchConfig; \
|
||||||
char switchNames[NUM_SWITCHES_218][LEN_SWITCH_NAME_218]; \
|
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
|
BLUETOOTH_FIELDS_218
|
||||||
#elif defined(PCBSKY9X)
|
#elif defined(PCBSKY9X)
|
||||||
#define EXTRA_GENERAL_FIELDS_218 \
|
#define EXTRA_GENERAL_FIELDS_218 \
|
||||||
|
@ -517,7 +517,7 @@ PACK(struct ModelData_v218 {
|
||||||
uint8_t sticksGain; \
|
uint8_t sticksGain; \
|
||||||
uint8_t rotarySteps; \
|
uint8_t rotarySteps; \
|
||||||
char switchNames[NUM_SWITCHES_218][LEN_SWITCH_NAME_218]; \
|
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
|
#else
|
||||||
#define EXTRA_GENERAL_FIELDS_218 EXTRA_GENERAL_FIELDS_GENERAL_218
|
#define EXTRA_GENERAL_FIELDS_218 EXTRA_GENERAL_FIELDS_GENERAL_218
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#define SWITCH_WARNING_LIST_Y 4*FH+4
|
#define SWITCH_WARNING_LIST_Y 4*FH+4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
enum LogicalSwitchContextState {
|
enum LogicalSwitchContextState {
|
||||||
SWITCH_START,
|
SWITCH_START,
|
||||||
SWITCH_DELAY,
|
SWITCH_DELAY,
|
||||||
|
|
|
@ -40,6 +40,7 @@ if (PCB STREQUAL X10)
|
||||||
set(FONTS_TARGET x10_fonts)
|
set(FONTS_TARGET x10_fonts)
|
||||||
set(LCD_DRIVER lcd_driver.cpp)
|
set(LCD_DRIVER lcd_driver.cpp)
|
||||||
set(LUA_EXPORT lua_export_x10)
|
set(LUA_EXPORT lua_export_x10)
|
||||||
|
set(INTERNAL_GPS OFF)
|
||||||
if (PCBREV STREQUAL EXPRESS)
|
if (PCBREV STREQUAL EXPRESS)
|
||||||
set(FLAVOUR x10express)
|
set(FLAVOUR x10express)
|
||||||
option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" OFF)
|
option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" OFF)
|
||||||
|
|
|
@ -592,7 +592,7 @@ uint8_t gpsGetByte(uint8_t * byte);
|
||||||
extern uint8_t gpsTraceEnabled;
|
extern uint8_t gpsTraceEnabled;
|
||||||
#endif
|
#endif
|
||||||
void gpsSendByte(uint8_t byte);
|
void gpsSendByte(uint8_t byte);
|
||||||
#if defined(PCBX12S)
|
#if defined(INTERNAL_GPS)
|
||||||
#define PILOTPOS_MIN_HDOP 500
|
#define PILOTPOS_MIN_HDOP 500
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,7 @@ void adcInit()
|
||||||
|
|
||||||
uint16_t getRTCBatteryVoltage()
|
uint16_t getRTCBatteryVoltage()
|
||||||
{
|
{
|
||||||
return (rtcBatteryVoltage * ADC_VREF_PREC2) / 2048;
|
return (rtcBatteryVoltage * 2 * ADC_VREF_PREC2) / 2048;
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint16_t adcCommands[MOUSE1+2] =
|
const uint16_t adcCommands[MOUSE1+2] =
|
||||||
|
|
|
@ -498,14 +498,19 @@ enum Analogs {
|
||||||
#define NUM_SLIDERS 4
|
#define NUM_SLIDERS 4
|
||||||
#define STORAGE_NUM_POTS 4
|
#define STORAGE_NUM_POTS 4
|
||||||
#define STORAGE_NUM_SLIDERS 4
|
#define STORAGE_NUM_SLIDERS 4
|
||||||
#else
|
#elif defined(PCBX9DP)
|
||||||
#define NUM_POTS 3
|
#define NUM_POTS 3
|
||||||
#define NUM_SLIDERS 2
|
#define NUM_SLIDERS 2
|
||||||
#define STORAGE_NUM_POTS 3
|
#define STORAGE_NUM_POTS 3
|
||||||
#define STORAGE_NUM_SLIDERS 2
|
#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
|
#endif
|
||||||
|
|
||||||
#define NUM_XPOTS NUM_POTS
|
#define NUM_XPOTS STORAGE_NUM_POTS
|
||||||
#define NUM_TRIMS 4
|
#define NUM_TRIMS 4
|
||||||
#define NUM_MOUSE_ANALOGS 0
|
#define NUM_MOUSE_ANALOGS 0
|
||||||
#define STORAGE_NUM_MOUSE_ANALOGS 0
|
#define STORAGE_NUM_MOUSE_ANALOGS 0
|
||||||
|
|
|
@ -531,8 +531,8 @@
|
||||||
#define HARDWARE_SWITCH_J
|
#define HARDWARE_SWITCH_J
|
||||||
#define SWITCHES_GPIO_REG_I GPIOC->IDR
|
#define SWITCHES_GPIO_REG_I GPIOC->IDR
|
||||||
#define SWITCHES_GPIO_PIN_I GPIO_Pin_13 // PC.13
|
#define SWITCHES_GPIO_PIN_I GPIO_Pin_13 // PC.13
|
||||||
#define SWITCHES_GPIO_REG_J GPIOC->IDR
|
#define SWITCHES_GPIO_REG_J GPIOD->IDR
|
||||||
#define SWITCHES_GPIO_PIN_J GPIO_Pin_10 // PC.10
|
#define SWITCHES_GPIO_PIN_J GPIO_Pin_10 // PD.10
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PCBX9E)
|
#if defined(PCBX9E)
|
||||||
|
@ -642,8 +642,8 @@
|
||||||
#elif defined(RADIO_X7)
|
#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_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_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_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_11 | GPIO_Pin_14 | GPIO_Pin_15)
|
#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)
|
#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)
|
#elif defined(PCBX9LITES)
|
||||||
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE)
|
#define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE)
|
||||||
|
|
|
@ -199,6 +199,8 @@ uint32_t switchState(uint8_t index)
|
||||||
ADD_3POS_CASE(D, 3);
|
ADD_3POS_CASE(D, 3);
|
||||||
ADD_2POS_CASE(F);
|
ADD_2POS_CASE(F);
|
||||||
ADD_2POS_CASE(H);
|
ADD_2POS_CASE(H);
|
||||||
|
ADD_2POS_CASE(I);
|
||||||
|
ADD_2POS_CASE(J);
|
||||||
#else
|
#else
|
||||||
ADD_3POS_CASE(D, 3);
|
ADD_3POS_CASE(D, 3);
|
||||||
ADD_3POS_CASE(E, 4);
|
ADD_3POS_CASE(E, 4);
|
||||||
|
|
|
@ -574,6 +574,7 @@ const char STR_MENU_DISPLAY[] = TR_MENU_DISPLAY;
|
||||||
const char STR_MENU_OTHER[] = TR_MENU_OTHER;
|
const char STR_MENU_OTHER[] = TR_MENU_OTHER;
|
||||||
const char STR_MENU_INVERT[] = TR_MENU_INVERT;
|
const char STR_MENU_INVERT[] = TR_MENU_INVERT;
|
||||||
const char STR_JITTER_FILTER[] = TR_JITTER_FILTER;
|
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_EXIT[] = TR_EXIT;
|
||||||
const char STR_MODULE_RANGE[] = TR_MODULE_RANGE;
|
const char STR_MODULE_RANGE[] = TR_MODULE_RANGE;
|
||||||
const char STR_RECEIVER_OPTIONS[] = TR_RECEIVER_OPTIONS;
|
const char STR_RECEIVER_OPTIONS[] = TR_RECEIVER_OPTIONS;
|
||||||
|
|
|
@ -853,6 +853,7 @@ extern const char STR_MENU_DISPLAY[];
|
||||||
extern const char STR_MENU_OTHER[];
|
extern const char STR_MENU_OTHER[];
|
||||||
extern const char STR_MENU_INVERT[];
|
extern const char STR_MENU_INVERT[];
|
||||||
extern const char STR_JITTER_FILTER[];
|
extern const char STR_JITTER_FILTER[];
|
||||||
|
extern const char STR_RTC_CHECK[];
|
||||||
|
|
||||||
#if MENUS_LOCK == 1
|
#if MENUS_LOCK == 1
|
||||||
extern const char STR_UNLOCKED[];
|
extern const char STR_UNLOCKED[];
|
||||||
|
|
|
@ -1147,6 +1147,7 @@
|
||||||
#define TR_MENU_OTHER "Ostatní"
|
#define TR_MENU_OTHER "Ostatní"
|
||||||
#define TR_MENU_INVERT "Invertovat"
|
#define TR_MENU_INVERT "Invertovat"
|
||||||
#define TR_JITTER_FILTER "ADC Filtr"
|
#define TR_JITTER_FILTER "ADC Filtr"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1152,6 +1152,7 @@
|
||||||
#define TR_MENU_OTHER "Weitere"
|
#define TR_MENU_OTHER "Weitere"
|
||||||
#define TR_MENU_INVERT "Invertieren<!>"
|
#define TR_MENU_INVERT "Invertieren<!>"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1151,6 +1151,7 @@
|
||||||
#define TR_MENU_OTHER "Other"
|
#define TR_MENU_OTHER "Other"
|
||||||
#define TR_MENU_INVERT "Invert"
|
#define TR_MENU_INVERT "Invert"
|
||||||
#define TR_JITTER_FILTER "ADC filter"
|
#define TR_JITTER_FILTER "ADC filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1172,6 +1172,7 @@
|
||||||
#define TR_MENU_OTHER "Other"
|
#define TR_MENU_OTHER "Other"
|
||||||
#define TR_MENU_INVERT "Invert"
|
#define TR_MENU_INVERT "Invert"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1160,6 +1160,7 @@
|
||||||
#define TR_MENU_OTHER "Other"
|
#define TR_MENU_OTHER "Other"
|
||||||
#define TR_MENU_INVERT "Invert"
|
#define TR_MENU_INVERT "Invert"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -455,10 +455,10 @@
|
||||||
#endif
|
#endif
|
||||||
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
|
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
|
||||||
#define TR_PPMFRAME INDENT "Trame PPM"
|
#define TR_PPMFRAME INDENT "Trame PPM"
|
||||||
#define TR_REFRESHRATE TR(INDENT "Refresh", INDENT "Refresh rate")
|
#define TR_REFRESHRATE INDENT "Période"
|
||||||
#define STR_WARN_BATTVOLTAGE TR(INDENT "Output is VBAT: ", INDENT "Warning: output level is VBAT: ")
|
#define STR_WARN_BATTVOLTAGE TR(INDENT "Signal est VBAT: ", INDENT "ATTENTION: signal est à VBAT: ")
|
||||||
#define TR_MS "ms"
|
#define TR_MS "ms"
|
||||||
#define TR_FREQUENCY INDENT "Frequency"
|
#define TR_FREQUENCY INDENT "Fréquence"
|
||||||
#define TR_SWITCH TR("Inter", "Interrupteur")
|
#define TR_SWITCH TR("Inter", "Interrupteur")
|
||||||
#define TR_TRIMS "Trims"
|
#define TR_TRIMS "Trims"
|
||||||
#define TR_FADEIN "Fondu ON"
|
#define TR_FADEIN "Fondu ON"
|
||||||
|
@ -478,12 +478,12 @@
|
||||||
#define TR_SUBTYPE INDENT "Sous-type"
|
#define TR_SUBTYPE INDENT "Sous-type"
|
||||||
#define TR_NOFREEEXPO "Max expos atteint!"
|
#define TR_NOFREEEXPO "Max expos atteint!"
|
||||||
#define TR_NOFREEMIXER "Max mixages atteint!"
|
#define TR_NOFREEMIXER "Max mixages atteint!"
|
||||||
#define TR_SOURCE "Source"
|
#define TR_SOURCE "Source"
|
||||||
#define TR_WEIGHT "Ratio"
|
#define TR_WEIGHT "Ratio"
|
||||||
#define TR_EXPO TR("Expo", "Exponentiel")
|
#define TR_EXPO TR("Expo", "Exponentiel")
|
||||||
#define TR_SIDE "Coté"
|
#define TR_SIDE "Coté"
|
||||||
#define TR_DIFFERENTIAL "Différentiel"
|
#define TR_DIFFERENTIAL "Différentiel"
|
||||||
#define TR_OFFSET "Décalage"
|
#define TR_OFFSET "Décalage"
|
||||||
#define TR_TRIM "Trim"
|
#define TR_TRIM "Trim"
|
||||||
#define TR_DREX "DRex"
|
#define TR_DREX "DRex"
|
||||||
#define DREX_CHBOX_OFFSET 30
|
#define DREX_CHBOX_OFFSET 30
|
||||||
|
@ -491,8 +491,8 @@
|
||||||
#define TR_FLMODE TR("Phase", "Phases")
|
#define TR_FLMODE TR("Phase", "Phases")
|
||||||
#define TR_MIXWARNING "Alerte"
|
#define TR_MIXWARNING "Alerte"
|
||||||
#define TR_OFF "OFF"
|
#define TR_OFF "OFF"
|
||||||
#define TR_ANTENNA "Antenna"
|
#define TR_ANTENNA "Antenne"
|
||||||
#define TR_NO_INFORMATION TR("No info", "No information")
|
#define TR_NO_INFORMATION TR("Pas d'info", "Pas d'information")
|
||||||
#define TR_MULTPX "Opération"
|
#define TR_MULTPX "Opération"
|
||||||
#define TR_DELAYDOWN "Retard bas"
|
#define TR_DELAYDOWN "Retard bas"
|
||||||
#define TR_DELAYUP "Retard haut"
|
#define TR_DELAYUP "Retard haut"
|
||||||
|
@ -516,7 +516,7 @@
|
||||||
#define TR_HAPTIC_LABEL "Vibreur"
|
#define TR_HAPTIC_LABEL "Vibreur"
|
||||||
#define TR_HAPTICSTRENGTH INDENT "Force"
|
#define TR_HAPTICSTRENGTH INDENT "Force"
|
||||||
#define TR_GYRO_LABEL "Gyro"
|
#define TR_GYRO_LABEL "Gyro"
|
||||||
#define TR_GYRO_OFFSET "Offset"
|
#define TR_GYRO_OFFSET "Décalage"
|
||||||
#define TR_GYRO_MAX "Max"
|
#define TR_GYRO_MAX "Max"
|
||||||
#define TR_CONTRAST "Contraste"
|
#define TR_CONTRAST "Contraste"
|
||||||
#define TR_ALARMS_LABEL "Alarmes"
|
#define TR_ALARMS_LABEL "Alarmes"
|
||||||
|
@ -540,8 +540,8 @@
|
||||||
#define TR_BLOFFBRIGHTNESS INDENT "Luminosité OFF"
|
#define TR_BLOFFBRIGHTNESS INDENT "Luminosité OFF"
|
||||||
#define TR_BLCOLOR INDENT "Couleur"
|
#define TR_BLCOLOR INDENT "Couleur"
|
||||||
#define TR_SPLASHSCREEN "Logo d'accueil"
|
#define TR_SPLASHSCREEN "Logo d'accueil"
|
||||||
#define TR_PWR_ON_DELAY "Pwr On delay"
|
#define TR_PWR_ON_DELAY "Délai btn ON"
|
||||||
#define TR_PWR_OFF_DELAY "Pwr Off delay"
|
#define TR_PWR_OFF_DELAY "Délai btn OFF"
|
||||||
#define TR_THROTTLEWARNING TR(INDENT "Alerte gaz", INDENT "Alerte gaz")
|
#define TR_THROTTLEWARNING TR(INDENT "Alerte gaz", INDENT "Alerte gaz")
|
||||||
#define TR_SWITCHWARNING TR(INDENT "Alerte int", INDENT "Pos. interrupteurs")
|
#define TR_SWITCHWARNING TR(INDENT "Alerte int", INDENT "Pos. interrupteurs")
|
||||||
#define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders")
|
#define TR_POTWARNINGSTATE TR(INDENT "Pot&Slid.", INDENT "Pots & sliders")
|
||||||
|
@ -579,11 +579,11 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "NO DATA"
|
#define TR_NODATA CENTER "NO DATA"
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
|
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
|
||||||
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
|
|
||||||
#define TR_MENUTORESET TR_ENTER" pour reset"
|
#define TR_MENUTORESET TR_ENTER" pour reset"
|
||||||
#define TR_PPM_TRAINER "TR"
|
#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_RFTUNE TR(INDENT "Ajust.fréq", INDENT "Ajustement fréq.")
|
||||||
#define TR_MULTI_TELEMETRY "Télémétrie"
|
#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_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_RFPOWER TR(INDENT "Puiss. RF", INDENT "Puissance RF")
|
||||||
#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID")
|
#define TR_MULTI_FIXEDID "ID fixe"
|
||||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option perso")
|
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option perso")
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Bind auto", INDENT "Bind automatique")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Bind auto", INDENT "Bind automatique")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodét.", INDENT "Autodétection")
|
#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_CAT_NOT_EMPTY "Categorie non vide"
|
||||||
#define TR_SDCARD_ERROR "Erreur carte SD"
|
#define TR_SDCARD_ERROR "Erreur carte SD"
|
||||||
#define TR_NO_SDCARD "Carte SD indisponible"
|
#define TR_NO_SDCARD "Carte SD indisponible"
|
||||||
#define TR_WAITING_FOR_RX "Waiting for RX..."
|
#define TR_WAITING_FOR_RX "Attente du RX..."
|
||||||
#define TR_WAITING_FOR_TX "Waiting for TX..."
|
#define TR_WAITING_FOR_TX "Attente du TX..."
|
||||||
#define TR_NO_TOOLS "No tools available"
|
#define TR_NO_TOOLS "Pas d'outils dispo"
|
||||||
#define TR_NORMAL "Normal"
|
#define TR_NORMAL "Normal"
|
||||||
#define TR_NOT_INVERTED "Not inv"
|
#define TR_NOT_INVERTED "Non inv"
|
||||||
#define TR_NOT_CONNECTED "!Connected"
|
#define TR_NOT_CONNECTED "!Connecté"
|
||||||
#define TR_CONNECTED "Connected"
|
#define TR_CONNECTED "Connecté"
|
||||||
#define TR_FLEX_915 "Flex 915MHz"
|
#define TR_FLEX_915 "Flex 915MHz"
|
||||||
#define TR_FLEX_868 "Flex 868MHz"
|
#define TR_FLEX_868 "Flex 868MHz"
|
||||||
#define TR_16CH_WITHOUT_TELEMETRY TR("16CH without telem.", "16CH without telemetry")
|
#define TR_16CH_WITHOUT_TELEMETRY TR("16CH sans télém.", "16CH sans télémétrie")
|
||||||
#define TR_16CH_WITH_TELEMETRY TR("16CH with telem.", "16CH with telemetry")
|
#define TR_16CH_WITH_TELEMETRY TR("16CH avec télém.", "16CH avec télémétrie")
|
||||||
#define TR_8CH_WITH_TELEMETRY TR("8CH with telem.", "8CH with telemetry")
|
#define TR_8CH_WITH_TELEMETRY TR("8CH avec télém.", "8CH avec télémétrie")
|
||||||
#define TR_EXT_ANTENNA "Ext. antenna"
|
#define TR_EXT_ANTENNA "Antenne externe"
|
||||||
#define TR_PIN "Pin"
|
#define TR_PIN "Pin"
|
||||||
#define TR_UPDATE_RX_OPTIONS "Update RX options?"
|
#define TR_UPDATE_RX_OPTIONS "Sauver options RX?"
|
||||||
#define TR_UPDATE_TX_OPTIONS "Update TX options?"
|
#define TR_UPDATE_TX_OPTIONS "Sauver options TX?"
|
||||||
#define TR_MODULES_RX_VERSION "Modules / RX version"
|
#define TR_MODULES_RX_VERSION "Versions modules / RX"
|
||||||
#define TR_MENU_MODULES_RX_VERSION "MODULES / RX VERSION"
|
#define TR_MENU_MODULES_RX_VERSION "VERSIONS MODULES / RX "
|
||||||
#define TR_MENU_FIRM_OPTIONS "FIRMWARE OPTIONS"
|
#define TR_MENU_FIRM_OPTIONS "OPTIONS FIRMWARE"
|
||||||
#define TR_GYRO "Gyro"
|
#define TR_GYRO "Gyro"
|
||||||
#define TR_STICKS_POTS_SLIDERS "Sticks/Pots/Sliders"
|
#define TR_STICKS_POTS_SLIDERS "Manches/Pots/leviers"
|
||||||
#define TR_PWM_STICKS_POTS_SLIDERS "PWM Sticks/Pots/Sliders"
|
#define TR_PWM_STICKS_POTS_SLIDERS "Manches PWM/Pots/leviers"
|
||||||
#define TR_RF_PROTOCOL "RF Protocol"
|
#define TR_RF_PROTOCOL "Protocole RF"
|
||||||
#define TR_MODULE_OPTIONS "Module options"
|
#define TR_MODULE_OPTIONS "Options module"
|
||||||
#define TR_POWER "Power"
|
#define TR_POWER "Puissance"
|
||||||
#define TR_NO_TX_OPTIONS "No TX options"
|
#define TR_NO_TX_OPTIONS "Pas d'options TX"
|
||||||
#define TR_RTC_BATT "RTC Batt"
|
#define TR_RTC_BATT "Pile RTC"
|
||||||
#define TR_POWER_METER_EXT "Power Meter (EXT)"
|
#define TR_POWER_METER_EXT "Puissancemètre (EXT)"
|
||||||
#define TR_POWER_METER_INT "Power Meter (INT)"
|
#define TR_POWER_METER_INT "Puissancemètre (INT)"
|
||||||
#define TR_SPECTRUM_ANALYSER_EXT "Spectrum (EXT)"
|
#define TR_SPECTRUM_ANALYSER_EXT TR("Spectre (EXT)", "Analyseur spectre (EXT)")
|
||||||
#define TR_SPECTRUM_ANALYSER_INT "Spectrum (INT)"
|
#define TR_SPECTRUM_ANALYSER_INT TR("Spectre (INT)", "Analyseur spectre (INT)")
|
||||||
#define TR_SDCARD_FULL "Carte SD pleine"
|
#define TR_SDCARD_FULL "Carte SD pleine"
|
||||||
#define TR_INCOMPATIBLE "Incompatible"
|
#define TR_INCOMPATIBLE "Incompatible"
|
||||||
#define TR_WARNING "ALERTE"
|
#define TR_WARNING "ALERTE"
|
||||||
|
@ -748,9 +748,9 @@
|
||||||
#define TR_NIGHTLY_WARNING TR("NIGHTLY", "NIGHTLY BUILD")
|
#define TR_NIGHTLY_WARNING TR("NIGHTLY", "NIGHTLY BUILD")
|
||||||
#define TR_NIGHTLY_NOTSAFE "Version de test uniq."
|
#define TR_NIGHTLY_NOTSAFE "Version de test uniq."
|
||||||
#define TR_WRONG_SDCARDVERSION "Version requise: "
|
#define TR_WRONG_SDCARDVERSION "Version requise: "
|
||||||
#define TR_WARN_RTC_BATTERY_LOW "RTC Battery low"
|
#define TR_WARN_RTC_BATTERY_LOW "Batterie RTC faible"
|
||||||
#define TR_WARN_MULTI_LOWPOWER "Low power mode"
|
#define TR_WARN_MULTI_LOWPOWER "Mode basse puis."
|
||||||
#define TR_BATTERY "BATTERY"
|
#define TR_BATTERY "BATTERIE"
|
||||||
#define TR_WRONG_PCBREV "PCB incorrect détecté"
|
#define TR_WRONG_PCBREV "PCB incorrect détecté"
|
||||||
#define TR_EMERGENCY_MODE "MODE SECOURS"
|
#define TR_EMERGENCY_MODE "MODE SECOURS"
|
||||||
#define TR_PCBREV_ERROR "Erreur PCB"
|
#define TR_PCBREV_ERROR "Erreur PCB"
|
||||||
|
@ -799,11 +799,11 @@
|
||||||
#define TR_TIME "Heure"
|
#define TR_TIME "Heure"
|
||||||
#define TR_MAXBAUDRATE "Max bauds"
|
#define TR_MAXBAUDRATE "Max bauds"
|
||||||
#define TR_BLUETOOTH "Bluetooth"
|
#define TR_BLUETOOTH "Bluetooth"
|
||||||
#define TR_BLUETOOTH_DISC "Discover"
|
#define TR_BLUETOOTH_DISC "Découvrir"
|
||||||
#define TR_BLUETOOTH_INIT "Init"
|
#define TR_BLUETOOTH_INIT "Init"
|
||||||
#define TR_BLUETOOTH_DIST_ADDR INDENT "Dist addr"
|
#define TR_BLUETOOTH_DIST_ADDR INDENT "Addr dist."
|
||||||
#define TR_BLUETOOTH_LOCAL_ADDR INDENT "Local addr"
|
#define TR_BLUETOOTH_LOCAL_ADDR INDENT "Addr locale"
|
||||||
#define TR_BLUETOOTH_PIN_CODE "PIN code"
|
#define TR_BLUETOOTH_PIN_CODE "Code PIN"
|
||||||
#define TR_BAUDRATE "Baudrate BT"
|
#define TR_BAUDRATE "Baudrate BT"
|
||||||
#define LEN_BLUETOOTH_MODES "\012"
|
#define LEN_BLUETOOTH_MODES "\012"
|
||||||
#if defined(PCBX9E)
|
#if defined(PCBX9E)
|
||||||
|
@ -831,9 +831,9 @@
|
||||||
#define TR_VIEW_TEXT "Voir texte"
|
#define TR_VIEW_TEXT "Voir texte"
|
||||||
#define TR_FLASH_BOOTLOADER "Flasher BootLoader"
|
#define TR_FLASH_BOOTLOADER "Flasher BootLoader"
|
||||||
#define TR_FLASH_EXTERNAL_DEVICE TR("Flasher S.Port", "Flasher S.Port externe")
|
#define TR_FLASH_EXTERNAL_DEVICE TR("Flasher S.Port", "Flasher S.Port externe")
|
||||||
#define TR_FLASH_RECEIVER_OTA "Flash receiver OTA"
|
#define TR_FLASH_RECEIVER_OTA "Flasher RX OTA"
|
||||||
#define TR_FLASH_BLUETOOTH_MODULE TR("Flash BT module", "Flash Bluetooth module")
|
#define TR_FLASH_BLUETOOTH_MODULE TR("Flash module BT", "Flash module Bluetooth")
|
||||||
#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flash pwr mngt unit"
|
#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flasher pwr mngt unit"
|
||||||
#define TR_CURRENT_VERSION "Version courante :"
|
#define TR_CURRENT_VERSION "Version courante :"
|
||||||
#define TR_FLASH_INTERNAL_MODULE TR("Flasher module int.", "Flasher module interne")
|
#define TR_FLASH_INTERNAL_MODULE TR("Flasher module int.", "Flasher module interne")
|
||||||
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "Flash Internal Multi")
|
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "Flash Internal Multi")
|
||||||
|
@ -844,16 +844,16 @@
|
||||||
#define TR_WRITING TR("\14Ecriture...", "\032Ecriture...")
|
#define TR_WRITING TR("\14Ecriture...", "\032Ecriture...")
|
||||||
#define TR_CONFIRM_FORMAT "Confirmer Formatage?"
|
#define TR_CONFIRM_FORMAT "Confirmer Formatage?"
|
||||||
#define TR_INTERNALRF "HF interne"
|
#define TR_INTERNALRF "HF interne"
|
||||||
#define TR_INTERNAL_MODULE TR("Int. module","Internal module")
|
#define TR_INTERNAL_MODULE TR("Module int.","Module interne")
|
||||||
#define TR_EXTERNAL_MODULE TR("Ext. module","External module")
|
#define TR_EXTERNAL_MODULE TR("Module ext.","Module externe")
|
||||||
#define TR_OPENTX_UPGRADE_REQUIRED "OpenTX upgrade required"
|
#define TR_OPENTX_UPGRADE_REQUIRED "Màj OpenTX nécessaire"
|
||||||
#define TR_TELEMETRY_DISABLED "Telem. disabled"
|
#define TR_TELEMETRY_DISABLED "Télém. désactivée"
|
||||||
#define TR_MORE_OPTIONS_AVAILABLE "More options available"
|
#define TR_MORE_OPTIONS_AVAILABLE "Autres options disponibles"
|
||||||
#define TR_NO_MODULE_INFORMATION "No module information"
|
#define TR_NO_MODULE_INFORMATION "Pas d'info module"
|
||||||
#define TR_EXTERNALRF "HF externe"
|
#define TR_EXTERNALRF "HF externe"
|
||||||
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Type failsafe")
|
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Type failsafe")
|
||||||
#define TR_FAILSAFESET "REGLAGES 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_OWNER_ID "ID Radio"
|
||||||
#define TR_PINMAPSET "PINMAP"
|
#define TR_PINMAPSET "PINMAP"
|
||||||
#define TR_HOLD "Hold"
|
#define TR_HOLD "Hold"
|
||||||
|
@ -907,7 +907,7 @@
|
||||||
#define TR_PXX2_SELECT_RX "Sélect RX..."
|
#define TR_PXX2_SELECT_RX "Sélect RX..."
|
||||||
#define TR_PXX2_DEFAULT "<défaut>"
|
#define TR_PXX2_DEFAULT "<défaut>"
|
||||||
#define TR_BT_SELECT_DEVICE "Sélect appareil..."
|
#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_BUTTON_INIT BUTTON("Init")
|
||||||
#define TR_WAITING "Attente..."
|
#define TR_WAITING "Attente..."
|
||||||
#define TR_RECEIVER_DELETE "Suppr récept.?"
|
#define TR_RECEIVER_DELETE "Suppr récept.?"
|
||||||
|
@ -916,8 +916,8 @@
|
||||||
#define TR_BIND "Bind"
|
#define TR_BIND "Bind"
|
||||||
#define TR_REGISTER TR("Enr", "Enregistr.")
|
#define TR_REGISTER TR("Enr", "Enregistr.")
|
||||||
#define TR_MODULE_RANGE BUTTON(TR("Prt", "Port."))
|
#define TR_MODULE_RANGE BUTTON(TR("Prt", "Port."))
|
||||||
#define TR_RECEIVER_OPTIONS TR("REC. OPTIONS", "RECEIVER OPTIONS")
|
#define TR_RECEIVER_OPTIONS TR("OPTIONS REC.", "OPTIONS RECEPTEUR")
|
||||||
#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete"))
|
#define TR_DEL_BUTTON BUTTON(TR("Eff", "Effacer"))
|
||||||
#define TR_RESET_BTN BUTTON("RAZ")
|
#define TR_RESET_BTN BUTTON("RAZ")
|
||||||
#define TR_DEBUG "Debug"
|
#define TR_DEBUG "Debug"
|
||||||
#define TR_KEYS_BTN BUTTON(TR("Btns","Inters"))
|
#define TR_KEYS_BTN BUTTON(TR("Btns","Inters"))
|
||||||
|
@ -939,18 +939,18 @@
|
||||||
#define TR_ANTENNACONFIRM1 "Vraiment changer?"
|
#define TR_ANTENNACONFIRM1 "Vraiment changer?"
|
||||||
#if defined(PCBX12S)
|
#if defined(PCBX12S)
|
||||||
#define LEN_ANTENNA_MODES "\021"
|
#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
|
#else
|
||||||
#define LEN_ANTENNA_MODES "\011"
|
#define LEN_ANTENNA_MODES "\012"
|
||||||
#define TR_ANTENNA_MODES "Internal\0""Ask\0 ""Per model""External"
|
#define TR_ANTENNA_MODES "Interne\0 ""Demander\0 ""Par modèle""Externe\0 "
|
||||||
#endif
|
#endif
|
||||||
#define TR_USE_INTERNAL_ANTENNA TR("Use int. antenna", "Use internal antenna")
|
#define TR_USE_INTERNAL_ANTENNA TR("Util antenne int", "Utiliser antenne interne")
|
||||||
#define TR_USE_EXTERNAL_ANTENNA TR("Use ext. antenna", "Use external antenna")
|
#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_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!")
|
||||||
#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Nécessite firm."
|
#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "Nécessite firm."
|
||||||
#define TR_MODULE_PROTOCOL_FCC_WARN_LINE1 "Requires FCC"
|
#define TR_MODULE_PROTOCOL_FCC_WARN_LINE1 "Nécessite FCC"
|
||||||
#define TR_MODULE_PROTOCOL_EU_WARN_LINE1 "Requires EU"
|
#define TR_MODULE_PROTOCOL_EU_WARN_LINE1 "Nécessite EU"
|
||||||
#define TR_MODULE_PROTOCOL_WARN_LINE2 "R9M non certifié"
|
#define TR_MODULE_PROTOCOL_WARN_LINE2 "R9M non certifié"
|
||||||
#define TR_LOWALARM INDENT "Alarme basse"
|
#define TR_LOWALARM INDENT "Alarme basse"
|
||||||
#define TR_CRITICALALARM INDENT "Alarme critique"
|
#define TR_CRITICALALARM INDENT "Alarme critique"
|
||||||
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE")
|
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE")
|
||||||
|
@ -981,7 +981,7 @@
|
||||||
#define TR_PREFLIGHT "Vérifications avant vol"
|
#define TR_PREFLIGHT "Vérifications avant vol"
|
||||||
#define TR_CHECKLIST TR(INDENT "Notes", INDENT "Afficher notes")
|
#define TR_CHECKLIST TR(INDENT "Notes", INDENT "Afficher notes")
|
||||||
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
|
#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_SCRIPT "Script"
|
||||||
#define TR_INPUTS "Entrées"
|
#define TR_INPUTS "Entrées"
|
||||||
#define TR_OUTPUTS "Sorties"
|
#define TR_OUTPUTS "Sorties"
|
||||||
|
@ -1175,6 +1175,7 @@
|
||||||
#define TR_MENU_OTHER "Autres"
|
#define TR_MENU_OTHER "Autres"
|
||||||
#define TR_MENU_INVERT "Inverser"
|
#define TR_MENU_INVERT "Inverser"
|
||||||
#define TR_JITTER_FILTER "Filtre ADC"
|
#define TR_JITTER_FILTER "Filtre ADC"
|
||||||
|
#define TR_RTC_CHECK TR("Vérif. RTC", "Vérif. pile RTC")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1168,6 +1168,7 @@
|
||||||
#define TR_MENU_OTHER "Altro"
|
#define TR_MENU_OTHER "Altro"
|
||||||
#define TR_MENU_INVERT "Inverti"
|
#define TR_MENU_INVERT "Inverti"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1162,6 +1162,7 @@ TR_GYR_VSRCRAW
|
||||||
#define TR_MENU_OTHER "Verdere"
|
#define TR_MENU_OTHER "Verdere"
|
||||||
#define TR_MENU_INVERT "Inverteer"
|
#define TR_MENU_INVERT "Inverteer"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1168,6 +1168,7 @@
|
||||||
#define TR_MENU_OTHER "Inny "
|
#define TR_MENU_OTHER "Inny "
|
||||||
#define TR_MENU_INVERT "Odwróć"
|
#define TR_MENU_INVERT "Odwróć"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1157,6 +1157,7 @@
|
||||||
#define TR_MENU_OTHER "Other"
|
#define TR_MENU_OTHER "Other"
|
||||||
#define TR_MENU_INVERT "Invert"
|
#define TR_MENU_INVERT "Invert"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -1168,6 +1168,7 @@
|
||||||
#define TR_MENU_OTHER "Annat"
|
#define TR_MENU_OTHER "Annat"
|
||||||
#define TR_MENU_INVERT "Invertera"
|
#define TR_MENU_INVERT "Invertera"
|
||||||
#define TR_JITTER_FILTER "ADC Filter"
|
#define TR_JITTER_FILTER "ADC Filter"
|
||||||
|
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltage")
|
||||||
|
|
||||||
#define ZSTR_RSSI "RSSI"
|
#define ZSTR_RSSI "RSSI"
|
||||||
#define ZSTR_R9PW "R9PW"
|
#define ZSTR_R9PW "R9PW"
|
||||||
|
|
|
@ -38,12 +38,9 @@
|
||||||
#elif defined(PCBX9E)
|
#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_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"
|
#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)
|
#elif defined(PCBXLITE)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
#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)
|
#elif defined(RADIO_X7)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0"
|
#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"
|
#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)
|
#elif defined(PCBX9LITE)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0"
|
#define TR_POTS_VSRCRAW "\310S1\0"
|
||||||
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\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)
|
#elif defined(PCBTARANIS)
|
||||||
#define TR_POTS_VSRCRAW "\310S1\0""\310S2\0""\310S3\0""\311LS\0""\311RS\0"
|
#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)
|
#elif defined(PCBSKY9X)
|
||||||
#define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 "
|
#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"
|
#define TR_SW_VSRCRAW "3POS" "THR\0""RUD\0""ELE\0""AIL\0""GEA\0""TRN\0"
|
||||||
|
|
|
@ -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}
|
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} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " AR9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=AR9X -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " 9XRPRO ARM9X ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=9XRPRO -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then
|
if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
|
@ -91,7 +91,7 @@ if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=X9LITE -DHELI=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=X9LITE -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9LITES ALL " =~ " ${FLAVOR} " ]] ; then
|
if [[ " X9LITES ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
|
@ -109,7 +109,7 @@ if [[ " X7 ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=X7 -DHELI=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=X7 -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then
|
if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
|
@ -118,7 +118,7 @@ if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=XLITE -DHELI=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=XLITE -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then
|
if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
|
@ -127,7 +127,7 @@ if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=XLITES -DHELI=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=XLITES -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9D X9 ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9D+ X9 ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9D+2019 X9 ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X9E X9 ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X9E -DHELI=YES -DLUA=YES -DGVARS=YES -DPPM_UNIT=PERCENT_PREC1 ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X10 HORUS ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X10 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " X12S HORUS ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X12S -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " T12 ALL " =~ " ${FLAVOR} " ]] ; then
|
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}
|
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 -DHELI=YES -DGVARS=YES ${SRCDIR}
|
||||||
make -j${CORES} ${FIRMARE_TARGET}
|
make -j${CORES} ${FIRMARE_TARGET}
|
||||||
make -j${CORES} libsimulator
|
make -j${CORES} libsimulator
|
||||||
make -j${CORES} tests
|
make -j${CORES} tests-radio
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then
|
if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
|
@ -198,4 +198,5 @@ if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then
|
||||||
rm -rf *
|
rm -rf *
|
||||||
cmake ${COMMON_OPTIONS} ${SRCDIR}
|
cmake ${COMMON_OPTIONS} ${SRCDIR}
|
||||||
make -j${CORES}
|
make -j${CORES}
|
||||||
|
make -j${CORES} tests
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue