diff --git a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp index bed5664c5..e2852dd92 100644 --- a/companion/src/firmwares/edgetx/yaml_generalsettings.cpp +++ b/companion/src/firmwares/edgetx/yaml_generalsettings.cpp @@ -224,6 +224,7 @@ Node convert::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::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); diff --git a/companion/src/firmwares/eeprominterface.h b/companion/src/firmwares/eeprominterface.h index 710ee259f..a757ffd2c 100644 --- a/companion/src/firmwares/eeprominterface.h +++ b/companion/src/firmwares/eeprominterface.h @@ -118,7 +118,6 @@ enum Capability { HasModuleR9MFlex, HasModuleR9MMini, PPMCenter, - PPMUnitMicroseconds, SYMLimits, HastxCurrentCalibration, HasVolume, diff --git a/companion/src/firmwares/generalsettings.h b/companion/src/firmwares/generalsettings.h index 794067ebd..052c3a170 100644 --- a/companion/src/firmwares/generalsettings.h +++ b/companion/src/firmwares/generalsettings.h @@ -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; diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 7bf3ed0a6..905adff08 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -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")); } diff --git a/companion/src/generaledit/generalsetup.cpp b/companion/src/generaledit/generalsetup.cpp index f58c932d1..f0ad1bf80 100644 --- a/companion/src/generaledit/generalsetup.cpp +++ b/companion/src/generaledit/generalsetup.cpp @@ -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; diff --git a/companion/src/generaledit/generalsetup.h b/companion/src/generaledit/generalsetup.h index d3675a295..59c45ba2d 100644 --- a/companion/src/generaledit/generalsetup.h +++ b/companion/src/generaledit/generalsetup.h @@ -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(); diff --git a/companion/src/generaledit/generalsetup.ui b/companion/src/generaledit/generalsetup.ui index c151b300b..976ce72ad 100644 --- a/companion/src/generaledit/generalsetup.ui +++ b/companion/src/generaledit/generalsetup.ui @@ -7,7 +7,7 @@ 0 0 858 - 880 + 891 @@ -2485,6 +2485,35 @@ p, li { white-space: pre-wrap; } + + + + PPM Units + + + + + + + 0.-- + + + + 0.-- + + + + + 0.0 + + + + + us + + + + diff --git a/companion/src/modeledit/channels.cpp b/companion/src/modeledit/channels.cpp index 19f020e9d..535c73bec 100644 --- a/companion/src/modeledit/channels.cpp +++ b/companion/src/modeledit/channels.cpp @@ -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); diff --git a/companion/src/modeledit/channels.h b/companion/src/modeledit/channels.h index 572734df4..a3db0e73a 100644 --- a/companion/src/modeledit/channels.h +++ b/companion/src/modeledit/channels.h @@ -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(); diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 5f6741d3b..8765c7eb3 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -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() diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 645a625f2..556c59df6 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -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_ diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index b10efab5a..9660466fb 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.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; diff --git a/radio/src/gui/128x64/model_failsafe.cpp b/radio/src/gui/128x64/model_failsafe.cpp index 20e00c190..c36225946 100644 --- a/radio/src/gui/128x64/model_failsafe.cpp +++ b/radio/src/gui/128x64/model_failsafe.cpp @@ -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 diff --git a/radio/src/gui/128x64/model_outputs.cpp b/radio/src/gui/128x64/model_outputs.cpp index a766f5648..737ebb97c 100644 --- a/radio/src/gui/128x64/model_outputs.cpp +++ b/radio/src/gui/128x64/model_outputs.cpp @@ -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; joffset*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; diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 5d1b18c9c..1bb4b13ed 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -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); diff --git a/radio/src/gui/128x64/view_channels.cpp b/radio/src/gui/128x64/view_channels.cpp index 2c4bdf36f..904979c34 100644 --- a/radio/src/gui/128x64/view_channels.cpp +++ b/radio/src/gui/128x64/view_channels.cpp @@ -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); diff --git a/radio/src/gui/128x64/view_main.cpp b/radio/src/gui/128x64/view_main.cpp index bc9286579..8250bb595 100644 --- a/radio/src/gui/128x64/view_main.cpp +++ b/radio/src/gui/128x64/view_main.cpp @@ -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); diff --git a/radio/src/gui/212x64/model_failsafe.cpp b/radio/src/gui/212x64/model_failsafe.cpp index 94f882690..5fa5190b6 100644 --- a/radio/src/gui/212x64/model_failsafe.cpp +++ b/radio/src/gui/212x64/model_failsafe.cpp @@ -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 diff --git a/radio/src/gui/212x64/model_outputs.cpp b/radio/src/gui/212x64/model_outputs.cpp index 832143c71..d46b4d3a1 100644 --- a/radio/src/gui/212x64/model_outputs.cpp +++ b/radio/src/gui/212x64/model_outputs.cpp @@ -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; diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index 737efa66a..84a3e8d28 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -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); diff --git a/radio/src/gui/212x64/view_channels.cpp b/radio/src/gui/212x64/view_channels.cpp index 28c46e2f6..40495df2f 100644 --- a/radio/src/gui/212x64/view_channels.cpp +++ b/radio/src/gui/212x64/view_channels.cpp @@ -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); diff --git a/radio/src/gui/colorlcd/draw_functions.cpp b/radio/src/gui/colorlcd/draw_functions.cpp index cf0ffeb9f..51b642ac1 100644 --- a/radio/src/gui/colorlcd/draw_functions.cpp +++ b/radio/src/gui/colorlcd/draw_functions.cpp @@ -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); diff --git a/radio/src/gui/colorlcd/radio_setup.cpp b/radio/src/gui/colorlcd/radio_setup.cpp index 5cbab0a33..ee33cbc7b 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -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"); diff --git a/radio/src/gui/colorlcd/radio_trainer.cpp b/radio/src/gui/colorlcd/radio_trainer.cpp index 40e2cee06..ea12daf85 100644 --- a/radio/src/gui/colorlcd/radio_trainer.cpp +++ b/radio/src/gui/colorlcd/radio_trainer.cpp @@ -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(line, rect_t{}, [=]() { return (trainerInput[i] - g_eeGeneral.trainer.calib[i]) * 2; }, - LEFT | PPM_PRECISION | COLOR_THEME_PRIMARY1); + flags); } auto line = form->newLine(&grid); diff --git a/radio/src/gui/common/stdlcd/draw_functions.cpp b/radio/src/gui/common/stdlcd/draw_functions.cpp index 29001cdf4..fb54cba27 100644 --- a/radio/src/gui/common/stdlcd/draw_functions.cpp +++ b/radio/src/gui/common/stdlcd/draw_functions.cpp @@ -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); diff --git a/radio/src/gui/common/stdlcd/radio_trainer.cpp b/radio/src/gui/common/stdlcd/radio_trainer.cpp index e2206e752..dd600d8ce 100644 --- a/radio/src/gui/common/stdlcd/radio_trainer.cpp +++ b/radio/src/gui/common/stdlcd/radio_trainer.cpp @@ -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) { diff --git a/radio/src/options.h b/radio/src/options.h index 4c76f0990..25fc5cc7b 100644 --- a/radio/src/options.h +++ b/radio/src/options.h @@ -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 diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index b1a214dae..afd300585 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 20caa171c..fc56ff139 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_t20.cpp b/radio/src/storage/yaml/yaml_datastructs_t20.cpp index dc4c37014..3dabfcf29 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t20.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t20.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 21d198389..958b1f9bd 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index eeb89c5bf..ff5e3216b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index eeb89c5bf..ff5e3216b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 4c144a6bb..025bbef69 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index ba2ea2741..1ee595873 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index 8a15f0fb4..bbee2b35f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -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), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 246d8f399..da96fa006 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -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), diff --git a/radio/src/strhelpers.cpp b/radio/src/strhelpers.cpp index c521e4b32..01eaa4e90 100644 --- a/radio/src/strhelpers.cpp +++ b/radio/src/strhelpers.cpp @@ -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); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index da9545a0b..ce4c512ff 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -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; diff --git a/radio/src/translations.h b/radio/src/translations.h index 67007816e..4e646fcaf 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -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[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 663e5a5b7..953b0dc39 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -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 "在本条后插入" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index 1adb2c94c..29303bb2f 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -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" diff --git a/radio/src/translations/da.h b/radio/src/translations/da.h index 3fb36648e..6cbe97479 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -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" diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 12196407d..06e313b3d 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -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" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 5d0d2aecb..a6e7cef0e 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -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" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index c7cf257ed..82857dd59 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -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" diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index caa5b61d1..42fffdc54 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -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" diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 79efc0757..fc116ae33 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -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" diff --git a/radio/src/translations/he.h b/radio/src/translations/he.h index d12921701..31016d2bd 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/he.h @@ -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 "כלול אחרי" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index ae817e416..d6b2c564f 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -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" diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index 2fc30fc08..500dad692 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -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 "後に挿入" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index bd9c477a4..c66c12ad9 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -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" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index f4bd540c6..7fbab149a 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -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" diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index cf8176410..f16dd8c4a 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -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" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index 2d72ba38d..51ee8231f 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -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" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index a317452c4..77da538ff 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -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 "在本條後插入" diff --git a/radio/util/fwoptions.py b/radio/util/fwoptions.py index 24b5fbd53..a74b8189e 100755 --- a/radio/util/fwoptions.py +++ b/radio/util/fwoptions.py @@ -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), diff --git a/tools/msys2_fetch_and_build_all.sh b/tools/msys2_fetch_and_build_all.sh index 365f9510f..60c201fc9 100644 --- a/tools/msys2_fetch_and_build_all.sh +++ b/tools/msys2_fetch_and_build_all.sh @@ -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