From ef6316ef6c304f01141f6d5ef88a3c8f14f258a2 Mon Sep 17 00:00:00 2001 From: philmoz Date: Fri, 29 Sep 2023 18:19:06 +1000 Subject: [PATCH] chore(radio): Move const data from RAM to FLASH. (#4098) Co-authored-by: philmoz --- radio/src/crc.cpp | 2 +- radio/src/crc.h | 2 +- radio/src/gui/128x64/model_gvars.cpp | 2 +- radio/src/gui/212x64/model_gvars.cpp | 2 +- radio/src/gui/colorlcd/afhds3_options.cpp | 10 ++--- radio/src/gui/colorlcd/afhds3_settings.cpp | 4 +- radio/src/gui/colorlcd/color_editor.cpp | 8 ++-- radio/src/gui/colorlcd/color_editor.h | 6 +-- radio/src/gui/colorlcd/model_telemetry.cpp | 4 +- radio/src/gui/colorlcd/multi_rfprotos.cpp | 2 +- radio/src/gui/colorlcd/theme_manager.cpp | 2 +- .../src/gui/colorlcd/themes/etx_lv_theme.cpp | 6 +-- radio/src/pulses/multi.cpp | 2 +- radio/src/targets/common/arm/stm32/cpu_id.cpp | 2 +- radio/src/targets/common/arm/stm32/cpu_id.h | 2 +- radio/src/telemetry/ghost.cpp | 4 +- radio/src/thirdparty/Lua/src/linit.c | 4 +- .../libopenui/src/keyboard_number.cpp | 4 +- radio/src/translations.cpp | 9 ++++- radio/src/translations.h | 9 ++++- radio/src/translations/cn.h | 8 +++- radio/src/translations/cz.h | 8 +++- radio/src/translations/da.h | 8 +++- radio/src/translations/de.h | 8 +++- radio/src/translations/en.h | 8 +++- radio/src/translations/es.h | 8 +++- radio/src/translations/fi.h | 8 +++- radio/src/translations/fr.h | 8 +++- radio/src/translations/he.h | 38 +++---------------- radio/src/translations/it.h | 8 +++- radio/src/translations/jp.h | 8 +++- radio/src/translations/nl.h | 8 +++- radio/src/translations/pl.h | 8 +++- radio/src/translations/pt.h | 8 +++- radio/src/translations/se.h | 8 +++- radio/src/translations/tw.h | 8 +++- radio/util/hw_defs/generator.py | 12 +++--- radio/util/hw_defs/hal_adc_inputs.jinja | 8 ++-- 38 files changed, 154 insertions(+), 110 deletions(-) diff --git a/radio/src/crc.cpp b/radio/src/crc.cpp index 5f8c6b1d1..627791a16 100644 --- a/radio/src/crc.cpp +++ b/radio/src/crc.cpp @@ -92,7 +92,7 @@ static const unsigned short crc16tab_1189[256] = { 0x7bc7,0x6a4e,0x58d5,0x495c,0x3de3,0x2c6a,0x1ef1,0x0f78 }; -const unsigned short * crc16tab[] = { +const unsigned short * const crc16tab[] = { crc16tab_1021, crc16tab_1189 }; diff --git a/radio/src/crc.h b/radio/src/crc.h index 52b3fe887..ac03dff81 100644 --- a/radio/src/crc.h +++ b/radio/src/crc.h @@ -29,7 +29,7 @@ enum { CRC_1189, }; -extern const unsigned short * crc16tab[2]; +extern const unsigned short * const crc16tab[2]; uint8_t crc8(const uint8_t * ptr, uint32_t len); uint8_t crc8_BA(const uint8_t * ptr, uint32_t len); diff --git a/radio/src/gui/128x64/model_gvars.cpp b/radio/src/gui/128x64/model_gvars.cpp index acb73ef81..17ba31858 100644 --- a/radio/src/gui/128x64/model_gvars.cpp +++ b/radio/src/gui/128x64/model_gvars.cpp @@ -63,7 +63,7 @@ enum GVarFields { #define GVAR_2ND_COLUMN (12*FW) -static const char* _str_units[] = { "-", "%" }; +static const char* const _str_units[] = { "-", "%" }; void menuModelGVarOne(event_t event) { diff --git a/radio/src/gui/212x64/model_gvars.cpp b/radio/src/gui/212x64/model_gvars.cpp index 3983b0850..f85280084 100644 --- a/radio/src/gui/212x64/model_gvars.cpp +++ b/radio/src/gui/212x64/model_gvars.cpp @@ -65,7 +65,7 @@ enum GVarFields { #define GVAR_2ND_COLUMN (12*FW) -static const char* _str_units[] = { "-", "%" }; +static const char* const _str_units[] = { "-", "%" }; void menuModelGVarOne(event_t event) { diff --git a/radio/src/gui/colorlcd/afhds3_options.cpp b/radio/src/gui/colorlcd/afhds3_options.cpp index 0594d8fe4..9a749e340 100644 --- a/radio/src/gui/colorlcd/afhds3_options.cpp +++ b/radio/src/gui/colorlcd/afhds3_options.cpp @@ -29,11 +29,11 @@ static const lv_coord_t row_dsc[] = {LV_GRID_CONTENT, #define SET_DIRTY() -static const char* _analog_outputs[] = { "PWM", "PPM" }; -static const char* _bus_types[] = { "iBUS OUT", "iBUS IN", "SBUS" }; -static const char* _v1_bus_types[] = { "PWM", "PPM", "SBUS", "iBUS IN", "iBUS OUT" }; -static const char* _v1_pwmfreq_types[] = { STR_ANALOG_SERVO, STR_DIGITAL_SERVO, "SR833HZ", "SFR1000HZ", STR_MULTI_CUSTOM }; -static const char* _v0_pwmfreq_types[] = { STR_ANALOG_SERVO, STR_DIGITAL_SERVO, STR_MULTI_CUSTOM }; +static const char* const _analog_outputs[] = { "PWM", "PPM" }; +static const char* const _bus_types[] = { "iBUS OUT", "iBUS IN", "SBUS" }; +static const char* const _v1_bus_types[] = { "PWM", "PPM", "SBUS", "iBUS IN", "iBUS OUT" }; +static const char* const _v1_pwmfreq_types[] = { STR_ANALOG_SERVO, STR_DIGITAL_SERVO, "SR833HZ", "SFR1000HZ", STR_MULTI_CUSTOM }; +static const char* const _v0_pwmfreq_types[] = { STR_ANALOG_SERVO, STR_DIGITAL_SERVO, STR_MULTI_CUSTOM }; static const uint16_t _v1_index2pwmvalue[] = {50, 333, 2, 1, 50}; static const uint16_t _v0_index2pwmvalue[] = {50, 333, 50}; diff --git a/radio/src/gui/colorlcd/afhds3_settings.cpp b/radio/src/gui/colorlcd/afhds3_settings.cpp index f214db8bf..265c721cd 100644 --- a/radio/src/gui/colorlcd/afhds3_settings.cpp +++ b/radio/src/gui/colorlcd/afhds3_settings.cpp @@ -23,9 +23,9 @@ #include "afhds3_options.h" #include "opentx.h" -static const char* _afhds3_region[] = { "CE", "FCC" }; +static const char* const _afhds3_region[] = { "CE", "FCC" }; -static const char* _afhds3_phy_mode[] = { +static const char* const _afhds3_phy_mode[] = { // V0 "Classic 18ch", "C-Fast 10ch", diff --git a/radio/src/gui/colorlcd/color_editor.cpp b/radio/src/gui/colorlcd/color_editor.cpp index 191118cd9..cca779eda 100644 --- a/radio/src/gui/colorlcd/color_editor.cpp +++ b/radio/src/gui/colorlcd/color_editor.cpp @@ -26,8 +26,8 @@ constexpr int BAR_MARGIN = 5; constexpr int BAR_TOP_MARGIN = 5; constexpr int BAR_HEIGHT_OFFSET = BAR_TOP_MARGIN + 25; -static const char *RGBChars[MAX_BARS] = { "R", "G", "B" }; -static const char *HSVChars[MAX_BARS] = { "H", "S", "V" }; +static const char * const RGBChars[MAX_BARS] = { "R", "G", "B" }; +static const char * const HSVChars[MAX_BARS] = { "H", "S", "V" }; void ColorBar::pressing(lv_event_t* e) { @@ -276,7 +276,7 @@ uint32_t HSVColorType::getRGB() return HSVtoRGB(bars[0]->value, bars[1]->value, bars[2]->value); } -const char** HSVColorType::getLabelChars() +const char* const* HSVColorType::getLabelChars() { return HSVChars; } @@ -306,7 +306,7 @@ uint32_t RGBColorType::getRGB() return RGB(bars[0]->value, bars[1]->value, bars[2]->value); } -const char** RGBColorType::getLabelChars() +const char* const* RGBColorType::getLabelChars() { return RGBChars; } diff --git a/radio/src/gui/colorlcd/color_editor.h b/radio/src/gui/colorlcd/color_editor.h index 598f2a28d..a5183b91d 100644 --- a/radio/src/gui/colorlcd/color_editor.h +++ b/radio/src/gui/colorlcd/color_editor.h @@ -75,7 +75,7 @@ protected: lv_obj_t* barLabels[MAX_BARS]; lv_obj_t* barValLabels[MAX_BARS]; - virtual const char** getLabelChars() { return nullptr; }; + virtual const char* const* getLabelChars() { return nullptr; }; lv_obj_t* create_bar_label(lv_obj_t* parent, lv_coord_t x, lv_coord_t y); lv_obj_t* create_bar_value_label(lv_obj_t* parent, lv_coord_t x, lv_coord_t y); @@ -88,7 +88,7 @@ public: uint32_t getRGB() override; protected: - const char** getLabelChars() override; + const char* const* getLabelChars() override; }; // Color editor for RGB color input @@ -98,7 +98,7 @@ public: uint32_t getRGB() override; protected: - const char** getLabelChars() override; + const char* const* getLabelChars() override; }; // Color editor that shows the system theme colors as buttons diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index 5c6ac0810..ac3547355 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -187,7 +187,7 @@ class TSStyle static TSStyle tsStyle; -static uint8_t freshBitmap[] = { +static uint8_t const freshBitmap[] = { 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, @@ -290,7 +290,7 @@ class SensorButton : public Button { box = tsStyle.newFreshCont(lvobj); fresh = tsStyle.newFreshIcon(box); - lv_canvas_set_buffer(fresh, freshBitmap, 8, 8, LV_IMG_CF_ALPHA_8BIT); + lv_canvas_set_buffer(fresh, (void*)freshBitmap, 8, 8, LV_IMG_CF_ALPHA_8BIT); lv_obj_add_flag(fresh, LV_OBJ_FLAG_HIDDEN); valLabel = tsStyle.newValue(lvobj); diff --git a/radio/src/gui/colorlcd/multi_rfprotos.cpp b/radio/src/gui/colorlcd/multi_rfprotos.cpp index 1ea47c020..6024c34d7 100644 --- a/radio/src/gui/colorlcd/multi_rfprotos.cpp +++ b/radio/src/gui/colorlcd/multi_rfprotos.cpp @@ -26,7 +26,7 @@ // TODO: format for LCD_WIDTH > LCD_HEIGHT // TODO: translation -const char* RFSCAN_TITLE = "MPM: Scanning protocols..."; +const char* const RFSCAN_TITLE = "MPM: Scanning protocols..."; RfScanDialog::RfScanDialog(Window* parent, MultiRfProtocols* protos, std::function onClose) : diff --git a/radio/src/gui/colorlcd/theme_manager.cpp b/radio/src/gui/colorlcd/theme_manager.cpp index 3d733a9a7..4b9ff4695 100644 --- a/radio/src/gui/colorlcd/theme_manager.cpp +++ b/radio/src/gui/colorlcd/theme_manager.cpp @@ -128,7 +128,7 @@ static const struct YamlNode r_struct_YAMLTheme[] = { YAML_END }; -static const char *colorNames[COLOR_COUNT] = { +static const char * const colorNames[COLOR_COUNT] = { STR_THEME_COLOR_DEFAULT, STR_THEME_COLOR_PRIMARY1, STR_THEME_COLOR_PRIMARY2, STR_THEME_COLOR_PRIMARY3, STR_THEME_COLOR_SECONDARY1, STR_THEME_COLOR_SECONDARY2, STR_THEME_COLOR_SECONDARY3, STR_THEME_COLOR_FOCUS, STR_THEME_COLOR_EDIT, STR_THEME_COLOR_ACTIVE, STR_THEME_COLOR_WARNING, STR_THEME_COLOR_DISABLED, STR_THEME_COLOR_CUSTOM, diff --git a/radio/src/gui/colorlcd/themes/etx_lv_theme.cpp b/radio/src/gui/colorlcd/themes/etx_lv_theme.cpp index 88d9b0870..757cd7410 100644 --- a/radio/src/gui/colorlcd/themes/etx_lv_theme.cpp +++ b/radio/src/gui/colorlcd/themes/etx_lv_theme.cpp @@ -839,7 +839,7 @@ const lv_obj_class_t etx_bar_class = { .destructor_cb = nullptr, .user_data = nullptr, .event_cb = nullptr, - .width_def = lv_pct(100), + .width_def = LV_PCT(100), .height_def = 32, .editable = LV_OBJ_CLASS_EDITABLE_INHERIT, .group_def = LV_OBJ_CLASS_GROUP_DEF_INHERIT, @@ -852,8 +852,8 @@ const lv_obj_class_t etx_checkbox_class = { .destructor_cb = nullptr, .user_data = nullptr, .event_cb = nullptr, - .width_def = lv_pct(100), - .height_def = lv_pct(100), + .width_def = LV_PCT(100), + .height_def = LV_PCT(100), .editable = LV_OBJ_CLASS_EDITABLE_INHERIT, .group_def = LV_OBJ_CLASS_GROUP_DEF_INHERIT, .instance_size = sizeof(lv_checkbox_t), diff --git a/radio/src/pulses/multi.cpp b/radio/src/pulses/multi.cpp index 1d8fbd122..5eea499ee 100644 --- a/radio/src/pulses/multi.cpp +++ b/radio/src/pulses/multi.cpp @@ -53,7 +53,7 @@ static void sendDSM(uint8_t*& p_buf, uint8_t module); #include "hal/module_port.h" -etx_serial_init multiSerialInitParams = { +etx_serial_init const multiSerialInitParams = { .baudrate = MULTIMODULE_BAUDRATE, .encoding = ETX_Encoding_8E2, .direction = ETX_Dir_TX, diff --git a/radio/src/targets/common/arm/stm32/cpu_id.cpp b/radio/src/targets/common/arm/stm32/cpu_id.cpp index 033896e07..43cc12b15 100644 --- a/radio/src/targets/common/arm/stm32/cpu_id.cpp +++ b/radio/src/targets/common/arm/stm32/cpu_id.cpp @@ -24,7 +24,7 @@ #if defined(SIMU) const uint32_t cpu_uid[3] = { 0x12345678, 0x55AA55AA, 0x87654321}; #else -const uint32_t * cpu_uid = (uint32_t *)0x1FFF7A10; +const uint32_t * const cpu_uid = (uint32_t *)0x1FFF7A10; #endif void getCPUUniqueID(char * s) diff --git a/radio/src/targets/common/arm/stm32/cpu_id.h b/radio/src/targets/common/arm/stm32/cpu_id.h index 707f064b8..8aaa43c68 100644 --- a/radio/src/targets/common/arm/stm32/cpu_id.h +++ b/radio/src/targets/common/arm/stm32/cpu_id.h @@ -29,5 +29,5 @@ EXTERN_C(void getCPUUniqueID(char * s)); #if defined(SIMU) extern const uint32_t cpu_uid[3]; #else -extern const uint32_t * cpu_uid; +extern const uint32_t * const cpu_uid; #endif diff --git a/radio/src/telemetry/ghost.cpp b/radio/src/telemetry/ghost.cpp index f9f6c6781..7c051d6f3 100755 --- a/radio/src/telemetry/ghost.cpp +++ b/radio/src/telemetry/ghost.cpp @@ -24,8 +24,8 @@ #include "opentx.h" -const char *ghstRfProfileValue[GHST_RF_PROFILE_COUNT] = { "Auto", "Norm", "Race", "Pure", "Long", "Unused", "Race2", "Pure2" }; -const char *ghstVtxBandName[GHST_VTX_BAND_COUNT] = { "- - -" , "IRC", "Race", "BandE", "BandB", "BandA" }; +const char * const ghstRfProfileValue[GHST_RF_PROFILE_COUNT] = { "Auto", "Norm", "Race", "Pure", "Long", "Unused", "Race2", "Pure2" }; +const char * const ghstVtxBandName[GHST_VTX_BAND_COUNT] = { "- - -" , "IRC", "Race", "BandE", "BandB", "BandA" }; struct GhostSensor { diff --git a/radio/src/thirdparty/Lua/src/linit.c b/radio/src/thirdparty/Lua/src/linit.c index 49cc40d45..3dac78a03 100644 --- a/radio/src/thirdparty/Lua/src/linit.c +++ b/radio/src/thirdparty/Lua/src/linit.c @@ -50,7 +50,7 @@ extern LROT_TABLE(tablib); extern LROT_TABLE(rotables_meta); extern LROT_TABLE(base_func); -static const ROTable* _global_symbols[] = { +static const ROTable* const _global_symbols[] = { LROT_TABLEREF(base_func), LROT_TABLEREF(etxlib), LROT_TABLEREF(etxdir), @@ -61,7 +61,7 @@ static const ROTable* _global_symbols[] = { static int _index_hook_fct(lua_State * L) { - const ROTable** t = _global_symbols; + const ROTable* const* t = _global_symbols; const TValue* res = luaO_nilobject; TString* key; diff --git a/radio/src/thirdparty/libopenui/src/keyboard_number.cpp b/radio/src/thirdparty/libopenui/src/keyboard_number.cpp index 5e1f83ef7..dc7b17596 100644 --- a/radio/src/thirdparty/libopenui/src/keyboard_number.cpp +++ b/radio/src/thirdparty/libopenui/src/keyboard_number.cpp @@ -22,7 +22,7 @@ constexpr coord_t KEYBOARD_HEIGHT = 90; NumberKeyboard * NumberKeyboard::_instance = nullptr; -static const char* number_kb_map[] = { +static const char* const number_kb_map[] = { "<<", "-", "+", ">>", "\n", "MIN", "DEF", "+/-", "MAX", "" }; @@ -71,7 +71,7 @@ NumberKeyboard::NumberKeyboard() : { // setup custom keyboard lv_keyboard_set_map(keyboard, LV_KEYBOARD_MODE_USER_1, - number_kb_map, number_kb_ctrl_map); + (const char**)number_kb_map, number_kb_ctrl_map); lv_keyboard_set_mode(keyboard, LV_KEYBOARD_MODE_USER_1); } diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index de49864a2..0712cda01 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -48,8 +48,6 @@ ISTR(FUNCSOUNDS); ISTR(VTELEMUNIT); ISTR(GPSFORMAT); ISTR(VTELEMSCREENTYPE); -ISTR(STICK_NAMES); -ISTR(SURFACE_NAMES); ISTR(ON_ONE_SWITCHES); #if defined(IMU) ISTR(IMU_VSRCRAW); @@ -1068,3 +1066,10 @@ const char STR_SYNC[] = TR_SYNC; const char STR_ENABLED_FEATURES[] = TR_ENABLED_FEATURES; const char STR_RADIO_MENU_TABS[] = TR_RADIO_MENU_TABS; const char STR_MODEL_MENU_TABS[] = TR_MODEL_MENU_TABS; + +const char STR_STICK_NAMES0[] = TR_STICK_NAMES0; +const char STR_STICK_NAMES1[] = TR_STICK_NAMES1; +const char STR_STICK_NAMES2[] = TR_STICK_NAMES2; +const char STR_STICK_NAMES3[] = TR_STICK_NAMES3; +const char STR_SURFACE_NAMES0[] = TR_SURFACE_NAMES0; +const char STR_SURFACE_NAMES1[] = TR_SURFACE_NAMES1; diff --git a/radio/src/translations.h b/radio/src/translations.h index 6e53a96ea..eca21a41d 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -161,9 +161,7 @@ extern const char* const STR_GPSFORMAT[]; extern const char* const STR_VTELEMSCREENTYPE[]; extern const char* const STR_VSWASHTYPE[]; -extern const char* const STR_STICK_NAMES[]; extern const char* const STR_ON_ONE_SWITCHES[]; -extern const char* const STR_SURFACE_NAMES[]; #if defined(IMU) extern const char* const STR_IMU_VSRCRAW[]; #endif @@ -247,6 +245,13 @@ extern const char* const STR_BLUETOOTH_MODES[]; #define NO_INDENT(x) (x) + LEN_INDENT +extern const char STR_STICK_NAMES0[]; +extern const char STR_STICK_NAMES1[]; +extern const char STR_STICK_NAMES2[]; +extern const char STR_STICK_NAMES3[]; +extern const char STR_SURFACE_NAMES0[]; +extern const char STR_SURFACE_NAMES1[]; + extern const char STR_EMPTY[]; extern const char STR_POPUPS_ENTER_EXIT[]; extern const char STR_OK[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 7f38f3d5c..9fa77ec42 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -141,8 +141,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index 8b5c75c09..ea6c64643 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -153,8 +153,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Smě", "Výš", "Pln", "Kři" -#define TR_SURFACE_NAMES "Smě", "Pln" +#define TR_STICK_NAMES0 "Smě" +#define TR_STICK_NAMES1 "Výš" +#define TR_STICK_NAMES2 "Pln" +#define TR_STICK_NAMES3 "Kři" +#define TR_SURFACE_NAMES0 "Smě" +#define TR_SURFACE_NAMES1 "Pln" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Defaultní","Vysoký" diff --git a/radio/src/translations/da.h b/radio/src/translations/da.h index d83347401..7da20f767 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -149,8 +149,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Sid", "Høj", "Gas", "Kræ" -#define TR_SURFACE_NAMES "Sid", "Gas" +#define TR_STICK_NAMES0 "Sid" +#define TR_STICK_NAMES1 "Høj" +#define TR_STICK_NAMES2 "Gas" +#define TR_STICK_NAMES3 "Kræ" +#define TR_SURFACE_NAMES0 "Sid" +#define TR_SURFACE_NAMES1 "Gas" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Standard","Høj" diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 8d404550d..96a049eff 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -143,8 +143,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Sei", "Höh", "Gas", "Que" -#define TR_SURFACE_NAMES "Str", "Gas" +#define TR_STICK_NAMES0 "Sei" +#define TR_STICK_NAMES1 "Höh" +#define TR_STICK_NAMES2 "Gas" +#define TR_STICK_NAMES3 "Que" +#define TR_SURFACE_NAMES0 "Str" +#define TR_SURFACE_NAMES1 "Gas" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 47ecc4593..d3a190e9e 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -146,8 +146,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index 126cc4fad..17a7f2ada 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -141,8 +141,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index 74b9e6e4f..8af2a0240 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -152,8 +152,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 3c95daad4..400c22d8a 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -153,8 +153,12 @@ #define TR_VSWASHTYPE "--- ","120","120X","140","90" -#define TR_STICK_NAMES "Dir", "Prf", "Gaz", "Ail" -#define TR_SURFACE_NAMES "Dir", "Gaz" +#define TR_STICK_NAMES0 "Dir" +#define TR_STICK_NAMES1 "Prf" +#define TR_STICK_NAMES2 "Gaz" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "Dir" +#define TR_SURFACE_NAMES1 "Gaz" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Défaut","Haut" diff --git a/radio/src/translations/he.h b/radio/src/translations/he.h index 98b2bc88f..0e410e60c 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/he.h @@ -200,38 +200,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICKS_VSRCRAW STR_CHAR_STICK "ה.כיוון", STR_CHAR_STICK "ה.גובה", STR_CHAR_STICK "מצערת", STR_CHAR_STICK "מאזנות" - -#if defined(PCBHORUS) - #define TR_TRIMS_VSRCRAW STR_CHAR_TRIM "ה.כיוון", STR_CHAR_TRIM "ה.גובה", STR_CHAR_TRIM "מצערת", STR_CHAR_TRIM "מאזנות", STR_CHAR_TRIM "T5", STR_CHAR_TRIM "T6" -#else - #define TR_TRIMS_VSRCRAW STR_CHAR_TRIM "ה.כיוון", STR_CHAR_TRIM "ה.גובה", STR_CHAR_TRIM "מצערת", STR_CHAR_TRIM "מאזנות" -#endif - -#if defined(PCBHORUS) - #define TR_TRIMS_SWITCHES STR_CHAR_TRIM "Rl", STR_CHAR_TRIM "Rr", STR_CHAR_TRIM "Ed", STR_CHAR_TRIM "Eu", STR_CHAR_TRIM "Td", STR_CHAR_TRIM "Tu", STR_CHAR_TRIM "Al", STR_CHAR_TRIM "Ar", STR_CHAR_TRIM "5d", STR_CHAR_TRIM "5u", STR_CHAR_TRIM "6d", STR_CHAR_TRIM "6u" -#else - #define TRIM_SWITCH_CHAR TR("t",STR_CHAR_TRIM) - #define TR_TRIMS_SWITCHES TRIM_SWITCH_CHAR "Rl", TRIM_SWITCH_CHAR "Rr", TRIM_SWITCH_CHAR "Ed", TRIM_SWITCH_CHAR "Eu", TRIM_SWITCH_CHAR "Td", TRIM_SWITCH_CHAR "Tu", TRIM_SWITCH_CHAR "Al", TRIM_SWITCH_CHAR "Ar" -#endif - -#if defined(PCBHORUS) || defined(PCBNV14) - #define TR_VKEYS "PGUP","PGDN","ENTER","MDL","RTN","TELE","SYS" -#elif defined(PCBXLITE) - #define TR_VKEYS "Shift","Exit","Enter","Down","Up","Right","Left" -#elif defined(RADIO_FAMILY_JUMPER_T12) - #define TR_VKEYS "Exit","Enter","Down","Up","Right","Left" -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) - #define TR_VKEYS "Exit","Enter","PGUP","PGDN","SYS","MDL","TELE" -#elif defined(RADIO_T8) || defined(RADIO_COMMANDO8) - #define TR_VKEYS "RTN","ENTER","PGUP","PGDN","SYS","MDL","UP","DOWN" -#elif defined(RADIO_ZORRO) - #define TR_VKEYS "RTN","ENTER","PGUP","PGDN","SYS","MDL","TELE" -#elif defined(PCBTARANIS) - #define TR_VKEYS "תפריט","יציאה","אישור","דף","פלוס","מינוס" -#else - #define TR_VKEYS "תפריט","יציאה","למטה","למעלה","ימין","שמאל" -#endif +#define TR_STICK_NAMES0 "כיוון" +#define TR_STICK_NAMES1 "ה.גוב" +#define TR_STICK_NAMES2 "מצערת" +#define TR_STICK_NAMES3 "מאזנות" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index 77bd60e5e..7fbe420e4 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -146,8 +146,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Dir", "Ele", "Mot", "Ale" -#define TR_SURFACE_NAMES "Dir", "Mot" +#define TR_STICK_NAMES0 "Dir" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Mot +#define TR_STICK_NAMES3 "Ale" +#define TR_SURFACE_NAMES0 "Dir" +#define TR_SURFACE_NAMES1 "Mot" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","Alto" diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index a06fe0941..ce25782cd 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -146,8 +146,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index 4dc320150..f8b46ea7d 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -143,8 +143,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 98df101f2..fa2905bef 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -141,8 +141,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "SK", "SW", "Gaz", "Lot" -#define TR_SURFACE_NAMES "SK", "Gaz" +#define TR_STICK_NAMES0 "SK" +#define TR_STICK_NAMES1 "SW" +#define TR_STICK_NAMES2 "Gaz" +#define TR_STICK_NAMES3 "Lot" +#define TR_SURFACE_NAMES0 "SK" +#define TR_SURFACE_NAMES1 "Gaz" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index 59c8ee420..666aaeb31 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -149,8 +149,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Lem", "Pfd", "Mot", "Ail" -#define TR_SURFACE_NAMES "Dir", "Mot" +#define TR_STICK_NAMES0 "Lem" +#define TR_STICK_NAMES1 "Mot" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "Dir" +#define TR_SURFACE_NAMES1 "Mot" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index dc49b9abc..b311d3dff 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -157,8 +157,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rod", "Hjd", "Gas", "Ske" -#define TR_SURFACE_NAMES "Rod", "Gas" +#define TR_STICK_NAMES0 "Rod" +#define TR_STICK_NAMES1 "Hjd" +#define TR_STICK_NAMES2 "Gas" +#define TR_STICK_NAMES3 "Ske" +#define TR_SURFACE_NAMES0 "Rod" +#define TR_SURFACE_NAMES1 "Gas" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","Hög" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index 6be66e579..49e51087b 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -146,8 +146,12 @@ #define TR_VSWASHTYPE "---","120","120X","140","90" -#define TR_STICK_NAMES "Rud", "Ele", "Thr", "Ail" -#define TR_SURFACE_NAMES "ST", "TH" +#define TR_STICK_NAMES0 "Rud" +#define TR_STICK_NAMES1 "Ele" +#define TR_STICK_NAMES2 "Thr" +#define TR_STICK_NAMES3 "Ail" +#define TR_SURFACE_NAMES0 "ST" +#define TR_SURFACE_NAMES1 "TH" #if defined(PCBNV14) #define TR_RFPOWER_AFHDS2 "Default","High" diff --git a/radio/util/hw_defs/generator.py b/radio/util/hw_defs/generator.py index 0a425930b..53c7f12a6 100644 --- a/radio/util/hw_defs/generator.py +++ b/radio/util/hw_defs/generator.py @@ -7,13 +7,13 @@ import json_index MAIN_CONTROL_LUT = { # 2 Gimbal radios - "LH": { "str": "Rud", "local": "STR_STICK_NAMES[0]" }, - "LV": { "str": "Ele", "local": "STR_STICK_NAMES[1]" }, - "RV": { "str": "Thr", "local": "STR_STICK_NAMES[2]" }, - "RH": { "str": "Ail", "local": "STR_STICK_NAMES[3]" }, + "LH": { "str": "Rud", "local": "STR_STICK_NAMES0" }, + "LV": { "str": "Ele", "local": "STR_STICK_NAMES1" }, + "RV": { "str": "Thr", "local": "STR_STICK_NAMES2" }, + "RH": { "str": "Ail", "local": "STR_STICK_NAMES3" }, # Surface radios - "ST": { "str": "ST", "local": "STR_SURFACE_NAMES[0]" }, - "TH": { "str": "TH", "local": "STR_SURFACE_NAMES[1]" }, + "ST": { "str": "ST", "local": "STR_SURFACE_NAMES0" }, + "TH": { "str": "TH", "local": "STR_SURFACE_NAMES1" }, } # MUST be the same order as 'EnumKeys' diff --git a/radio/util/hw_defs/hal_adc_inputs.jinja b/radio/util/hw_defs/hal_adc_inputs.jinja index 57ed54de0..d2deddc7b 100644 --- a/radio/util/hw_defs/hal_adc_inputs.jinja +++ b/radio/util/hw_defs/hal_adc_inputs.jinja @@ -15,7 +15,7 @@ static const etx_hal_adc_input_t _main_inputs[] = { {% set pot_offset = n_mains %} {% set pot_inputs = adc_inputs.inputs | selectattr('type', '==', 'POT') | list %} {% set n_pots = pot_inputs | count %} -static etx_hal_adc_input_t _pot_inputs[] = { +static const etx_hal_adc_input_t _pot_inputs[] = { {% for input in pot_inputs %} { "{{ input.name }}", "{{ input.label }}", "{{ input.short_label }}" }, {% endfor %} @@ -24,7 +24,7 @@ static etx_hal_adc_input_t _pot_inputs[] = { {% set axis_offset = pot_offset + n_pots %} {% set axis_inputs = adc_inputs.inputs | selectattr('type', '==', 'AXIS') | list %} {% set n_axis = axis_inputs | count %} -static etx_hal_adc_input_t _axis_inputs[] = { +static const etx_hal_adc_input_t _axis_inputs[] = { {% for input in axis_inputs %} { "{{ input.name }}", "{{ input.label }}", nullptr }, {% endfor %} @@ -33,7 +33,7 @@ static etx_hal_adc_input_t _axis_inputs[] = { {% set vbat_offset = axis_offset + n_axis %} {% set vbat_inputs = adc_inputs.inputs | selectattr('type', '==', 'VBAT') | list %} {% set n_vbat = vbat_inputs | count %} -static etx_hal_adc_input_t _vbat_inputs[] = { +static const etx_hal_adc_input_t _vbat_inputs[] = { {% for input in vbat_inputs %} { "{{ input.name }}", nullptr, nullptr }, {% endfor %} @@ -42,7 +42,7 @@ static etx_hal_adc_input_t _vbat_inputs[] = { {% set rtc_bat_offset = vbat_offset + n_vbat %} {% set rtc_bat_inputs = adc_inputs.inputs | selectattr('type', '==', 'RTC_BAT') | list %} {% set n_rtc_bat = rtc_bat_inputs | count %} -static etx_hal_adc_input_t _rtc_bat_inputs[] = { +static const etx_hal_adc_input_t _rtc_bat_inputs[] = { {% for input in rtc_bat_inputs %} { "{{ input.name }}", nullptr, nullptr }, {% endfor %}