feat: Convert PPM_UNIT build option to runtime radio setting (#3993)
This commit is contained in:
@@ -224,6 +224,7 @@ Node convert<GeneralSettings>::encode(const GeneralSettings& rhs)
|
||||
node["keysBacklight"] = (int)rhs.keysBacklight;
|
||||
node["rotEncMode"] = (int)rhs.rotEncMode;
|
||||
node["imperial"] = rhs.imperial;
|
||||
node["ppmunit"] = rhs.ppmunit;
|
||||
node["ttsLanguage"] = rhs.ttsLanguage;
|
||||
node["beepVolume"] = rhs.beepVolume + 2;
|
||||
node["wavVolume"] = rhs.wavVolume + 2;
|
||||
@@ -487,6 +488,7 @@ bool convert<GeneralSettings>::decode(const Node& node, GeneralSettings& rhs)
|
||||
node["rotEncDirection"] >> rhs.rotEncMode; // PR2045: read old name and
|
||||
node["rotEncMode"] >> rhs.rotEncMode; // new, but don't write old
|
||||
node["imperial"] >> rhs.imperial;
|
||||
node["ppmunit"] >> rhs.ppmunit;
|
||||
node["ttsLanguage"] >> rhs.ttsLanguage;
|
||||
node["beepVolume"] >> ioffset_int(rhs.beepVolume, 2);
|
||||
node["wavVolume"] >> ioffset_int(rhs.wavVolume, 2);
|
||||
|
||||
@@ -118,7 +118,6 @@ enum Capability {
|
||||
HasModuleR9MFlex,
|
||||
HasModuleR9MMini,
|
||||
PPMCenter,
|
||||
PPMUnitMicroseconds,
|
||||
SYMLimits,
|
||||
HastxCurrentCalibration,
|
||||
HasVolume,
|
||||
|
||||
@@ -180,6 +180,12 @@ class GeneralSettings {
|
||||
HATSMODE_COUNT
|
||||
};
|
||||
|
||||
enum PPMUnit {
|
||||
PPM_PERCENT_PREC0,
|
||||
PPM_PERCENT_PREC1,
|
||||
PPM_US
|
||||
};
|
||||
|
||||
GeneralSettings() { clear(); }
|
||||
void clear();
|
||||
void init();
|
||||
@@ -263,6 +269,7 @@ class GeneralSettings {
|
||||
bool keysBacklight;
|
||||
unsigned int rotEncMode;
|
||||
unsigned int imperial;
|
||||
unsigned int ppmunit;
|
||||
char ttsLanguage[TTS_LANGUAGE_LEN + 1];
|
||||
int beepVolume;
|
||||
int wavVolume;
|
||||
|
||||
@@ -619,8 +619,6 @@ int OpenTxFirmware::getCapability(::Capability capability)
|
||||
return 32;
|
||||
case PPMCenter:
|
||||
return (IS_HORUS_OR_TARANIS(board) ? 500 : (id.contains("ppmca") ? 125 : 0));
|
||||
case PPMUnitMicroseconds:
|
||||
return id.contains("ppmus") ? 1 : 0;
|
||||
case SYMLimits:
|
||||
return 1;
|
||||
case OptrexDisplay:
|
||||
@@ -1131,7 +1129,6 @@ void addOpenTxCommonOptions(OpenTxFirmware * firmware)
|
||||
Firmware::Option("faichoice", Firmware::tr("Possibility to enable FAI MODE (no telemetry) at field")),
|
||||
Firmware::Option("faimode", Firmware::tr("FAI MODE (no telemetry) always enabled"))
|
||||
};
|
||||
firmware->addOption("ppmus", Firmware::tr("Channel values displayed in us"));
|
||||
firmware->addOptionsGroup(fai_options);
|
||||
firmware->addOption("nooverridech", Firmware::tr("No OverrideCH functions available"));
|
||||
}
|
||||
|
||||
@@ -154,6 +154,8 @@ ui(new Ui::GeneralSetup)
|
||||
ui->units_CB->setCurrentIndex(generalSettings.imperial);
|
||||
}
|
||||
|
||||
ui->ppm_units_CB->setCurrentIndex(generalSettings.ppmunit);
|
||||
|
||||
ui->gpsFormatCB->setCurrentIndex(generalSettings.gpsFormat);
|
||||
|
||||
ui->timezoneLE->setTime((generalSettings.timezone * 3600) + (generalSettings.timezoneMinutes/*quarter hours*/ * 15 * 60));
|
||||
@@ -680,6 +682,12 @@ void GeneralSetupPanel::on_units_CB_currentIndexChanged(int index)
|
||||
emit modified();
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_ppm_units_CB_currentIndexChanged(int index)
|
||||
{
|
||||
generalSettings.ppmunit = ui->ppm_units_CB->currentIndex();
|
||||
emit modified();
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_beeperlenCB_currentIndexChanged(int index)
|
||||
{
|
||||
generalSettings.beeperLength = index-2;
|
||||
|
||||
@@ -47,6 +47,7 @@ class GeneralSetupPanel : public GeneralPanel
|
||||
void on_re_CB_currentIndexChanged(int index);
|
||||
void on_countrycode_CB_currentIndexChanged(int index);
|
||||
void on_units_CB_currentIndexChanged(int index);
|
||||
void on_ppm_units_CB_currentIndexChanged(int index);
|
||||
void on_faimode_CB_stateChanged(int );
|
||||
void on_rotEncMode_CB_currentIndexChanged(int index);
|
||||
void on_speakerPitchSB_editingFinished();
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>858</width>
|
||||
<height>880</height>
|
||||
<height>891</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -2485,6 +2485,35 @@ p, li { white-space: pre-wrap; }
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="26" column="0">
|
||||
<widget class="QLabel" name="ppm_units_label">
|
||||
<property name="text">
|
||||
<string>PPM Units</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="26" column="1">
|
||||
<widget class="QComboBox" name="ppm_units_CB">
|
||||
<property name="currentText">
|
||||
<string>0.--</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.--</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>us</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "filtereditemmodels.h"
|
||||
#include "curveimagewidget.h"
|
||||
|
||||
LimitsGroup::LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row, int col, int & value, const ModelData & model,
|
||||
LimitsGroup::LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row, int col, int & value, const ModelData & model, GeneralSettings & generalSettings,
|
||||
int min, int max, int deflt, FilteredItemModel * gvarModel, ModelPanel * panel):
|
||||
firmware(firmware),
|
||||
spinbox(new QDoubleSpinBox()),
|
||||
@@ -34,7 +34,7 @@ LimitsGroup::LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row
|
||||
spinbox->setAccelerated(true);
|
||||
spinbox->setDecimals(1);
|
||||
|
||||
if (firmware->getCapability(PPMUnitMicroseconds)) {
|
||||
if (generalSettings.ppmunit == GeneralSettings::PPM_US) {
|
||||
displayStep = 0.512;
|
||||
spinbox->setSuffix("us");
|
||||
}
|
||||
@@ -141,13 +141,13 @@ ChannelsPanel::ChannelsPanel(QWidget * parent, ModelData & model, GeneralSetting
|
||||
}
|
||||
|
||||
// Channel offset
|
||||
chnOffset[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].offset, model, -1000, 1000, 0, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
chnOffset[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].offset, model, generalSettings, -1000, 1000, 0, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
|
||||
// Channel min
|
||||
chnMin[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].min, model, -model.getChannelsMax() * 10, 0, -1000, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
chnMin[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].min, model, generalSettings, -model.getChannelsMax() * 10, 0, -1000, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
|
||||
// Channel max
|
||||
chnMax[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].max, model, 0, model.getChannelsMax() * 10, 1000, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
chnMax[i] = new LimitsGroup(firmware, tableLayout, i, col++, model.limitData[i].max, model, generalSettings, 0, model.getChannelsMax() * 10, 1000, dialogFilteredItemModels->getItemModel(gvid), this);
|
||||
|
||||
// Channel inversion
|
||||
invCB[i] = new QComboBox(this);
|
||||
|
||||
@@ -38,7 +38,7 @@ class LimitsGroup
|
||||
Q_DECLARE_TR_FUNCTIONS(LimitsGroup)
|
||||
|
||||
public:
|
||||
LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row, int col, int & value, const ModelData & model,
|
||||
LimitsGroup(Firmware * firmware, TableLayout * tableLayout, int row, int col, int & value, const ModelData & model, GeneralSettings & generalSettings,
|
||||
int min, int max, int deflt, FilteredItemModel * gvarModel, ModelPanel * panel = nullptr);
|
||||
~LimitsGroup();
|
||||
|
||||
|
||||
@@ -11,8 +11,6 @@ set(TRANSLATIONS "EN" CACHE STRING "Radio language, one of: ${RADIO_LANGUAGES}")
|
||||
set_property(CACHE TRANSLATIONS PROPERTY STRINGS ${RADIO_LANGUAGES})
|
||||
set(SPLASH "DEFAULT" CACHE STRING "Splash (DEFAULT/OFF/FRSKY)")
|
||||
set_property(CACHE SPLASH PROPERTY STRINGS DEFAULT OFF FRSKY)
|
||||
set(PPM_UNIT "PERCENT_PREC0" CACHE STRING "PPM display unit (US/PERCENT_PREC1/PERCENT_PREC0)")
|
||||
set_property(CACHE PPM_UNIT PROPERTY STRINGS US PERCENT_PREC1 PERCENT_PREC0)
|
||||
set(DEFAULT_MODE "" CACHE STRING "Default sticks mode")
|
||||
set(POPUP_LEVEL 2 CACHE STRING "Popup level")
|
||||
|
||||
@@ -254,14 +252,6 @@ if(SHUTDOWN_CONFIRMATION)
|
||||
add_definitions(-DSHUTDOWN_CONFIRMATION)
|
||||
endif()
|
||||
|
||||
if(PPM_UNIT STREQUAL US)
|
||||
add_definitions(-DPPM_UNIT_US)
|
||||
elseif(PPM_UNIT STREQUAL PERCENT_PREC1)
|
||||
add_definitions(-DPPM_UNIT_PERCENT_PREC1)
|
||||
else()
|
||||
add_definitions(-DPPM_UNIT_PERCENT_PREC0)
|
||||
endif()
|
||||
|
||||
if(PPM_CENTER_ADJUSTABLE)
|
||||
add_definitions(-DPPM_CENTER_ADJUSTABLE)
|
||||
endif()
|
||||
|
||||
@@ -686,4 +686,11 @@ enum ModelOverridableEnable {
|
||||
|
||||
#define SELECTED_THEME_NAME_LEN 26
|
||||
|
||||
// PPM Units
|
||||
enum PPMUnit {
|
||||
PPM_PERCENT_PREC0,
|
||||
PPM_PERCENT_PREC1,
|
||||
PPM_US
|
||||
};
|
||||
|
||||
#endif // _DATACONSTANTS_H_
|
||||
|
||||
@@ -843,7 +843,7 @@ PACK(struct RadioData {
|
||||
NOBACKUP(uint8_t manuallyEdited:1);
|
||||
int8_t timezoneMinutes:3; // -3 to +3 ==> (-45 to 45 minutes in 15 minute increments)
|
||||
NOBACKUP(uint8_t hatsMode:2 ENUM(HatsMode));
|
||||
NOBACKUP(int8_t spare0:2 SKIP);
|
||||
NOBACKUP(uint8_t ppmunit:2); // PPMUnit enum
|
||||
CUST_ATTR(semver,nullptr,w_semver);
|
||||
CUST_ATTR(board,nullptr,w_board);
|
||||
CalibData calib[MAX_CALIB_ANALOG_INPUTS] NO_IDX;
|
||||
|
||||
@@ -61,9 +61,8 @@ void menuModelFailsafe(event_t event)
|
||||
LcdFlags attr = (sub == k) ? INVERS : 0;
|
||||
|
||||
uint8_t wbar = LCD_W - FW * 4 - FWNUM * 4;
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
wbar -= 6;
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1)
|
||||
wbar -= 6;
|
||||
|
||||
if (sub == k && !READ_ONLY() && event == EVT_KEY_LONG(KEY_ENTER)) {
|
||||
killEvents(event);
|
||||
@@ -102,13 +101,13 @@ void menuModelFailsafe(event_t event)
|
||||
failsafeValue = 0;
|
||||
}
|
||||
else {
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(xValue, y, PPM_CH_CENTER(k)+failsafeValue/2, RIGHT|flags);
|
||||
#elif defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue), RIGHT|PREC1|flags);
|
||||
#else
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue)/10, RIGHT|flags);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(xValue, y, PPM_CH_CENTER(k)+failsafeValue/2, RIGHT|flags);
|
||||
} else if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue), RIGHT|PREC1|flags);
|
||||
} else {
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue)/10, RIGHT|flags);
|
||||
}
|
||||
}
|
||||
|
||||
// Gauge
|
||||
|
||||
@@ -34,14 +34,6 @@ enum MenuModelOutputsItems {
|
||||
ITEM_OUTPUTS_MAXROW = ITEM_OUTPUTS_COUNT-1
|
||||
};
|
||||
|
||||
#if defined(PPM_UNIT_US)
|
||||
#define LIMITS_MIN_POS 12*FW+1
|
||||
#define PREC_THRESHOLD 804
|
||||
#else
|
||||
#define LIMITS_MIN_POS 12*FW-2
|
||||
#define PREC_THRESHOLD 0
|
||||
#endif
|
||||
|
||||
#define LIMITS_OFFSET_POS 8*FW-1
|
||||
|
||||
#if defined(PPM_LIMITS_SYMETRICAL)
|
||||
@@ -70,14 +62,6 @@ enum MenuModelOutputsItems {
|
||||
#define CONVERT_US_MIN_MAX(x) ((int16_t(x)*128)/25)
|
||||
#define MIN_MAX_ATTR attr
|
||||
|
||||
#if defined(PPM_UNIT_US)
|
||||
#define SET_MIN_MAX(x, val) x = ((val)*250)/128
|
||||
#define MIN_MAX_DISPLAY(x) CONVERT_US_MIN_MAX(x)
|
||||
#else
|
||||
#define MIN_MAX_DISPLAY(x) (x)
|
||||
#define SET_MIN_MAX(x, val) x = (val)
|
||||
#endif
|
||||
|
||||
enum MenuModelOutputsOneItems {
|
||||
ITEM_OUTPUTONE_CH_NAME,
|
||||
ITEM_OUTPUTONE_OFFSET,
|
||||
@@ -96,6 +80,13 @@ enum MenuModelOutputsOneItems {
|
||||
|
||||
#define LIMITS_ONE_2ND_COLUMN (13*FW)
|
||||
|
||||
int32_t minMaxDisplay(int32_t val)
|
||||
{
|
||||
if (g_eeGeneral.ppmunit == PPM_US)
|
||||
val = CONVERT_US_MIN_MAX(val);
|
||||
return val;
|
||||
}
|
||||
|
||||
void menuModelLimitsOne(event_t event)
|
||||
{
|
||||
title(STR_MENULIMITS);
|
||||
@@ -135,7 +126,7 @@ void menuModelLimitsOne(event_t event)
|
||||
ld->min = GVAR_MENU_ITEM(LIMITS_ONE_2ND_COLUMN, y, ld->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, attr|PREC1, 0, event);
|
||||
break;
|
||||
}
|
||||
lcdDrawNumber(LIMITS_ONE_2ND_COLUMN, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1);
|
||||
lcdDrawNumber(LIMITS_ONE_2ND_COLUMN, y, minMaxDisplay(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1);
|
||||
if (active) {
|
||||
ld->min = LIMITS_MIN_MAX_OFFSET + checkIncDec(event, ld->min-LIMITS_MIN_MAX_OFFSET, -limit, 0, EE_MODEL, nullptr, stops1000);
|
||||
}
|
||||
@@ -147,7 +138,7 @@ void menuModelLimitsOne(event_t event)
|
||||
ld->max = GVAR_MENU_ITEM(LIMITS_ONE_2ND_COLUMN, y, ld->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, attr|PREC1, 0, event);
|
||||
break;
|
||||
}
|
||||
lcdDrawNumber(LIMITS_ONE_2ND_COLUMN, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1);
|
||||
lcdDrawNumber(LIMITS_ONE_2ND_COLUMN, y, minMaxDisplay(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1);
|
||||
if (active) {
|
||||
ld->max = -LIMITS_MIN_MAX_OFFSET + checkIncDec(event, ld->max+LIMITS_MIN_MAX_OFFSET, 0, +limit, EE_MODEL, nullptr, stops1000);
|
||||
}
|
||||
@@ -274,39 +265,42 @@ void menuModelLimits(event_t event)
|
||||
lcdDrawSizedText(0, y, ld->name, sizeof(ld->name), ((sub==k) ? INVERS : 0) | LEFT);
|
||||
}
|
||||
|
||||
coord_t limitsMinPos = (g_eeGeneral.ppmunit == PPM_US) ? 12*FW+1 : 12*FW-2;
|
||||
int precThreshold = (g_eeGeneral.ppmunit == PPM_US) ? 804 : 0;
|
||||
|
||||
for (uint8_t j=0; j<ITEM_OUTPUTS_COUNT; j++) {
|
||||
switch (j) {
|
||||
case ITEM_OUTPUTS_OFFSET:
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ((int32_t)ld->offset*128) / 25, PREC1|RIGHT);
|
||||
#else
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ((int32_t)ld->offset*128) / 25, PREC1|RIGHT);
|
||||
} else {
|
||||
#if defined(GVARS)
|
||||
if (GV_IS_GV_VALUE(ld->offset, -GV_RANGELARGE, GV_RANGELARGE)) {
|
||||
drawGVarName(LIMITS_OFFSET_POS, y, ld->offset, attr|PREC1|RIGHT);
|
||||
break;
|
||||
}
|
||||
if (GV_IS_GV_VALUE(ld->offset, -GV_RANGELARGE, GV_RANGELARGE)) {
|
||||
drawGVarName(LIMITS_OFFSET_POS, y, ld->offset, attr|PREC1|RIGHT);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
if (abs(ld->offset) >= 1000) {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset/10, RIGHT);
|
||||
if (abs(ld->offset) >= 1000) {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset/10, RIGHT);
|
||||
}
|
||||
else {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset, PREC1|RIGHT);
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset, PREC1|RIGHT);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
|
||||
case ITEM_OUTPUTS_MIN:
|
||||
#if defined(GVARS)
|
||||
if (GV_IS_GV_VALUE(ld->min, -GV_RANGELARGE, GV_RANGELARGE)) {
|
||||
drawGVarName(LIMITS_MIN_POS, y, ld->min, attr|PREC1|RIGHT);
|
||||
drawGVarName(limitsMinPos, y, ld->min, attr|PREC1|RIGHT);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
if (ld->min <= PREC_THRESHOLD) {
|
||||
lcdDrawNumber(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET)/10, RIGHT);
|
||||
if (ld->min <= precThreshold) {
|
||||
lcdDrawNumber(limitsMinPos, y, minMaxDisplay(ld->min-LIMITS_MIN_MAX_OFFSET)/10, RIGHT);
|
||||
}
|
||||
else {
|
||||
lcdDrawNumber(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
lcdDrawNumber(limitsMinPos, y, minMaxDisplay(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -317,11 +311,11 @@ void menuModelLimits(event_t event)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
if (ld->max >= -PREC_THRESHOLD) {
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET)/10, RIGHT);
|
||||
if (ld->max >= -precThreshold) {
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, minMaxDisplay(ld->max+LIMITS_MIN_MAX_OFFSET)/10, RIGHT);
|
||||
}
|
||||
else {
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, minMaxDisplay(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -107,6 +107,7 @@ enum {
|
||||
CASE_PXX1(ITEM_RADIO_SETUP_COUNTRYCODE)
|
||||
ITEM_RADIO_SETUP_LANGUAGE,
|
||||
ITEM_RADIO_SETUP_IMPERIAL,
|
||||
ITEM_RADIO_SETUP_PPM,
|
||||
IF_FAI_CHOICE(ITEM_RADIO_SETUP_FAI)
|
||||
ITEM_RADIO_SETUP_SWITCHES_DELAY,
|
||||
ITEM_RADIO_SETUP_USB_MODE,
|
||||
@@ -202,7 +203,7 @@ void menuRadioSetup(event_t event)
|
||||
CASE_GPS(0)
|
||||
0, CASE_GPS(0)
|
||||
CASE_PXX1(0)
|
||||
0, 0, IF_FAI_CHOICE(0)
|
||||
0, 0, 0, IF_FAI_CHOICE(0)
|
||||
0,
|
||||
0, // USB mode
|
||||
CASE_JACK_DETECT(0) // Jack mode
|
||||
@@ -671,6 +672,10 @@ void menuRadioSetup(event_t event)
|
||||
g_eeGeneral.imperial = editChoice(LCD_W-2, y, STR_UNITS_SYSTEM, STR_VUNITSSYSTEM, g_eeGeneral.imperial, 0, 1, attr|RIGHT, event);
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_SETUP_PPM:
|
||||
g_eeGeneral.ppmunit = editChoice(LCD_W-2, y, STR_UNITS_PPM, STR_PPMUNIT, g_eeGeneral.ppmunit, PPM_PERCENT_PREC0, PPM_US, attr|RIGHT, event);
|
||||
break;
|
||||
|
||||
#if defined(FAI_CHOICE)
|
||||
case ITEM_RADIO_SETUP_FAI:
|
||||
editCheckBox(g_eeGeneral.fai, LCD_W-9, y, "FAI Mode", attr, event);
|
||||
|
||||
@@ -96,13 +96,13 @@ void menuChannelsViewCommon(event_t event)
|
||||
}
|
||||
|
||||
// Value
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, PPM_CH_CENTER(ch) + val / 2, TINSIZE | RIGHT);
|
||||
#elif defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, calcRESXto1000(val), PREC1 | TINSIZE | RIGHT);
|
||||
#else
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, calcRESXto1000(val) / 10, TINSIZE | RIGHT);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, PPM_CH_CENTER(ch) + val / 2, TINSIZE | RIGHT);
|
||||
} else if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, calcRESXto1000(val), PREC1 | TINSIZE | RIGHT);
|
||||
} else {
|
||||
lcdDrawNumber(CHANNEL_VALUE_OFFSET, y + 1, calcRESXto1000(val) / 10, TINSIZE | RIGHT);
|
||||
}
|
||||
|
||||
// Gauge
|
||||
drawGauge(CHANNEL_GAUGE_OFFSET, y, CHANNEL_BAR_WIDTH, 6, val, limits);
|
||||
|
||||
@@ -517,13 +517,13 @@ void menuMainView(event_t event)
|
||||
#else
|
||||
y0 = i / 4 * FH + 40;
|
||||
#endif
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(x0 + 4 * FW, y0, PPM_CH_CENTER(chan) + val / 2, RIGHT);
|
||||
#elif defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(x0 + 4 * FW, y0, calcRESXto1000(val), RIGHT | PREC1);
|
||||
#else
|
||||
lcdDrawNumber(x0+4*FW , y0, calcRESXto1000(val)/10, RIGHT); // G: Don't like the decimal part*
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(x0 + 4 * FW, y0, PPM_CH_CENTER(chan) + val / 2, RIGHT);
|
||||
} else if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(x0 + 4 * FW, y0, calcRESXto1000(val), RIGHT | PREC1);
|
||||
} else {
|
||||
lcdDrawNumber(x0+4*FW , y0, calcRESXto1000(val)/10, RIGHT); // G: Don't like the decimal part*
|
||||
}
|
||||
}
|
||||
else {
|
||||
constexpr coord_t WBAR2 = (50 / 2);
|
||||
|
||||
@@ -97,9 +97,9 @@ void menuModelFailsafe(event_t event)
|
||||
uint8_t lenLabel = ZLEN(g_model.limitData[ch+channelStart].name);
|
||||
uint8_t barW = colW - FW * reusableBuffer.modelFailsafe.maxNameLen - FWNUM * 3; // default bar width
|
||||
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
barW -= FWNUM + 1;
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
barW -= FWNUM + 1;
|
||||
}
|
||||
barW += (barW % 2);
|
||||
|
||||
// Channel name if present, number if not
|
||||
@@ -137,13 +137,13 @@ void menuModelFailsafe(event_t event)
|
||||
failsafeValue = 0;
|
||||
}
|
||||
else {
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(xValue, y, PPM_CH_CENTER(ch)+failsafeValue/2, RIGHT|flags);
|
||||
#elif defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue), RIGHT|PREC1|flags);
|
||||
#else
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue)/10, RIGHT|flags);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(xValue, y, PPM_CH_CENTER(ch)+failsafeValue/2, RIGHT|flags);
|
||||
} else if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue), RIGHT|PREC1|flags);
|
||||
} else {
|
||||
lcdDrawNumber(xValue, y, calcRESXto1000(failsafeValue)/10, RIGHT|flags);
|
||||
}
|
||||
}
|
||||
|
||||
// Gauge
|
||||
|
||||
@@ -56,13 +56,12 @@ enum LimitsItems {
|
||||
|
||||
#define CONVERT_US_MIN_MAX(x) (((x)*1280)/250)
|
||||
|
||||
#if defined(PPM_UNIT_US)
|
||||
#define SET_MIN_MAX(x, val) x = ((val)*250)/128
|
||||
#define MIN_MAX_DISPLAY(x) CONVERT_US_MIN_MAX(x)
|
||||
#else
|
||||
#define MIN_MAX_DISPLAY(x) (x)
|
||||
#define SET_MIN_MAX(x, val) x = (val)
|
||||
#endif
|
||||
int32_t minMaxDisplay(int32_t val)
|
||||
{
|
||||
if (g_eeGeneral.ppmunit == PPM_US)
|
||||
val = CONVERT_US_MIN_MAX(val);
|
||||
return val;
|
||||
}
|
||||
|
||||
void onLimitsMenu(const char *result)
|
||||
{
|
||||
@@ -96,11 +95,16 @@ void menuModelLimits(event_t event)
|
||||
int sub = menuVerticalPosition;
|
||||
|
||||
if (sub < MAX_OUTPUT_CHANNELS) {
|
||||
#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_UNIT_US)
|
||||
#if defined(PPM_CENTER_ADJUSTABLE)
|
||||
lcdDrawNumber(13*FW, 0, PPM_CH_CENTER(sub)+channelOutputs[sub]/2, RIGHT);
|
||||
lcdDrawText(13*FW, 0, STR_US);
|
||||
#else
|
||||
lcdDrawNumber(13*FW, 0, calcRESXto1000(channelOutputs[sub]), PREC1|RIGHT);
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(13*FW, 0, PPM_CH_CENTER(sub)+channelOutputs[sub]/2, RIGHT);
|
||||
lcdDrawText(13*FW, 0, STR_US);
|
||||
} else {
|
||||
lcdDrawNumber(13*FW, 0, calcRESXto1000(channelOutputs[sub]), PREC1|RIGHT);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -167,11 +171,11 @@ void menuModelLimits(event_t event)
|
||||
break;
|
||||
}
|
||||
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ((int32_t)ld->offset*128) / 25, attr|PREC1|RIGHT);
|
||||
#else
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset, attr|PREC1|RIGHT);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ((int32_t)ld->offset*128) / 25, attr|PREC1|RIGHT);
|
||||
} else {
|
||||
lcdDrawNumber(LIMITS_OFFSET_POS, y, ld->offset, attr|PREC1|RIGHT);
|
||||
}
|
||||
if (active) {
|
||||
ld->offset = checkIncDec(event, ld->offset, -1000, 1000, EE_MODEL, nullptr, stops1000);
|
||||
}
|
||||
@@ -186,7 +190,7 @@ void menuModelLimits(event_t event)
|
||||
ld->min = GVAR_MENU_ITEM(LIMITS_MIN_POS, y, ld->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, attr|PREC1|RIGHT, 0, event);
|
||||
break;
|
||||
}
|
||||
lcdDrawNumber(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
lcdDrawNumber(LIMITS_MIN_POS, y, minMaxDisplay(ld->min-LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
if (active) ld->min = LIMITS_MIN_MAX_OFFSET + checkIncDec(event, ld->min-LIMITS_MIN_MAX_OFFSET, -limit, 0, EE_MODEL, nullptr, stops1000);
|
||||
break;
|
||||
|
||||
@@ -195,7 +199,7 @@ void menuModelLimits(event_t event)
|
||||
ld->max = GVAR_MENU_ITEM(LIMITS_MAX_POS, y, ld->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, attr|PREC1|RIGHT, 0, event);
|
||||
break;
|
||||
}
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
lcdDrawNumber(LIMITS_MAX_POS, y, minMaxDisplay(ld->max+LIMITS_MIN_MAX_OFFSET), attr|PREC1|RIGHT);
|
||||
if (active) ld->max = -LIMITS_MIN_MAX_OFFSET + checkIncDec(event, ld->max+LIMITS_MIN_MAX_OFFSET, 0, +limit, EE_MODEL, nullptr, stops1000);
|
||||
break;
|
||||
|
||||
|
||||
@@ -96,6 +96,7 @@ enum MenuRadioSetupItems {
|
||||
CASE_PXX1(ITEM_RADIO_SETUP_COUNTRYCODE)
|
||||
ITEM_RADIO_SETUP_LANGUAGE,
|
||||
ITEM_RADIO_SETUP_IMPERIAL,
|
||||
ITEM_RADIO_SETUP_PPM,
|
||||
IF_FAI_CHOICE(ITEM_RADIO_SETUP_FAI)
|
||||
ITEM_RADIO_SETUP_SWITCHES_DELAY,
|
||||
ITEM_RADIO_SETUP_USB_MODE,
|
||||
@@ -198,6 +199,7 @@ void menuRadioSetup(event_t event)
|
||||
CASE_PXX1(0) // country code
|
||||
0, // voice language
|
||||
0, // imperial
|
||||
0, // PPM unit
|
||||
IF_FAI_CHOICE(0)
|
||||
0, // switches delay
|
||||
0, // USB mode
|
||||
@@ -603,6 +605,10 @@ void menuRadioSetup(event_t event)
|
||||
g_eeGeneral.imperial = editChoice(RADIO_SETUP_2ND_COLUMN, y, STR_UNITS_SYSTEM, STR_VUNITSSYSTEM, g_eeGeneral.imperial, 0, 1, attr, event);
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_SETUP_PPM:
|
||||
g_eeGeneral.ppmunit = editChoice(RADIO_SETUP_2ND_COLUMN, y, STR_UNITS_PPM, STR_PPMUNIT, g_eeGeneral.ppmunit, PPM_PERCENT_PREC0, PPM_US, attr, event);
|
||||
break;
|
||||
|
||||
#if defined(FAI_CHOICE)
|
||||
case ITEM_RADIO_SETUP_FAI:
|
||||
editCheckBox(g_eeGeneral.fai, RADIO_SETUP_2ND_COLUMN, y, "FAI Mode", attr, event);
|
||||
|
||||
@@ -27,9 +27,9 @@ void menuChannelsView(event_t event)
|
||||
uint8_t wbar = (reusableBuffer.viewChannels.longNames ? 54 : 64);
|
||||
int16_t limits = 512 * 2;
|
||||
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
wbar -= 6;
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
wbar -= 6;
|
||||
}
|
||||
|
||||
switch(event) {
|
||||
case EVT_ENTRY:
|
||||
@@ -87,13 +87,13 @@ void menuChannelsView(event_t event)
|
||||
}
|
||||
|
||||
// Value
|
||||
#if defined(PPM_UNIT_US)
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, PPM_CH_CENTER(ch)+val/2, TINSIZE|RIGHT);
|
||||
#elif defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, calcRESXto1000(val), PREC1|TINSIZE|RIGHT);
|
||||
#else
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, calcRESXto1000(val)/10, TINSIZE|RIGHT);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_US) {
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, PPM_CH_CENTER(ch)+val/2, TINSIZE|RIGHT);
|
||||
} else if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, calcRESXto1000(val), PREC1|TINSIZE|RIGHT);
|
||||
} else {
|
||||
lcdDrawNumber(x+LCD_W/2-3-wbar-ofs, y+1, calcRESXto1000(val)/10, TINSIZE|RIGHT);
|
||||
}
|
||||
|
||||
// Gauge
|
||||
drawGauge(x+LCD_W/2-3-wbar-ofs, y, wbar, 6, val, limits);
|
||||
|
||||
@@ -462,11 +462,11 @@ void drawSourceCustomValue(BitmapBuffer * dc, coord_t x, coord_t y, source_t sou
|
||||
dc->drawNumber(x, y, calcRESXto100(value), flags);
|
||||
}
|
||||
else if (source <= MIXSRC_LAST_CH) {
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
dc->drawNumber(x, y, calcRESXto1000(value), flags|PREC1);
|
||||
#else
|
||||
dc->drawNumber(x, y, calcRESXto100(value), flags);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
dc->drawNumber(x, y, calcRESXto1000(value), flags|PREC1);
|
||||
} else {
|
||||
dc->drawNumber(x, y, calcRESXto100(value), flags);
|
||||
}
|
||||
}
|
||||
else {
|
||||
dc->drawNumber(x, y, value, flags);
|
||||
|
||||
@@ -773,6 +773,11 @@ void RadioSetupPage::build(FormWindow * window)
|
||||
new StaticText(line, rect_t{}, STR_UNITS_SYSTEM, 0, COLOR_THEME_PRIMARY1);
|
||||
new Choice(line, rect_t{}, STR_VUNITSSYSTEM, 0, 1, GET_SET_DEFAULT(g_eeGeneral.imperial));
|
||||
|
||||
// PPM units
|
||||
line = window->newLine(&grid);
|
||||
new StaticText(line, rect_t{}, STR_UNITS_PPM, 0, COLOR_THEME_PRIMARY1);
|
||||
new Choice(line, rect_t{}, STR_PPMUNIT, PPM_PERCENT_PREC0, PPM_PERCENT_PREC1, GET_SET_DEFAULT(g_eeGeneral.ppmunit));
|
||||
|
||||
#if defined(FAI_CHOICE)
|
||||
/* case ITEM_SETUP_FAI:
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, "FAI Mode");
|
||||
|
||||
@@ -49,12 +49,6 @@ static const lv_coord_t col_dsc[] = {LV_GRID_FR(7), LV_GRID_FR(15), LV_GRID_FR(9
|
||||
|
||||
static const lv_coord_t row_dsc[] = {LV_GRID_CONTENT, LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
#define PPM_PRECISION PREC1
|
||||
#else
|
||||
#define PPM_PRECISION 0
|
||||
#endif
|
||||
|
||||
void RadioTrainerPage::build(FormWindow * form)
|
||||
{
|
||||
FlexGridLayout grid(col_dsc, row_dsc, 2);
|
||||
@@ -85,9 +79,13 @@ void RadioTrainerPage::build(FormWindow * form)
|
||||
line->padBottom(8);
|
||||
#endif
|
||||
|
||||
LcdFlags flags = LEFT | COLOR_THEME_PRIMARY1;
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1)
|
||||
flags |= PREC1;
|
||||
|
||||
new DynamicNumber<int16_t>(line, rect_t{},
|
||||
[=]() { return (trainerInput[i] - g_eeGeneral.trainer.calib[i]) * 2; },
|
||||
LEFT | PPM_PRECISION | COLOR_THEME_PRIMARY1);
|
||||
flags);
|
||||
}
|
||||
|
||||
auto line = form->newLine(&grid);
|
||||
|
||||
@@ -492,11 +492,11 @@ void drawSourceCustomValue(coord_t x, coord_t y, source_t source, int32_t value,
|
||||
lcdDrawNumber(x, y, calcRESXto100(value), flags);
|
||||
}
|
||||
else if (source <= MIXSRC_LAST_CH) {
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(x, y, calcRESXto1000(value), flags|PREC1);
|
||||
#else
|
||||
lcdDrawNumber(x, y, calcRESXto100(value), flags);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(x, y, calcRESXto1000(value), flags|PREC1);
|
||||
} else {
|
||||
lcdDrawNumber(x, y, calcRESXto100(value), flags);
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcdDrawNumber(x, y, value, flags);
|
||||
|
||||
@@ -96,11 +96,11 @@ void menuRadioTrainer(event_t event)
|
||||
int32_t chVal = trainerInput[i] - g_eeGeneral.trainer.calib[i];
|
||||
chVal *= g_eeGeneral.trainer.mix[i].studWeight * 10;
|
||||
chVal /= 512;
|
||||
#if defined (PPM_UNIT_PERCENT_PREC1)
|
||||
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, chVal, PREC1|RIGHT);
|
||||
#else
|
||||
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, chVal / 10, RIGHT);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, chVal, PREC1|RIGHT);
|
||||
} else {
|
||||
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, chVal / 10, RIGHT);
|
||||
}
|
||||
}
|
||||
|
||||
if (attr) {
|
||||
|
||||
@@ -86,9 +86,6 @@ static const char * const options[] = {
|
||||
#if !defined(OVERRIDE_CHANNEL_FUNCTION)
|
||||
"nooverridech",
|
||||
#endif
|
||||
#if defined(PPM_UNIT_US)
|
||||
"ppmus",
|
||||
#endif
|
||||
#if defined(NO_RAS)
|
||||
"noras",
|
||||
#endif
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -286,7 +286,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 22, struct_CalibData, NULL),
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -294,7 +294,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 22, struct_CalibData, NULL),
|
||||
|
||||
@@ -294,7 +294,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 22, struct_CalibData, NULL),
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -275,7 +275,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -277,7 +277,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "manuallyEdited", 1 ),
|
||||
YAML_SIGNED( "timezoneMinutes", 3 ),
|
||||
YAML_ENUM("hatsMode", 2, enum_HatsMode),
|
||||
YAML_PADDING( 2 ),
|
||||
YAML_UNSIGNED( "ppmunit", 2 ),
|
||||
YAML_CUSTOM("semver",nullptr,w_semver),
|
||||
YAML_CUSTOM("board",nullptr,w_board),
|
||||
YAML_ARRAY("calib", 48, 12, struct_CalibData, NULL),
|
||||
|
||||
@@ -889,13 +889,13 @@ char *getSourceCustomValueString(char (&dest)[L], source_t source, int32_t val,
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags);
|
||||
}
|
||||
else if (source <= MIXSRC_LAST_CH) {
|
||||
#if defined(PPM_UNIT_PERCENT_PREC1)
|
||||
val = calcRESXto1000(val);
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags | PREC1);
|
||||
#else
|
||||
val = calcRESXto100(val);
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags);
|
||||
#endif
|
||||
if (g_eeGeneral.ppmunit == PPM_PERCENT_PREC1) {
|
||||
val = calcRESXto1000(val);
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags | PREC1);
|
||||
} else {
|
||||
val = calcRESXto100(val);
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags);
|
||||
}
|
||||
}
|
||||
else {
|
||||
BitmapBuffer::formatNumberAsString(dest, len, val, flags);
|
||||
|
||||
@@ -102,6 +102,7 @@ ISTR(FSGROUPS);
|
||||
ISTR(ADCFILTERVALUES);
|
||||
ISTR(TIMER_DIR);
|
||||
ISTR(PREFLIGHT_POTSLIDER_CHECK);
|
||||
ISTR(PPMUNIT);
|
||||
|
||||
#if defined(HELI)
|
||||
ISTR(VSWASHTYPE);
|
||||
@@ -385,6 +386,7 @@ const char STR_BATT_CALIB[] = TR_BATT_CALIB;
|
||||
const char STR_VOLTAGE[] = TR_VOLTAGE;
|
||||
const char STR_CURRENT_CALIB[] = TR_CURRENT_CALIB;
|
||||
const char STR_UNITS_SYSTEM[] = TR_UNITS_SYSTEM;
|
||||
const char STR_UNITS_PPM[] = TR_UNITS_PPM;
|
||||
const char STR_VOICE_LANGUAGE[] = TR_VOICE_LANGUAGE;
|
||||
const char STR_MODELIDUSED[] = TR_MODELIDUSED;
|
||||
const char STR_MODELIDUNIQUE[] = TR_MODELIDUNIQUE;
|
||||
|
||||
@@ -240,6 +240,7 @@ extern const char STR_FILE_SIZE[];
|
||||
extern const char STR_FILE_OPEN[];
|
||||
extern const char* const STR_TIMER_MODES[];
|
||||
extern const char* const STR_MONTHS[];
|
||||
extern const char* const STR_PPMUNIT[];
|
||||
|
||||
extern const char STR_BLUETOOTH[];
|
||||
extern const char STR_BLUETOOTH_DISC[];
|
||||
@@ -614,6 +615,7 @@ extern const char STR_BATT_CALIB[];
|
||||
extern const char STR_VOLTAGE[];
|
||||
extern const char STR_CURRENT_CALIB[];
|
||||
extern const char STR_UNITS_SYSTEM[];
|
||||
extern const char STR_UNITS_PPM[];
|
||||
extern const char STR_VOICE_LANGUAGE[];
|
||||
extern const char STR_MODELIDUSED[];
|
||||
extern const char STR_MODELIDUNIQUE[];
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
#define TR_TEXT_SIZE "标准","小","较小","中等","双倍"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA "(中点)", "=(整体)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -796,6 +797,7 @@
|
||||
#define TR_JACK_MODE "教练插口模式"
|
||||
#define TR_VOICE_LANGUAGE "播报语言"
|
||||
#define TR_UNITS_SYSTEM "单位"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "编辑"
|
||||
#define TR_INSERT_BEFORE "在本条前插入"
|
||||
#define TR_INSERT_AFTER "在本条后插入"
|
||||
|
||||
@@ -216,6 +216,7 @@
|
||||
#define TR_VCELLINDEX "Nízký","1","2","3","4","5","6","7","8","Nejvíce","Delta"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA"(pouze středy)","= (symetrický)"
|
||||
#define TR_TIMER_DIR TR("Zbývající", "Zobrazit zbývající"), TR("Uplynulý", "Zobrazit uplynulý")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
// ZERO TERMINATED STRINGS
|
||||
|
||||
@@ -813,6 +814,7 @@
|
||||
#define TR_JACK_MODE "Režim Jack"
|
||||
#define TR_VOICE_LANGUAGE "Jazyk hlasu"
|
||||
#define TR_UNITS_SYSTEM "Jednotky"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Upravit"
|
||||
#define TR_INSERT_BEFORE "Vložit před"
|
||||
#define TR_INSERT_AFTER "Vložit za"
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Tynd","Lille","Medium","Dobbelt"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center kun)","= (symmetrisk)"
|
||||
#define TR_TIMER_DIR TR("Rest", "Vis rest"), TR("Gået tid", "Vis gået tid")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -812,6 +813,7 @@
|
||||
#define TR_JACK_MODE "Jack tilstand"
|
||||
#define TR_VOICE_LANGUAGE "Stemme sprog"
|
||||
#define TR_UNITS_SYSTEM "Enheder"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Rediger"
|
||||
#define TR_INSERT_BEFORE "Insæt før"
|
||||
#define TR_INSERT_AFTER "Insæt efter"
|
||||
|
||||
@@ -207,6 +207,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Winzig","Klein","Mittel","Gross"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Rückw.", "Rückwärts"), TR("Vorwä.", "Vorwärts")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
// ZERO TERMINATED STRINGS
|
||||
|
||||
@@ -801,6 +802,7 @@
|
||||
#define TR_JACK_MODE "Jack Mode"
|
||||
#define TR_VOICE_LANGUAGE "Sprachansagen"
|
||||
#define TR_UNITS_SYSTEM "Einheiten"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Zeile Editieren"
|
||||
#define TR_INSERT_BEFORE "Neue Zeile davor"
|
||||
#define TR_INSERT_AFTER "Neue Zeile danach"
|
||||
|
||||
@@ -209,6 +209,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Tiny","Small","Mid","Double"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -807,6 +808,7 @@
|
||||
#define TR_JACK_MODE "Jack mode"
|
||||
#define TR_VOICE_LANGUAGE "Voice language"
|
||||
#define TR_UNITS_SYSTEM "Units"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Edit"
|
||||
#define TR_INSERT_BEFORE "Insert before"
|
||||
#define TR_INSERT_AFTER "Insert after"
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
#define TR_TEXT_SIZE "Normal","Muy pequeño","Pequeño","Medio","Doble"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -802,6 +803,7 @@
|
||||
#define TR_JACK_MODE "Modo Jack"
|
||||
#define TR_VOICE_LANGUAGE "Idioma voces"
|
||||
#define TR_UNITS_SYSTEM "Unidades"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Editar"
|
||||
#define TR_INSERT_BEFORE "Insertar antes"
|
||||
#define TR_INSERT_AFTER "Insertar después"
|
||||
|
||||
@@ -215,6 +215,7 @@
|
||||
#define TR_VCELLINDEX "Alin","1","2","3","4","5","6","7","8","Korkein","Ero"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -817,6 +818,7 @@
|
||||
#define TR_JACK_MODE "Jack Mode"
|
||||
#define TR_VOICE_LANGUAGE "Äänen kieli"
|
||||
#define TR_UNITS_SYSTEM "Units"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Edit"
|
||||
#define TR_INSERT_BEFORE "Insert Before"
|
||||
#define TR_INSERT_AFTER "Insert After"
|
||||
|
||||
@@ -216,6 +216,7 @@
|
||||
#define TR_VCELLINDEX "Mini.","1","2","3","4","5","6","7","8","Maxi.","Diff."
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (centre seulement)","= (symétrique)"
|
||||
#define TR_TIMER_DIR TR("Reste", "Voir restant"), TR("Écoulé", "Voir écoulé")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
// ZERO TERMINATED STRINGS
|
||||
|
||||
@@ -813,6 +814,7 @@
|
||||
#define TR_JACK_MODE "Mode Jack"
|
||||
#define TR_VOICE_LANGUAGE TR("Langue voix", "Langue annonces vocales")
|
||||
#define TR_UNITS_SYSTEM "Unités"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Éditer"
|
||||
#define TR_INSERT_BEFORE "Insérer avant"
|
||||
#define TR_INSERT_AFTER "Insérer après"
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Tiny","Small","Mid","Double"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -812,6 +813,7 @@
|
||||
#define TR_JACK_MODE "Jack mode"
|
||||
#define TR_VOICE_LANGUAGE "שפת שמע"
|
||||
#define TR_UNITS_SYSTEM "יחידות"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "ערוך"
|
||||
#define TR_INSERT_BEFORE "כלול לפני"
|
||||
#define TR_INSERT_AFTER "כלול אחרי"
|
||||
|
||||
@@ -209,6 +209,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Minusc.","Piccolo","Medio","Doppio"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Riman.", "Mostra Riman."), TR("Trasc.", "Mostra Trascorso")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -806,6 +807,7 @@
|
||||
#define TR_JACK_MODE "Modo JACK"
|
||||
#define TR_VOICE_LANGUAGE "Lingua vocale"
|
||||
#define TR_UNITS_SYSTEM "Unità"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Modifica"
|
||||
#define TR_INSERT_BEFORE "Inserisci prima"
|
||||
#define TR_INSERT_AFTER "Inserisci dopo"
|
||||
|
||||
@@ -209,6 +209,7 @@
|
||||
#define TR_TEXT_SIZE "標準","極小","小","中","2倍"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (中央)","= (全体)"
|
||||
#define TR_TIMER_DIR TR("Remain", "残り時間表示"), TR("Elaps.", "経過時間表示")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -802,6 +803,7 @@
|
||||
#define TR_JACK_MODE "Jackモード"
|
||||
#define TR_VOICE_LANGUAGE "音声言語"
|
||||
#define TR_UNITS_SYSTEM "ユニット"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "編集"
|
||||
#define TR_INSERT_BEFORE "前に挿入"
|
||||
#define TR_INSERT_AFTER "後に挿入"
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Tiny","Small","Mid","Double"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -803,6 +804,7 @@
|
||||
#define TR_JACK_MODE "Jack Mode"
|
||||
#define TR_VOICE_LANGUAGE "Taal"
|
||||
#define TR_UNITS_SYSTEM "Eenheden"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Wijzigen"
|
||||
#define TR_INSERT_BEFORE "Invoegen ervoor"
|
||||
#define TR_INSERT_AFTER "Invoegen erna"
|
||||
|
||||
@@ -205,6 +205,7 @@
|
||||
#define TR_TEXT_SIZE "Standard","Tiny","Small","Mid","Double"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA" (center only)","= (symetrical)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -799,6 +800,7 @@
|
||||
#define TR_JACK_MODE "Tryb Jack"
|
||||
#define TR_VOICE_LANGUAGE "Język głosu"
|
||||
#define TR_UNITS_SYSTEM "Jednostki"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Edytuj"
|
||||
#define TR_INSERT_BEFORE "Wstaw przed"
|
||||
#define TR_INSERT_AFTER "Wstaw za"
|
||||
|
||||
@@ -212,6 +212,7 @@
|
||||
#define TR_TEXT_SIZE "Padrao","Minusculo","Pequeno","Medio","Dobro"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (center only)","= (symmetrical)"
|
||||
#define TR_TIMER_DIR TR("Restan", "Restante"), TR("Passd.", "Passado")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -810,6 +811,7 @@
|
||||
#define TR_JACK_MODE "Jack mode"
|
||||
#define TR_VOICE_LANGUAGE "Idoma da Voz"
|
||||
#define TR_UNITS_SYSTEM "Unidades"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Editar"
|
||||
#define TR_INSERT_BEFORE "Inserir antes"
|
||||
#define TR_INSERT_AFTER "Inserir depois"
|
||||
|
||||
@@ -221,6 +221,7 @@
|
||||
#define TR_VCELLINDEX "Lägsta","1","2","3","4","5","6","7","8","Högsta","Skillnad"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA " (endast center)","= (symmetrisk)"
|
||||
#define TR_TIMER_DIR TR("Återst.", "Visa återstående"), TR("Förbrukad", "Visa förbrukad")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -824,6 +825,7 @@
|
||||
#define TR_JACK_MODE "Uttagsläge"
|
||||
#define TR_VOICE_LANGUAGE "Röstspråk"
|
||||
#define TR_UNITS_SYSTEM "Enheter"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "Redigera"
|
||||
#define TR_INSERT_BEFORE "Addera före"
|
||||
#define TR_INSERT_AFTER "Addera efter"
|
||||
|
||||
@@ -210,6 +210,7 @@
|
||||
#define TR_TEXT_SIZE "標準","小","較小","中等","雙倍"
|
||||
#define TR_SUBTRIMMODES STR_CHAR_DELTA "(中点)","=(整體)"
|
||||
#define TR_TIMER_DIR TR("Remain", "Show Remain"), TR("Elaps.", "Show Elapsed")
|
||||
#define TR_PPMUNIT "0.--","0.0","us"
|
||||
|
||||
#if defined(COLORLCD)
|
||||
#if defined(BOLD)
|
||||
@@ -802,6 +803,7 @@
|
||||
#define TR_JACK_MODE "教練插口模式"
|
||||
#define TR_VOICE_LANGUAGE "播報語言"
|
||||
#define TR_UNITS_SYSTEM "單位"
|
||||
#define TR_UNITS_PPM "PPM Units"
|
||||
#define TR_EDIT "編輯"
|
||||
#define TR_INSERT_BEFORE "在本條前插入"
|
||||
#define TR_INSERT_AFTER "在本條後插入"
|
||||
|
||||
@@ -25,7 +25,6 @@ tts_languages = {
|
||||
|
||||
options_sky9x = {
|
||||
"heli": ("HELI", "YES", "NO"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"gvars": ("GVARS", "YES", "NO"),
|
||||
"potscroll": ("NAVIGATION", "POTS", "NO"),
|
||||
"autosource": ("AUTOSOURCE", "YES", "NO"),
|
||||
@@ -45,7 +44,6 @@ options_sky9x = {
|
||||
|
||||
options_ar9x = {
|
||||
"heli": ("HELI", "YES", "NO"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"gvars": ("GVARS", "YES", "NO"),
|
||||
"potscroll": ("NAVIGATION", "POTS", "NO"),
|
||||
"autosource": ("AUTOSOURCE", "YES", "NO"),
|
||||
@@ -66,7 +64,6 @@ options_ar9x = {
|
||||
|
||||
options_taranis_x9d = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"haptic": ("HAPTIC", "YES", "NO"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
@@ -82,7 +79,6 @@ options_taranis_x9d = {
|
||||
|
||||
options_taranis_x9dp = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -96,7 +92,6 @@ options_taranis_x9dp = {
|
||||
}
|
||||
options_taranis_x7 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -109,7 +104,6 @@ options_taranis_x7 = {
|
||||
|
||||
options_taranis_x9lite = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -123,7 +117,6 @@ options_taranis_x9lite = {
|
||||
|
||||
options_taranis_xlite = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -137,7 +130,6 @@ options_taranis_xlite = {
|
||||
|
||||
options_taranis_xlites = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -151,7 +143,6 @@ options_taranis_xlites = {
|
||||
|
||||
options_taranis_x9e = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"sqt5font": ("FONT", "SQT5", None),
|
||||
@@ -167,7 +158,6 @@ options_taranis_x9e = {
|
||||
|
||||
options_horus_x12s = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -182,7 +172,6 @@ options_horus_x12s = {
|
||||
|
||||
options_horus_x10 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -196,7 +185,6 @@ options_horus_x10 = {
|
||||
|
||||
options_horus_x10express = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"luac": ("LUA_COMPILER", "YES", "NO"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
@@ -209,7 +197,6 @@ options_horus_x10express = {
|
||||
|
||||
options_betafpv_lr3pro = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -220,7 +207,6 @@ options_betafpv_lr3pro = {
|
||||
|
||||
options_jumper_tlite = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -232,7 +218,6 @@ options_jumper_tlite = {
|
||||
|
||||
options_jumper_t12 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -245,7 +230,6 @@ options_jumper_t12 = {
|
||||
|
||||
options_jumper_t16 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -259,7 +243,6 @@ options_jumper_t16 = {
|
||||
|
||||
options_jumper_t18 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -272,7 +255,6 @@ options_jumper_t18 = {
|
||||
|
||||
options_radiomaster_tx12 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -284,7 +266,6 @@ options_radiomaster_tx12 = {
|
||||
|
||||
options_radiomaster_tx12mk2 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -297,7 +278,6 @@ options_radiomaster_tx12mk2 = {
|
||||
|
||||
options_radiomaster_zorro = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -310,7 +290,6 @@ options_radiomaster_zorro = {
|
||||
|
||||
options_radiomaster_boxer = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -323,7 +302,6 @@ options_radiomaster_boxer = {
|
||||
|
||||
options_radiomaster_t8 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -334,7 +312,6 @@ options_radiomaster_t8 = {
|
||||
|
||||
options_radiomaster_tx16s = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
@@ -348,7 +325,6 @@ options_radiomaster_tx16s = {
|
||||
|
||||
options_commando8_t8 = {
|
||||
"noheli": ("HELI", "NO", "YES"),
|
||||
"ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"),
|
||||
"lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"),
|
||||
"nogvars": ("GVARS", "NO", "YES"),
|
||||
"faimode": ("FAI", "YES", None),
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
export BRANCH_NAME="main" # main|2.9|...
|
||||
export RADIO_TYPE="tx16s" # tx16s|x10|x10-access|x12s|x9d|x9dp|x9lite|x9lites|x7|x7-access|t12|tx12|tx12mk2|boxer|t8|zorro|pocket|tlite|tpro|t20|lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t16|t18|nv14|commando8
|
||||
|
||||
export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES -DPPM_UNIT=US"
|
||||
export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES"
|
||||
|
||||
echo "Building ${fw_name}"
|
||||
case $RADIO_TYPE in
|
||||
|
||||
Reference in New Issue
Block a user