From 7c7074e0b3b727f7f3f07a7b364d9802c964b265 Mon Sep 17 00:00:00 2001 From: philmoz Date: Wed, 11 Sep 2024 12:02:57 +1000 Subject: [PATCH] chore(radio): exclude custom functions not relevant to handset (#5523) --- radio/src/cfn_sort.cpp | 149 +++ radio/src/dataconstants.h | 8 + radio/src/functions.cpp | 2 + radio/src/gui/gui_common.cpp | 9 - radio/src/storage/yaml/CMakeLists.txt | 2 + radio/src/storage/yaml/yaml_datastructs.cpp | 2 + .../storage/yaml/yaml_datastructs_128x64.cpp | 1 - .../src/storage/yaml/yaml_datastructs_f16.cpp | 916 ++++++++++++++++++ .../storage/yaml/yaml_datastructs_nv14.cpp | 1 - .../storage/yaml/yaml_datastructs_pl18.cpp | 1 - .../src/storage/yaml/yaml_datastructs_t15.cpp | 1 - .../src/storage/yaml/yaml_datastructs_t20.cpp | 1 - .../storage/yaml/yaml_datastructs_tpro.cpp | 1 - .../src/storage/yaml/yaml_datastructs_x10.cpp | 1 - .../src/storage/yaml/yaml_datastructs_x9d.cpp | 1 - .../yaml/yaml_datastructs_x9dp2019.cpp | 1 - .../src/storage/yaml/yaml_datastructs_x9e.cpp | 1 - .../storage/yaml/yaml_datastructs_xlite.cpp | 1 - .../storage/yaml/yaml_datastructs_xlites.cpp | 1 - tools/cfn_sorter.cpp | 78 +- tools/generate-yaml.sh | 2 +- 21 files changed, 1116 insertions(+), 64 deletions(-) mode change 100644 => 100755 radio/src/cfn_sort.cpp create mode 100644 radio/src/storage/yaml/yaml_datastructs_f16.cpp mode change 100644 => 100755 tools/cfn_sorter.cpp diff --git a/radio/src/cfn_sort.cpp b/radio/src/cfn_sort.cpp old mode 100644 new mode 100755 index a49008cf1..f26f7c095 --- a/radio/src/cfn_sort.cpp +++ b/radio/src/cfn_sort.cpp @@ -33,24 +33,32 @@ Functions cfn_sorted[] = { /* 播放数值 */ FUNC_PLAY_VALUE, /* 播放音频文件 */ FUNC_PLAY_TRACK, /* 测距模式 */ FUNC_RANGECHECK, +#if defined(DEBUG) /* 测试 */ FUNC_TEST, +#endif /* 复位 */ FUNC_RESET, /* 关闭音频功放 */ FUNC_DISABLE_AUDIO_AMP, /* 记录日志到SD卡 */ FUNC_LOGS, /* 教练 */ FUNC_TRAINER, /* 截屏 */ FUNC_SCREENSHOT, +#if defined(COLORLCD) /* 禁用触摸 */ FUNC_DISABLE_TOUCH, +#endif /* 竞速模式 */ FUNC_RACING_MODE, #if defined(OLED_SCREEN) /* 亮度 */ FUNC_BACKLIGHT, #endif /* 模块对频 */ FUNC_BIND, +#if defined(VIDEO_SWITCH) /* 屏幕显示图传 */ FUNC_LCD_TO_VIDEO, +#endif /* 设置 */ FUNC_SET_TIMER, /* 设置失控保护 */ FUNC_SET_FAILSAFE, /* 锁定通道值 */ FUNC_OVERRIDE_CHANNEL, /* 修改全局变量GV值 */ FUNC_ADJUST_GVAR, +#if defined(COLORLCD) /* 选择主屏 */ FUNC_SET_SCREEN, +#endif /* 摇杆值存储到微调 */ FUNC_INSTANT_TRIM, /* 音量 */ FUNC_VOLUME, /* 暂停背景音乐 */ FUNC_BACKGND_MUSIC_PAUSE, @@ -59,7 +67,9 @@ Functions cfn_sorted[] = { /* RGB LED 灯 */ FUNC_RGB_LED, /* Vario传感器 */ FUNC_VARIO, #elif defined(TRANSLATIONS_CZ) +#if defined(COLORLCD) /* Deaktivace dotyku */ FUNC_DISABLE_TOUCH, +#endif /* Hlasitost */ FUNC_VOLUME, /* Hlásit stav */ FUNC_PLAY_VALUE, /* Hrát zvuk */ FUNC_PLAY_SOUND, @@ -70,7 +80,9 @@ Functions cfn_sorted[] = { /* Jas */ FUNC_BACKLIGHT, #endif /* Kontrola dosahu */ FUNC_RANGECHECK, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Loguj na SD */ FUNC_LOGS, /* Lua Skript */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, @@ -83,11 +95,15 @@ Functions cfn_sorted[] = { /* Reset */ FUNC_RESET, /* RGB světlo */ FUNC_RGB_LED, /* Snímek LCD */ FUNC_SCREENSHOT, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trenér */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Vibrovat */ FUNC_HAPTIC, +#if defined(COLORLCD) /* Vybrat hlavní obrazovku */ FUNC_SET_SCREEN, +#endif /* Vypnutí zesilovače zvuku */ FUNC_DISABLE_AUDIO_AMP, /* Zámek */ FUNC_OVERRIDE_CHANNEL, /* Závodní režim */ FUNC_RACING_MODE, @@ -100,10 +116,14 @@ Functions cfn_sorted[] = { #endif /* BgMusik */ FUNC_BACKGND_MUSIC, /* BgMusik || */ FUNC_BACKGND_MUSIC_PAUSE, +#if defined(COLORLCD) /* Ikke berøringsaktiv */ FUNC_DISABLE_TOUCH, +#endif /* Inst. Trim */ FUNC_INSTANT_TRIM, /* Juster */ FUNC_ADJUST_GVAR, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, /* Lydstyrke */ FUNC_VOLUME, /* Modul tilslut */ FUNC_BIND, @@ -121,11 +141,15 @@ Functions cfn_sorted[] = { /* Spil Værdi */ FUNC_PLAY_VALUE, /* Sæt */ FUNC_SET_TIMER, /* Sæt fejlsikring */ FUNC_SET_FAILSAFE, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Træner */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Vibration */ FUNC_HAPTIC, +#if defined(COLORLCD) /* Vælg hoved skærm */ FUNC_SET_SCREEN, +#endif #elif defined(TRANSLATIONS_DE) /* Ändere */ FUNC_ADJUST_GVAR, /* Audio Verst. Aus */ FUNC_DISABLE_AUDIO_AMP, @@ -134,12 +158,16 @@ Functions cfn_sorted[] = { /* Helligkeit */ FUNC_BACKLIGHT, #endif /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(COLORLCD) /* Kein Touch */ FUNC_DISABLE_TOUCH, +#endif /* Lautstr. */ FUNC_VOLUME, #if !defined(OLED_SCREEN) /* LCD Licht */ FUNC_BACKLIGHT, #endif +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lehrer */ FUNC_TRAINER, /* Lua Skript */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, @@ -152,12 +180,16 @@ Functions cfn_sorted[] = { /* Screenshot */ FUNC_SCREENSHOT, /* SD-Aufz. */ FUNC_LOGS, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif /* Setze */ FUNC_SET_TIMER, /* Spiel Töne */ FUNC_PLAY_SOUND, /* StartMusik */ FUNC_BACKGND_MUSIC, /* Stop Musik */ FUNC_BACKGND_MUSIC_PAUSE, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Überschreibe */ FUNC_OVERRIDE_CHANNEL, /* Vario */ FUNC_VARIO, #elif defined(TRANSLATIONS_ES) @@ -176,12 +208,16 @@ Functions cfn_sorted[] = { /* Failsafe */ FUNC_SET_FAILSAFE, /* Haptic */ FUNC_HAPTIC, /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, #if !defined(OLED_SCREEN) /* Luz Fondo */ FUNC_BACKLIGHT, #endif +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* Oir pista */ FUNC_PLAY_TRACK, /* Oir sonido */ FUNC_PLAY_SOUND, /* Oir valor */ FUNC_PLAY_VALUE, @@ -190,8 +226,12 @@ Functions cfn_sorted[] = { /* RGB leds */ FUNC_RGB_LED, /* SD Logs */ FUNC_LOGS, /* Seguro */ FUNC_OVERRIDE_CHANNEL, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Vario */ FUNC_VARIO, /* Volumen */ FUNC_VOLUME, #elif defined(TRANSLATIONS_FI) @@ -207,10 +247,14 @@ Functions cfn_sorted[] = { #if defined(OLED_SCREEN) /* Kirkkaus */ FUNC_BACKLIGHT, #endif +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* Play Sound */ FUNC_PLAY_SOUND, /* Play Track */ FUNC_PLAY_TRACK, /* Play Value */ FUNC_PLAY_VALUE, @@ -223,8 +267,12 @@ Functions cfn_sorted[] = { /* SD Logs */ FUNC_LOGS, /* Set */ FUNC_SET_TIMER, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trainer */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Volume */ FUNC_VOLUME, @@ -232,20 +280,26 @@ Functions cfn_sorted[] = { /* Ajuster */ FUNC_ADJUST_GVAR, /* Bind */ FUNC_BIND, /* Déf. */ FUNC_SET_TIMER, +#if defined(COLORLCD) /* Définir Écran Princ. */ FUNC_SET_SCREEN, +#endif /* Désact. Ampli Audio */ FUNC_DISABLE_AUDIO_AMP, /* Écolage */ FUNC_TRAINER, /* Inst. Trim */ FUNC_INSTANT_TRIM, /* Jouer fichier */ FUNC_PLAY_TRACK, /* Jouer son */ FUNC_PLAY_SOUND, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lire valeur */ FUNC_PLAY_VALUE, /* Logs SD */ FUNC_LOGS, #if defined(OLED_SCREEN) /* Luminosité */ FUNC_BACKLIGHT, #endif /* Musique */ FUNC_BACKGND_MUSIC, +#if defined(COLORLCD) /* Non Tactile */ FUNC_DISABLE_TOUCH, +#endif /* Pause Musique */ FUNC_BACKGND_MUSIC_PAUSE, /* Photo Écran */ FUNC_SCREENSHOT, /* Racing Mode */ FUNC_RACING_MODE, @@ -257,7 +311,9 @@ Functions cfn_sorted[] = { #endif /* RGB leds */ FUNC_RGB_LED, /* Script Lua */ FUNC_PLAY_SCRIPT, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Test Port. */ FUNC_RANGECHECK, /* Vario */ FUNC_VARIO, /* Vibreur */ FUNC_HAPTIC, @@ -272,7 +328,9 @@ Functions cfn_sorted[] = { /* BgMusic || */ FUNC_BACKGND_MUSIC_PAUSE, /* Haptic */ FUNC_HAPTIC, /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, /* Override */ FUNC_OVERRIDE_CHANNEL, @@ -285,15 +343,21 @@ Functions cfn_sorted[] = { /* SD Logs */ FUNC_LOGS, /* Set */ FUNC_SET_TIMER, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trainer */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Volume */ FUNC_VOLUME, #if defined(OLED_SCREEN) /* בהירות */ FUNC_BACKLIGHT, #endif +#if defined(COLORLCD) /* הגדרת מסך ראשי */ FUNC_SET_SCREEN, +#endif +#if defined(COLORLCD) /* ללא מסך מגע */ FUNC_DISABLE_TOUCH, +#endif /* מצב תחרות */ FUNC_RACING_MODE, /* צילום מסך */ FUNC_SCREENSHOT, #elif defined(TRANSLATIONS_IT) @@ -302,7 +366,9 @@ Functions cfn_sorted[] = { /* BindModulo */ FUNC_BIND, /* Blocco */ FUNC_OVERRIDE_CHANNEL, /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Leds RGB */ FUNC_RGB_LED, /* Leggi Valore */ FUNC_PLAY_VALUE, /* Logs SDCard */ FUNC_LOGS, @@ -313,7 +379,9 @@ Functions cfn_sorted[] = { /* Modo Racing */ FUNC_RACING_MODE, /* Musica Sf */ FUNC_BACKGND_MUSIC, /* Musica Sf || */ FUNC_BACKGND_MUSIC_PAUSE, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* RangeCheck */ FUNC_RANGECHECK, /* Regola */ FUNC_ADJUST_GVAR, #if !defined(OLED_SCREEN) @@ -323,10 +391,14 @@ Functions cfn_sorted[] = { /* Script Lua */ FUNC_PLAY_SCRIPT, /* Set */ FUNC_SET_TIMER, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Setta Schermo Princ. */ FUNC_SET_SCREEN, +#endif /* Suona */ FUNC_PLAY_SOUND, /* Suona Traccia */ FUNC_PLAY_TRACK, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Vario */ FUNC_VARIO, /* Vibrazione */ FUNC_HAPTIC, /* Volume */ FUNC_VOLUME, @@ -336,21 +408,27 @@ Functions cfn_sorted[] = { /* Failsafe設定 */ FUNC_SET_FAILSAFE, /* G変数修正 */ FUNC_ADJUST_GVAR, /* Inst.トリム */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* LUAスクリプト */ FUNC_PLAY_SCRIPT, /* RGB LED */ FUNC_RGB_LED, /* SDログ出力 */ FUNC_LOGS, /* オーディオアンプ OFF */ FUNC_DISABLE_AUDIO_AMP, /* サウンド再生 */ FUNC_PLAY_SOUND, /* ダイヤル */ FUNC_VOLUME, +#if defined(DEBUG) /* テスト */ FUNC_TEST, +#endif /* トレーナー */ FUNC_TRAINER, /* バイブレート */ FUNC_HAPTIC, #if !defined(OLED_SCREEN) /* バックライト */ FUNC_BACKLIGHT, #endif /* バリオ */ FUNC_VARIO, +#if defined(COLORLCD) /* メイン画面設定 */ FUNC_SET_SCREEN, +#endif /* モジュールバインド */ FUNC_BIND, /* リセット */ FUNC_RESET, /* レースモード */ FUNC_RACING_MODE, @@ -363,7 +441,9 @@ Functions cfn_sorted[] = { /* 再生値 */ FUNC_PLAY_VALUE, /* 上書き */ FUNC_OVERRIDE_CHANNEL, /* 設定 */ FUNC_SET_TIMER, +#if defined(COLORLCD) /* 非タッチ */ FUNC_DISABLE_TOUCH, +#endif #elif defined(TRANSLATIONS_NL) /* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP, #if !defined(OLED_SCREEN) @@ -377,10 +457,14 @@ Functions cfn_sorted[] = { /* Helderheid */ FUNC_BACKLIGHT, #endif /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* Override */ FUNC_OVERRIDE_CHANNEL, /* Play Track */ FUNC_PLAY_TRACK, /* Play Value */ FUNC_PLAY_VALUE, @@ -392,8 +476,12 @@ Functions cfn_sorted[] = { /* SD Logs */ FUNC_LOGS, /* Set */ FUNC_SET_TIMER, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trainer */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Volume */ FUNC_VOLUME, @@ -408,12 +496,16 @@ Functions cfn_sorted[] = { #if defined(OLED_SCREEN) /* Jasność */ FUNC_BACKLIGHT, #endif +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Logi->SD */ FUNC_LOGS, /* ModuleBind */ FUNC_BIND, /* Muz. tła */ FUNC_BACKGND_MUSIC, /* Muz. tła || */ FUNC_BACKGND_MUSIC_PAUSE, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif #if !defined(OLED_SCREEN) /* Podświetl */ FUNC_BACKLIGHT, #endif @@ -421,10 +513,14 @@ Functions cfn_sorted[] = { /* RangeCheck */ FUNC_RANGECHECK, /* Resetuj */ FUNC_RESET, /* RGB ledy */ FUNC_RGB_LED, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif /* SetFailsafe */ FUNC_SET_FAILSAFE, /* SkryptyLua */ FUNC_PLAY_SCRIPT, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trener */ FUNC_TRAINER, /* Ustaw */ FUNC_ADJUST_GVAR, /* Ustaw */ FUNC_SET_TIMER, @@ -444,21 +540,29 @@ Functions cfn_sorted[] = { /* Capt. Tela */ FUNC_SCREENSHOT, /* DefFailsafe */ FUNC_SET_FAILSAFE, /* Definir */ FUNC_SET_TIMER, +#if defined(COLORLCD) /* Def Tela Princ */ FUNC_SET_SCREEN, +#endif +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Leds RGB */ FUNC_RGB_LED, /* Logs SD */ FUNC_LOGS, #if !defined(OLED_SCREEN) /* LuzFundo */ FUNC_BACKLIGHT, #endif /* ModCorrida */ FUNC_RACING_MODE, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* RangeCheck */ FUNC_RANGECHECK, /* Rep Valor */ FUNC_PLAY_VALUE, /* Reset */ FUNC_RESET, /* Script Lua */ FUNC_PLAY_SCRIPT, /* Sobrescrv */ FUNC_OVERRIDE_CHANNEL, +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Tocar Som */ FUNC_PLAY_SOUND, /* Tocar Trilha */ FUNC_PLAY_TRACK, /* Trainer */ FUNC_TRAINER, @@ -468,7 +572,9 @@ Functions cfn_sorted[] = { /* Volume */ FUNC_VOLUME, #elif defined(TRANSLATIONS_RU) /* Bind модуль */ FUNC_BIND, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua скрипт */ FUNC_PLAY_SCRIPT, /* Play Value */ FUNC_PLAY_VALUE, /* RGB подсветка */ FUNC_RGB_LED, @@ -478,7 +584,9 @@ Functions cfn_sorted[] = { /* Вибро */ FUNC_HAPTIC, /* Воспр звук */ FUNC_PLAY_SOUND, /* Воспр трек */ FUNC_PLAY_TRACK, +#if defined(COLORLCD) /* Выбр глав экран */ FUNC_SET_SCREEN, +#endif /* Вык аудио усил. */ FUNC_DISABLE_AUDIO_AMP, /* Громкость */ FUNC_VOLUME, /* Мгнов трим */ FUNC_INSTANT_TRIM, @@ -486,24 +594,37 @@ Functions cfn_sorted[] = { /* Муз фон */ FUNC_BACKGND_MUSIC, /* Настройка */ FUNC_ADJUST_GVAR, /* Оменить */ FUNC_OVERRIDE_CHANNEL, +#if defined(OLED_SCREEN) /* Подсветка */ FUNC_BACKLIGHT, +#endif +#if !defined(OLED_SCREEN) + /* Подсветка */ FUNC_BACKLIGHT, +#endif /* Пров диапаз */ FUNC_RANGECHECK, /* Режим гонка */ FUNC_RACING_MODE, /* Сброс */ FUNC_RESET, +#if defined(COLORLCD) /* Сенсор вык */ FUNC_DISABLE_TOUCH, +#endif /* Скриншот */ FUNC_SCREENSHOT, /* Таймер */ FUNC_TRAINER, +#if defined(DEBUG) /* Тест */ FUNC_TEST, +#endif /* Установ */ FUNC_SET_TIMER, #elif defined(TRANSLATIONS_SE) /* Audioförstärkare av */ FUNC_DISABLE_AUDIO_AMP, #if !defined(OLED_SCREEN) /* Belysning */ FUNC_BACKLIGHT, #endif +#if defined(COLORLCD) /* Ej pekskärm */ FUNC_DISABLE_TOUCH, +#endif /* Haptisk */ FUNC_HAPTIC, /* Justera */ FUNC_ADJUST_GVAR, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif #if defined(OLED_SCREEN) /* Ljusstyrka */ FUNC_BACKLIGHT, #endif @@ -523,8 +644,12 @@ Functions cfn_sorted[] = { /* Säg värdet */ FUNC_PLAY_VALUE, /* Sätt */ FUNC_SET_TIMER, /* Sätt failsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Sätt huvudskärm */ FUNC_SET_SCREEN, +#endif +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Tävlingsläge */ FUNC_RACING_MODE, /* Vario */ FUNC_VARIO, /* Volym */ FUNC_VOLUME, @@ -537,7 +662,9 @@ Functions cfn_sorted[] = { /* 亮度 */ FUNC_BACKLIGHT, #endif /* 修改全局變量GV值 */ FUNC_ADJUST_GVAR, +#if defined(VIDEO_SWITCH) /* 屏幕顯示圖傳 */ FUNC_LCD_TO_VIDEO, +#endif /* 截屏 */ FUNC_SCREENSHOT, /* 振動 */ FUNC_HAPTIC, /* 搖桿值存儲到微調 */ FUNC_INSTANT_TRIM, @@ -548,9 +675,13 @@ Functions cfn_sorted[] = { /* 教練 */ FUNC_TRAINER, /* 暫停背景音樂 */ FUNC_BACKGND_MUSIC_PAUSE, /* 模塊對頻 */ FUNC_BIND, +#if defined(DEBUG) /* 測試 */ FUNC_TEST, +#endif /* 測距模式 */ FUNC_RANGECHECK, +#if defined(COLORLCD) /* 禁用觸摸 */ FUNC_DISABLE_TOUCH, +#endif /* 競速模式 */ FUNC_RACING_MODE, #if !defined(OLED_SCREEN) /* 背光 */ FUNC_BACKLIGHT, @@ -558,7 +689,9 @@ Functions cfn_sorted[] = { /* 記錄日誌到SD卡 */ FUNC_LOGS, /* 設置 */ FUNC_SET_TIMER, /* 設置失控保護 */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* 選擇主屏 */ FUNC_SET_SCREEN, +#endif /* 重啟 */ FUNC_RESET, /* 鎖定通道值 */ FUNC_OVERRIDE_CHANNEL, /* 關閉音頻功放 */ FUNC_DISABLE_AUDIO_AMP, @@ -566,7 +699,9 @@ Functions cfn_sorted[] = { #elif defined(TRANSLATIONS_UA) /* АварРежим */ FUNC_SET_FAILSAFE, /* Варіо */ FUNC_VARIO, +#if defined(COLORLCD) /* Вибір гол. екр. */ FUNC_SET_SCREEN, +#endif /* Вібро */ FUNC_HAPTIC, /* Встан. */ FUNC_SET_TIMER, /* Грати Звук */ FUNC_PLAY_SOUND, @@ -583,17 +718,23 @@ Functions cfn_sorted[] = { #endif /* Підсил. вимк. */ FUNC_DISABLE_AUDIO_AMP, /* Режим перегонів */ FUNC_RACING_MODE, +#if defined(COLORLCD) /* Сенсор вимк. */ FUNC_DISABLE_TOUCH, +#endif /* Скид. */ FUNC_RESET, /* Скріншот */ FUNC_SCREENSHOT, +#if defined(DEBUG) /* Тест */ FUNC_TEST, +#endif /* Тренер */ FUNC_TRAINER, /* Фон.Муз. */ FUNC_BACKGND_MUSIC, /* Фон.Муз. || */ FUNC_BACKGND_MUSIC_PAUSE, #if defined(OLED_SCREEN) /* Яскравість */ FUNC_BACKLIGHT, #endif +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Скрипт */ FUNC_PLAY_SCRIPT, /* RGB leds */ FUNC_RGB_LED, /* SD лог */ FUNC_LOGS, @@ -610,10 +751,14 @@ Functions cfn_sorted[] = { #endif /* Haptic */ FUNC_HAPTIC, /* Inst. Trim */ FUNC_INSTANT_TRIM, +#if defined(VIDEO_SWITCH) /* LCD to Video */ FUNC_LCD_TO_VIDEO, +#endif /* Lua Script */ FUNC_PLAY_SCRIPT, /* ModuleBind */ FUNC_BIND, +#if defined(COLORLCD) /* No Touch */ FUNC_DISABLE_TOUCH, +#endif /* Override */ FUNC_OVERRIDE_CHANNEL, /* Play Sound */ FUNC_PLAY_SOUND, /* Play Track */ FUNC_PLAY_TRACK, @@ -626,8 +771,12 @@ Functions cfn_sorted[] = { /* SD Logs */ FUNC_LOGS, /* Set */ FUNC_SET_TIMER, /* SetFailsafe */ FUNC_SET_FAILSAFE, +#if defined(COLORLCD) /* Set Main Screen */ FUNC_SET_SCREEN, +#endif +#if defined(DEBUG) /* Test */ FUNC_TEST, +#endif /* Trainer */ FUNC_TRAINER, /* Vario */ FUNC_VARIO, /* Volume */ FUNC_VOLUME, diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index f780311fb..117c6a8e3 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -679,11 +679,19 @@ enum Functions { FUNC_BACKLIGHT, FUNC_SCREENSHOT, FUNC_RACING_MODE, +#if defined(COLORLCD) || defined(CFN_ONLY) FUNC_DISABLE_TOUCH, FUNC_SET_SCREEN, +#endif FUNC_DISABLE_AUDIO_AMP, FUNC_RGB_LED, +#if defined(VIDEO_SWITCH) || defined(CFN_ONLY) FUNC_LCD_TO_VIDEO, +#endif FUNC_TEST, // MUST remain last +#if defined(DEBUG) FUNC_MAX SKIP +#else + FUNC_MAX SKIP = FUNC_TEST +#endif }; diff --git a/radio/src/functions.cpp b/radio/src/functions.cpp index 5bce70091..556334220 100644 --- a/radio/src/functions.cpp +++ b/radio/src/functions.cpp @@ -538,8 +538,10 @@ const char* funcGetLabel(uint8_t func) #endif case FUNC_RGB_LED: return STR_SF_RGBLEDS; +#if defined(VIDEO_SWITCH) case FUNC_LCD_TO_VIDEO: return STR_SF_LCD_TO_VIDEO; +#endif #if defined(DEBUG) case FUNC_TEST: return STR_SF_TEST; diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 1607a3d30..490194e98 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -590,18 +590,9 @@ bool isAssignableFunctionAvailable(int function, bool modelFunctions) case FUNC_RGB_LED: return false; #endif -#if !defined(VIDEO_SWITCH) - case FUNC_LCD_TO_VIDEO: - return false; -#endif #if !defined(DEBUG) case FUNC_TEST: return false; -#endif -#if !defined(COLORLCD) - case FUNC_DISABLE_TOUCH: - case FUNC_SET_SCREEN: - return false; #endif default: return true; diff --git a/radio/src/storage/yaml/CMakeLists.txt b/radio/src/storage/yaml/CMakeLists.txt index 9d5918bd9..335e7e8cf 100644 --- a/radio/src/storage/yaml/CMakeLists.txt +++ b/radio/src/storage/yaml/CMakeLists.txt @@ -17,6 +17,8 @@ endif() if((PCB STREQUAL X10) OR (PCB STREQUAL X12S)) if(PCBREV STREQUAL T15) set(YAML_GEN_OUTPUT storage/yaml/yaml_datastructs_t15.cpp) + elseif(PCBREV STREQUAL F16) + set(YAML_GEN_OUTPUT storage/yaml/yaml_datastructs_f16.cpp) else() set(YAML_GEN_OUTPUT storage/yaml/yaml_datastructs_x10.cpp) endif() diff --git a/radio/src/storage/yaml/yaml_datastructs.cpp b/radio/src/storage/yaml/yaml_datastructs.cpp index 2273013e7..60670b04b 100644 --- a/radio/src/storage/yaml/yaml_datastructs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs.cpp @@ -31,6 +31,8 @@ #if defined(PCBX10) || defined(PCBX12S) #if defined(RADIO_T15) #include "yaml_datastructs_t15.cpp" + #elif defined(RADIO_F16) + #include "yaml_datastructs_f16.cpp" #else #include "yaml_datastructs_x10.cpp" #endif diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index 8f39f3d1e..71cff4ab2 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_f16.cpp b/radio/src/storage/yaml/yaml_datastructs_f16.cpp new file mode 100644 index 000000000..d1d37c354 --- /dev/null +++ b/radio/src/storage/yaml/yaml_datastructs_f16.cpp @@ -0,0 +1,916 @@ +// generated by generate_yaml.py + +// +// Enums first +// + +const struct YamlIdStr enum_BacklightMode[] = { + { e_backlight_mode_off, "backlight_mode_off" }, + { e_backlight_mode_keys, "backlight_mode_keys" }, + { e_backlight_mode_sticks, "backlight_mode_sticks" }, + { e_backlight_mode_all, "backlight_mode_all" }, + { e_backlight_mode_on, "backlight_mode_on" }, + { 0, NULL } +}; +const struct YamlIdStr enum_AntennaModes[] = { + { ANTENNA_MODE_INTERNAL, "MODE_INTERNAL" }, + { ANTENNA_MODE_ASK, "MODE_ASK" }, + { ANTENNA_MODE_PER_MODEL, "MODE_PER_MODEL" }, + { ANTENNA_MODE_EXTERNAL, "MODE_EXTERNAL" }, + { 0, NULL } +}; +const struct YamlIdStr enum_ModuleType[] = { + { MODULE_TYPE_NONE, "TYPE_NONE" }, + { MODULE_TYPE_PPM, "TYPE_PPM" }, + { MODULE_TYPE_XJT_PXX1, "TYPE_XJT_PXX1" }, + { MODULE_TYPE_ISRM_PXX2, "TYPE_ISRM_PXX2" }, + { MODULE_TYPE_DSM2, "TYPE_DSM2" }, + { MODULE_TYPE_CROSSFIRE, "TYPE_CROSSFIRE" }, + { MODULE_TYPE_MULTIMODULE, "TYPE_MULTIMODULE" }, + { MODULE_TYPE_R9M_PXX1, "TYPE_R9M_PXX1" }, + { MODULE_TYPE_R9M_PXX2, "TYPE_R9M_PXX2" }, + { MODULE_TYPE_R9M_LITE_PXX1, "TYPE_R9M_LITE_PXX1" }, + { MODULE_TYPE_R9M_LITE_PXX2, "TYPE_R9M_LITE_PXX2" }, + { MODULE_TYPE_GHOST, "TYPE_GHOST" }, + { MODULE_TYPE_R9M_LITE_PRO_PXX2, "TYPE_R9M_LITE_PRO_PXX2" }, + { MODULE_TYPE_SBUS, "TYPE_SBUS" }, + { MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" }, + { MODULE_TYPE_FLYSKY_AFHDS2A, "TYPE_FLYSKY_AFHDS2A" }, + { MODULE_TYPE_FLYSKY_AFHDS3, "TYPE_FLYSKY_AFHDS3" }, + { MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" }, + { 0, NULL } +}; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; +const struct YamlIdStr enum_BeeperMode[] = { + { e_mode_quiet, "mode_quiet" }, + { e_mode_alarms, "mode_alarms" }, + { e_mode_nokeys, "mode_nokeys" }, + { e_mode_all, "mode_all" }, + { 0, NULL } +}; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { 0, NULL } +}; +const struct YamlIdStr enum_Functions[] = { + { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, + { FUNC_TRAINER, "TRAINER" }, + { FUNC_INSTANT_TRIM, "INSTANT_TRIM" }, + { FUNC_RESET, "RESET" }, + { FUNC_SET_TIMER, "SET_TIMER" }, + { FUNC_ADJUST_GVAR, "ADJUST_GVAR" }, + { FUNC_VOLUME, "VOLUME" }, + { FUNC_SET_FAILSAFE, "SET_FAILSAFE" }, + { FUNC_RANGECHECK, "RANGECHECK" }, + { FUNC_BIND, "BIND" }, + { FUNC_PLAY_SOUND, "PLAY_SOUND" }, + { FUNC_PLAY_TRACK, "PLAY_TRACK" }, + { FUNC_PLAY_VALUE, "PLAY_VALUE" }, + { FUNC_PLAY_SCRIPT, "PLAY_SCRIPT" }, + { FUNC_BACKGND_MUSIC, "BACKGND_MUSIC" }, + { FUNC_BACKGND_MUSIC_PAUSE, "BACKGND_MUSIC_PAUSE" }, + { FUNC_VARIO, "VARIO" }, + { FUNC_HAPTIC, "HAPTIC" }, + { FUNC_LOGS, "LOGS" }, + { FUNC_BACKLIGHT, "BACKLIGHT" }, + { FUNC_SCREENSHOT, "SCREENSHOT" }, + { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_TOUCH, "DISABLE_TOUCH" }, + { FUNC_SET_SCREEN, "SET_SCREEN" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, + { FUNC_RGB_LED, "RGB_LED" }, + { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, + { FUNC_TEST, "TEST" }, + { 0, NULL } +}; +const struct YamlIdStr enum_TimerModes[] = { + { TMRMODE_OFF, "OFF" }, + { TMRMODE_ON, "ON" }, + { TMRMODE_START, "START" }, + { TMRMODE_THR, "THR" }, + { TMRMODE_THR_REL, "THR_REL" }, + { TMRMODE_THR_START, "THR_START" }, + { 0, NULL } +}; +const struct YamlIdStr enum_MixerMultiplex[] = { + { MLTPX_ADD, "ADD" }, + { MLTPX_MUL, "MUL" }, + { MLTPX_REPL, "REPL" }, + { 0, NULL } +}; +const struct YamlIdStr enum_MixSources[] = { + { MIXSRC_NONE, "NONE" }, + { MIXSRC_TILT_X, "TILT_X" }, + { MIXSRC_TILT_Y, "TILT_Y" }, + { MIXSRC_SPACEMOUSE_A, "SPACEMOUSE_A" }, + { MIXSRC_SPACEMOUSE_B, "SPACEMOUSE_B" }, + { MIXSRC_SPACEMOUSE_C, "SPACEMOUSE_C" }, + { MIXSRC_SPACEMOUSE_D, "SPACEMOUSE_D" }, + { MIXSRC_SPACEMOUSE_E, "SPACEMOUSE_E" }, + { MIXSRC_SPACEMOUSE_F, "SPACEMOUSE_F" }, + { MIXSRC_MIN, "MIN" }, + { MIXSRC_MAX, "MAX" }, + { MIXSRC_TX_VOLTAGE, "TX_VOLTAGE" }, + { MIXSRC_TX_TIME, "TX_TIME" }, + { MIXSRC_TX_GPS, "TX_GPS" }, + { 0, NULL } +}; +const struct YamlIdStr enum_LogicalSwitchesFunctions[] = { + { LS_FUNC_NONE, "FUNC_NONE" }, + { LS_FUNC_VEQUAL, "FUNC_VEQUAL" }, + { LS_FUNC_VALMOSTEQUAL, "FUNC_VALMOSTEQUAL" }, + { LS_FUNC_VPOS, "FUNC_VPOS" }, + { LS_FUNC_VNEG, "FUNC_VNEG" }, + { LS_FUNC_APOS, "FUNC_APOS" }, + { LS_FUNC_ANEG, "FUNC_ANEG" }, + { LS_FUNC_AND, "FUNC_AND" }, + { LS_FUNC_OR, "FUNC_OR" }, + { LS_FUNC_XOR, "FUNC_XOR" }, + { LS_FUNC_EDGE, "FUNC_EDGE" }, + { LS_FUNC_EQUAL, "FUNC_EQUAL" }, + { LS_FUNC_GREATER, "FUNC_GREATER" }, + { LS_FUNC_LESS, "FUNC_LESS" }, + { LS_FUNC_DIFFEGREATER, "FUNC_DIFFEGREATER" }, + { LS_FUNC_ADIFFEGREATER, "FUNC_ADIFFEGREATER" }, + { LS_FUNC_TIMER, "FUNC_TIMER" }, + { LS_FUNC_STICKY, "FUNC_STICKY" }, + { 0, NULL } +}; +const struct YamlIdStr enum_SwashType[] = { + { SWASH_TYPE_NONE, "TYPE_NONE" }, + { SWASH_TYPE_120, "TYPE_120" }, + { SWASH_TYPE_120X, "TYPE_120X" }, + { SWASH_TYPE_140, "TYPE_140" }, + { SWASH_TYPE_90, "TYPE_90" }, + { 0, NULL } +}; +const struct YamlIdStr enum_SwitchSources[] = { + { SWSRC_NONE, "NONE" }, + { SWSRC_ON, "ON" }, + { SWSRC_ONE, "ONE" }, + { SWSRC_TELEMETRY_STREAMING, "TELEMETRY_STREAMING" }, + { SWSRC_RADIO_ACTIVITY, "RADIO_ACTIVITY" }, + { SWSRC_TRAINER_CONNECTED, "TRAINER_CONNECTED" }, + { SWSRC_OFF, "OFF" }, + { 0, NULL } +}; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; +const struct YamlIdStr enum_ModelOverridableEnable[] = { + { OVERRIDE_GLOBAL, "GLOBAL" }, + { OVERRIDE_OFF, "OFF" }, + { OVERRIDE_ON, "ON" }, + { 0, NULL } +}; +const struct YamlIdStr enum_FailsafeModes[] = { + { FAILSAFE_NOT_SET, "NOT_SET" }, + { FAILSAFE_HOLD, "HOLD" }, + { FAILSAFE_CUSTOM, "CUSTOM" }, + { FAILSAFE_NOPULSES, "NOPULSES" }, + { FAILSAFE_RECEIVER, "RECEIVER" }, + { 0, NULL } +}; +const struct YamlIdStr enum_TelemetrySensorFormula[] = { + { TELEM_FORMULA_ADD, "FORMULA_ADD" }, + { TELEM_FORMULA_AVERAGE, "FORMULA_AVERAGE" }, + { TELEM_FORMULA_MIN, "FORMULA_MIN" }, + { TELEM_FORMULA_MAX, "FORMULA_MAX" }, + { TELEM_FORMULA_MULTIPLY, "FORMULA_MULTIPLY" }, + { TELEM_FORMULA_TOTALIZE, "FORMULA_TOTALIZE" }, + { TELEM_FORMULA_CELL, "FORMULA_CELL" }, + { TELEM_FORMULA_CONSUMPTION, "FORMULA_CONSUMPTION" }, + { TELEM_FORMULA_DIST, "FORMULA_DIST" }, + { 0, NULL } +}; +const struct YamlIdStr enum_TelemetrySensorType[] = { + { TELEM_TYPE_CUSTOM, "TYPE_CUSTOM" }, + { TELEM_TYPE_CALCULATED, "TYPE_CALCULATED" }, + { 0, NULL } +}; +const struct YamlIdStr enum_ZoneOptionValueEnum[] = { + { ZOV_Unsigned, "Unsigned" }, + { ZOV_Signed, "Signed" }, + { ZOV_Bool, "Bool" }, + { ZOV_String, "String" }, + { ZOV_Source, "Source" }, + { ZOV_Color, "Color" }, + { 0, NULL } +}; +const struct YamlIdStr enum_USBJoystickIfMode[] = { + { USBJOYS_JOYSTICK, "JOYSTICK" }, + { USBJOYS_GAMEPAD, "GAMEPAD" }, + { USBJOYS_MULTIAXIS, "MULTIAXIS" }, + { 0, NULL } +}; +const struct YamlIdStr enum_USBJoystickCh[] = { + { USBJOYS_CH_NONE, "CH_NONE" }, + { USBJOYS_CH_BUTTON, "CH_BUTTON" }, + { USBJOYS_CH_AXIS, "CH_AXIS" }, + { USBJOYS_CH_SIM, "CH_SIM" }, + { 0, NULL } +}; + +// +// Structs last +// + +static const struct YamlNode struct_CalibData[] = { + YAML_IDX_CUST("calib",r_calib,w_calib), + YAML_SIGNED( "mid", 16 ), + YAML_SIGNED( "spanNeg", 16 ), + YAML_SIGNED( "spanPos", 16 ), + YAML_END +}; +static const struct YamlNode struct_signed_16[] = { + YAML_IDX, + YAML_SIGNED( "val", 16 ), + YAML_END +}; +static const struct YamlNode struct_TrainerMix[] = { + YAML_IDX, + YAML_UNSIGNED( "srcChn", 6 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), + YAML_SIGNED( "studWeight", 8 ), + YAML_END +}; +static const struct YamlNode struct_TrainerData[] = { + YAML_ARRAY("calib", 16, 4, struct_signed_16, NULL), + YAML_ARRAY("mix", 16, 4, struct_TrainerMix, NULL), + YAML_END +}; +static const struct YamlNode struct_anonymous_1[] = { + YAML_STRING("name", 8), + YAML_END +}; +static const struct YamlNode struct_anonymous_2[] = { + YAML_SIGNED( "val", 16 ), + YAML_UNSIGNED( "mode", 8 ), + YAML_UNSIGNED( "param", 8 ), + YAML_SIGNED( "spare", 32 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_3[] = { + YAML_SIGNED( "val1", 32 ), + YAML_SIGNED( "val2", 32 ), + YAML_END +}; +static const struct YamlNode union_anonymous_0_elmts[] = { + YAML_STRUCT("play", 64, struct_anonymous_1, NULL), + YAML_STRUCT("all", 64, struct_anonymous_2, NULL), + YAML_STRUCT("clear", 64, struct_anonymous_3, NULL), + YAML_END +}; +static const struct YamlNode struct_CustomFunctionData[] = { + YAML_IDX, + YAML_SIGNED_CUST( "swtch", 10, r_swtchSrc, w_swtchSrc ), + YAML_ENUM("func", 6, enum_Functions), + YAML_CUSTOM("def",r_customFn,w_customFn), + YAML_PADDING( 64 ), + YAML_PADDING( 1 ), + YAML_PADDING( 7 ), + YAML_END +}; +static const struct YamlNode struct_RadioData[] = { + YAML_UNSIGNED( "manuallyEdited", 1 ), + YAML_SIGNED( "timezoneMinutes", 3 ), + YAML_UNSIGNED( "ppmunit", 2 ), + YAML_PADDING( 2 ), + YAML_CUSTOM("semver",nullptr,w_semver), + YAML_CUSTOM("board",nullptr,w_board), + YAML_ARRAY("calib", 48, 20, struct_CalibData, NULL), + YAML_PADDING( 16 ), + YAML_UNSIGNED( "vBatWarn", 8 ), + YAML_SIGNED( "txVoltageCalibration", 8 ), + YAML_ENUM("backlightMode", 3, enum_BacklightMode), + YAML_ENUM("antennaMode", 2, enum_AntennaModes), + YAML_UNSIGNED( "disableRtcWarning", 1 ), + YAML_UNSIGNED( "keysBacklight", 1 ), + YAML_UNSIGNED( "dontPlayHello", 1 ), + YAML_ENUM("internalModule", 8, enum_ModuleType), + YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), + YAML_UNSIGNED( "view", 8 ), + YAML_PADDING( 2 ), + YAML_UNSIGNED( "fai", 1 ), + YAML_SIGNED_CUST( "beepMode", 2, r_beeperMode, w_beeperMode ), + YAML_UNSIGNED( "alarmsFlash", 1 ), + YAML_UNSIGNED( "disableMemoryWarning", 1 ), + YAML_UNSIGNED( "disableAlarmWarning", 1 ), + YAML_UNSIGNED( "stickMode", 2 ), + YAML_SIGNED( "timezone", 5 ), + YAML_UNSIGNED( "adjustRTC", 1 ), + YAML_UNSIGNED( "inactivityTimer", 8 ), + YAML_CUSTOM("telemetryBaudrate",r_telemetryBaudrate,nullptr), + YAML_UNSIGNED( "internalModuleBaudrate", 3 ), + YAML_SIGNED( "splashMode", 3 ), + YAML_SIGNED_CUST( "hapticMode", 2, r_beeperMode, w_beeperMode ), + YAML_SIGNED( "switchesDelay", 8 ), + YAML_UNSIGNED( "lightAutoOff", 8 ), + YAML_UNSIGNED( "templateSetup", 8 ), + YAML_SIGNED( "PPM_Multiplier", 8 ), + YAML_SIGNED_CUST( "hapticLength", 8, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "beepLength", 3, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "hapticStrength", 3, r_5pos, w_5pos ), + YAML_UNSIGNED( "gpsFormat", 1 ), + YAML_UNSIGNED( "audioMuteEnable", 1 ), + YAML_UNSIGNED_CUST( "speakerPitch", 8, r_spPitch, w_spPitch ), + YAML_SIGNED_CUST( "speakerVolume", 8, r_vol, w_vol ), + YAML_SIGNED_CUST( "vBatMin", 8, r_vbat_min, w_vbat_min ), + YAML_SIGNED_CUST( "vBatMax", 8, r_vbat_max, w_vbat_max ), + YAML_UNSIGNED( "backlightBright", 8 ), + YAML_UNSIGNED( "globalTimer", 32 ), + YAML_UNSIGNED( "bluetoothBaudrate", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), + YAML_UNSIGNED( "countryCode", 2 ), + YAML_SIGNED( "pwrOnSpeed", 3 ), + YAML_SIGNED( "pwrOffSpeed", 3 ), + YAML_CUSTOM("jitterFilter",r_jitterFilter,nullptr), + YAML_UNSIGNED( "noJitterFilter", 1 ), + YAML_UNSIGNED( "imperial", 1 ), + YAML_UNSIGNED( "disableRssiPoweroffAlarm", 1 ), + YAML_UNSIGNED( "USBMode", 2 ), + YAML_UNSIGNED( "jackMode", 2 ), + YAML_PADDING( 1 ), + YAML_STRING("ttsLanguage", 2), + YAML_SIGNED_CUST( "beepVolume", 4, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "wavVolume", 4, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "varioVolume", 4, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "backgroundVolume", 4, r_5pos, w_5pos ), + YAML_SIGNED_CUST( "varioPitch", 8, r_vPitch, w_vPitch ), + YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), + YAML_SIGNED( "varioRepeat", 8 ), + YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), + YAML_CUSTOM("auxSerialMode",r_serialMode,nullptr), + YAML_CUSTOM("aux2SerialMode",r_serialMode,nullptr), + YAML_ARRAY("serialPort", 8, 4, struct_serialConfig, nullptr), + YAML_ARRAY("sticksConfig", 0, MAX_STICKS, struct_stickConfig, stick_name_valid), + YAML_ARRAY("slidersConfig", 0, MAX_POTS, struct_sliderConfig, nullptr), + YAML_ARRAY("potsConfig", 4, 16, struct_potConfig, nullptr), + YAML_ARRAY("switchConfig", 2, 32, struct_switchConfig, nullptr), + YAML_ARRAY("flexSwitches", 0, MAX_FLEX_SWITCHES, struct_flexSwitch, flex_sw_valid), + YAML_STRING("currModelFilename", 17), + YAML_UNSIGNED( "modelQuickSelect", 1 ), + YAML_UNSIGNED( "blOffBright", 7 ), + YAML_STRING("bluetoothName", 10), + YAML_STRING("ownerRegistrationID", 8), + YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr), + YAML_UNSIGNED( "rotEncMode", 3 ), + YAML_SIGNED( "uartSampleMode", 2 ), + YAML_PADDING( 3 ), + YAML_SIGNED( "imuMax", 8 ), + YAML_SIGNED( "imuOffset", 8 ), + YAML_STRING("selectedTheme", 26), + YAML_UNSIGNED( "labelSingleSelect", 1 ), + YAML_UNSIGNED( "labelMultiMode", 1 ), + YAML_UNSIGNED( "favMultiMode", 1 ), + YAML_UNSIGNED( "modelSelectLayout", 2 ), + YAML_UNSIGNED( "radioThemesDisabled", 1 ), + YAML_UNSIGNED( "radioGFDisabled", 1 ), + YAML_UNSIGNED( "radioTrainerDisabled", 1 ), + YAML_UNSIGNED( "modelHeliDisabled", 1 ), + YAML_UNSIGNED( "modelFMDisabled", 1 ), + YAML_UNSIGNED( "modelCurvesDisabled", 1 ), + YAML_UNSIGNED( "modelGVDisabled", 1 ), + YAML_UNSIGNED( "modelLSDisabled", 1 ), + YAML_UNSIGNED( "modelSFDisabled", 1 ), + YAML_UNSIGNED( "modelCustomScriptsDisabled", 1 ), + YAML_UNSIGNED( "modelTelemetryDisabled", 1 ), + YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ), + YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ), + YAML_PADDING( 6 ), + YAML_UNSIGNED( "pwrOffIfInactive", 8 ), + YAML_END +}; +static const struct YamlNode struct_unsigned_8[] = { + YAML_IDX, + YAML_UNSIGNED( "val", 8 ), + YAML_END +}; +static const struct YamlNode struct_ModelHeader[] = { + YAML_STRING("name", 15), + YAML_ARRAY("modelId", 8, 2, struct_unsigned_8, NULL), + YAML_STRING("bitmap", 14), + YAML_STRING("labels", 100), + YAML_END +}; +static const struct YamlNode struct_TimerData[] = { + YAML_IDX, + YAML_UNSIGNED( "start", 22 ), + YAML_SIGNED_CUST( "swtch", 10, r_swtchSrc, w_swtchSrc ), + YAML_SIGNED( "value", 22 ), + YAML_ENUM("mode", 3, enum_TimerModes), + YAML_UNSIGNED( "countdownBeep", 2 ), + YAML_UNSIGNED( "minuteBeep", 1 ), + YAML_UNSIGNED( "persistent", 2 ), + YAML_SIGNED( "countdownStart", 2 ), + YAML_UNSIGNED( "showElapsed", 1 ), + YAML_UNSIGNED( "extraHaptic", 1 ), + YAML_PADDING( 6 ), + YAML_STRING("name", 8), + YAML_END +}; +static const struct YamlNode struct_CurveRef[] = { + YAML_UNSIGNED( "type", 5 ), + YAML_SIGNED_CUST( "value", 11, r_sourceNumVal, w_sourceNumVal ), + YAML_END +}; +static const struct YamlNode struct_MixData[] = { + YAML_UNSIGNED( "destCh", 5 ), + YAML_SIGNED_CUST( "srcRaw", 10, r_mixSrcRawEx, w_mixSrcRawEx ), + YAML_UNSIGNED( "carryTrim", 1 ), + YAML_UNSIGNED( "mixWarn", 2 ), + YAML_ENUM("mltpx", 2, enum_MixerMultiplex), + YAML_UNSIGNED( "delayPrec", 1 ), + YAML_UNSIGNED( "speedPrec", 1 ), + YAML_UNSIGNED_CUST( "flightModes", 9, r_flightModes, w_flightModes ), + YAML_PADDING( 1 ), + YAML_UNSIGNED_CUST( "weight", 11, r_sourceNumVal, w_sourceNumVal ), + YAML_UNSIGNED_CUST( "offset", 11, r_sourceNumVal, w_sourceNumVal ), + YAML_SIGNED_CUST( "swtch", 10, r_swtchSrc, w_swtchSrc ), + YAML_STRUCT("curve", 16, struct_CurveRef, NULL), + YAML_UNSIGNED( "delayUp", 8 ), + YAML_UNSIGNED( "delayDown", 8 ), + YAML_UNSIGNED( "speedUp", 8 ), + YAML_UNSIGNED( "speedDown", 8 ), + YAML_STRING("name", 6), + YAML_END +}; +static const struct YamlNode struct_LimitData[] = { + YAML_IDX, + YAML_SIGNED_CUST( "min", 11, in_read_weight, in_write_weight ), + YAML_SIGNED_CUST( "max", 11, in_read_weight, in_write_weight ), + YAML_SIGNED( "ppmCenter", 10 ), + YAML_SIGNED_CUST( "offset", 11, in_read_weight, in_write_weight ), + YAML_UNSIGNED( "symetrical", 1 ), + YAML_UNSIGNED( "revert", 1 ), + YAML_PADDING( 3 ), + YAML_SIGNED( "curve", 8 ), + YAML_STRING("name", 6), + YAML_END +}; +static const struct YamlNode struct_ExpoData[] = { + YAML_UNSIGNED( "mode", 2 ), + YAML_UNSIGNED( "scale", 14 ), + YAML_CUSTOM("carryTrim",r_carryTrim,nullptr), + YAML_SIGNED( "trimSource", 6 ), + YAML_SIGNED_CUST( "srcRaw", 10, r_mixSrcRawEx, w_mixSrcRawEx ), + YAML_UNSIGNED_CUST( "weight", 11, r_sourceNumVal, w_sourceNumVal ), + YAML_UNSIGNED_CUST( "offset", 11, r_sourceNumVal, w_sourceNumVal ), + YAML_SIGNED_CUST( "swtch", 10, r_swtchSrc, w_swtchSrc ), + YAML_STRUCT("curve", 16, struct_CurveRef, NULL), + YAML_UNSIGNED( "chn", 5 ), + YAML_UNSIGNED_CUST( "flightModes", 9, r_flightModes, w_flightModes ), + YAML_PADDING( 2 ), + YAML_STRING("name", 6), + YAML_END +}; +static const struct YamlNode struct_CurveHeader[] = { + YAML_IDX, + YAML_UNSIGNED( "type", 1 ), + YAML_UNSIGNED( "smooth", 1 ), + YAML_SIGNED( "points", 6 ), + YAML_STRING("name", 3), + YAML_END +}; +static const struct YamlNode struct_signed_8[] = { + YAML_IDX, + YAML_SIGNED( "val", 8 ), + YAML_END +}; +static const struct YamlNode struct_LogicalSwitchData[] = { + YAML_IDX, + YAML_ENUM("func", 8, enum_LogicalSwitchesFunctions), + YAML_CUSTOM("def",r_logicSw,w_logicSw), + YAML_PADDING( 10 ), + YAML_PADDING( 10 ), + YAML_SIGNED_CUST( "andsw", 10, r_swtchSrc, w_swtchSrc ), + YAML_UNSIGNED( "lsPersist", 1 ), + YAML_UNSIGNED( "lsState", 1 ), + YAML_PADDING( 16 ), + YAML_UNSIGNED( "delay", 8 ), + YAML_UNSIGNED( "duration", 8 ), + YAML_END +}; +static const struct YamlNode struct_SwashRingData[] = { + YAML_ENUM("type", 8, enum_SwashType), + YAML_UNSIGNED( "value", 8 ), + YAML_UNSIGNED_CUST( "collectiveSource", 8, r_mixSrcRaw, w_mixSrcRaw ), + YAML_UNSIGNED_CUST( "aileronSource", 8, r_mixSrcRaw, w_mixSrcRaw ), + YAML_UNSIGNED_CUST( "elevatorSource", 8, r_mixSrcRaw, w_mixSrcRaw ), + YAML_SIGNED( "collectiveWeight", 8 ), + YAML_SIGNED( "aileronWeight", 8 ), + YAML_SIGNED( "elevatorWeight", 8 ), + YAML_END +}; +static const struct YamlNode struct_trim_t[] = { + YAML_IDX, + YAML_SIGNED( "value", 11 ), + YAML_UNSIGNED( "mode", 5 ), + YAML_END +}; +static const struct YamlNode struct_FlightModeData[] = { + YAML_IDX, + YAML_ARRAY("trim", 16, 6, struct_trim_t, NULL), + YAML_STRING("name", 10), + YAML_SIGNED_CUST( "swtch", 10, r_swtchSrc, w_swtchSrc ), + YAML_PADDING( 6 ), + YAML_UNSIGNED( "fadeIn", 8 ), + YAML_UNSIGNED( "fadeOut", 8 ), + YAML_ARRAY("gvars", 16, 9, struct_signed_16, gvar_is_active), + YAML_END +}; +static const struct YamlNode struct_GVarData[] = { + YAML_IDX, + YAML_STRING("name", 3), + YAML_UNSIGNED( "min", 12 ), + YAML_UNSIGNED( "max", 12 ), + YAML_UNSIGNED( "popup", 1 ), + YAML_UNSIGNED( "prec", 1 ), + YAML_UNSIGNED( "unit", 2 ), + YAML_PADDING( 4 ), + YAML_END +}; +static const struct YamlNode struct_VarioData[] = { + YAML_UNSIGNED_CUST( "source", 7, r_tele_sensor, w_tele_sensor ), + YAML_UNSIGNED( "centerSilent", 1 ), + YAML_SIGNED( "centerMax", 8 ), + YAML_SIGNED( "centerMin", 8 ), + YAML_SIGNED( "min", 8 ), + YAML_SIGNED( "max", 8 ), + YAML_END +}; +static const struct YamlNode struct_RssiAlarmData[] = { + YAML_CUSTOM("disabled",r_rssiDisabled,nullptr), + YAML_CUSTOM("warning",r_rssiWarning,nullptr), + YAML_CUSTOM("critical",r_rssiCritical,nullptr), + YAML_END +}; +static const struct YamlNode struct_RFAlarmData[] = { + YAML_SIGNED( "warning", 8 ), + YAML_SIGNED( "critical", 8 ), + YAML_END +}; +static const struct YamlNode struct_PpmModule[] = { + YAML_SIGNED( "delay", 6 ), + YAML_UNSIGNED( "pulsePol", 1 ), + YAML_UNSIGNED( "outputType", 1 ), + YAML_SIGNED( "frameLength", 8 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_5[] = { + YAML_PADDING( 8 ), + YAML_UNSIGNED( "disableTelemetry", 1 ), + YAML_UNSIGNED( "disableMapping", 1 ), + YAML_UNSIGNED( "autoBindMode", 1 ), + YAML_UNSIGNED( "lowPowerMode", 1 ), + YAML_UNSIGNED( "receiverTelemetryOff", 1 ), + YAML_UNSIGNED( "receiverHigherChannels", 1 ), + YAML_PADDING( 2 ), + YAML_SIGNED( "optionValue", 8 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_6[] = { + YAML_UNSIGNED( "power", 2 ), + YAML_PADDING( 2 ), + YAML_UNSIGNED( "receiverTelemetryOff", 1 ), + YAML_UNSIGNED( "receiverHigherChannels", 1 ), + YAML_SIGNED( "antennaMode", 2 ), + YAML_PADDING( 8 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_7[] = { + YAML_PADDING( 6 ), + YAML_UNSIGNED( "noninverted", 1 ), + YAML_PADDING( 1 ), + YAML_SIGNED( "refreshRate", 8 ), + YAML_END +}; +static const struct YamlNode struct_string_64[] = { + YAML_IDX, + YAML_STRING("val", 8), + YAML_END +}; +static const struct YamlNode struct_anonymous_8[] = { + YAML_UNSIGNED( "receivers", 7 ), + YAML_UNSIGNED( "racingMode", 1 ), + YAML_ARRAY("receiverName", 64, 3, struct_string_64, NULL), + YAML_END +}; +static const struct YamlNode struct_anonymous_9[] = { + YAML_ARRAY("rx_id", 8, 4, struct_unsigned_8, NULL), + YAML_UNSIGNED( "mode", 3 ), + YAML_UNSIGNED( "rfPower", 1 ), + YAML_UNSIGNED( "reserved", 4 ), + YAML_ARRAY("rx_freq", 8, 2, struct_unsigned_8, NULL), + YAML_END +}; +static const struct YamlNode struct_anonymous_10[] = { + YAML_UNSIGNED( "emi", 2 ), + YAML_UNSIGNED( "telemetry", 1 ), + YAML_UNSIGNED( "phyMode", 3 ), + YAML_UNSIGNED( "reserved", 2 ), + YAML_UNSIGNED( "rfPower", 8 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_11[] = { + YAML_UNSIGNED( "raw12bits", 1 ), + YAML_UNSIGNED( "telemetryBaudrate", 3 ), + YAML_PADDING( 4 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_12[] = { + YAML_UNSIGNED( "telemetryBaudrate", 3 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_13[] = { + YAML_UNSIGNED( "flags", 8 ), + YAML_END +}; +static const struct YamlNode union_anonymous_4_elmts[] = { + YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL), + YAML_STRUCT("ppm", 16, struct_PpmModule, NULL), + YAML_STRUCT("multi", 24, struct_anonymous_5, NULL), + YAML_STRUCT("pxx", 16, struct_anonymous_6, NULL), + YAML_STRUCT("sbus", 16, struct_anonymous_7, NULL), + YAML_STRUCT("pxx2", 200, struct_anonymous_8, NULL), + YAML_STRUCT("flysky", 56, struct_anonymous_9, NULL), + YAML_STRUCT("afhds3", 16, struct_anonymous_10, NULL), + YAML_STRUCT("ghost", 8, struct_anonymous_11, NULL), + YAML_STRUCT("crsf", 8, struct_anonymous_12, NULL), + YAML_STRUCT("dsmp", 8, struct_anonymous_13, NULL), + YAML_END +}; +static const struct YamlNode struct_ModuleData[] = { + YAML_IDX, + YAML_UNSIGNED_CUST( "type", 8, r_moduleType, w_moduleType ), + YAML_CUSTOM("subType",r_modSubtype,w_modSubtype), + YAML_UNSIGNED( "channelsStart", 8 ), + YAML_SIGNED_CUST( "channelsCount", 8, r_channelsCount, w_channelsCount ), + YAML_ENUM("failsafeMode", 4, enum_FailsafeModes), + YAML_PADDING( 4 ), + YAML_UNION("mod", 200, union_anonymous_4_elmts, select_mod_type), + YAML_END +}; +static const struct YamlNode struct_TrainerModuleData[] = { + YAML_UNSIGNED_CUST( "mode", 8, r_trainerMode, w_trainerMode ), + YAML_UNSIGNED( "channelsStart", 8 ), + YAML_SIGNED( "channelsCount", 8 ), + YAML_SIGNED( "frameLength", 8 ), + YAML_SIGNED( "delay", 6 ), + YAML_UNSIGNED( "pulsePol", 1 ), + YAML_PADDING( 1 ), + YAML_END +}; +static const struct YamlNode union_ScriptDataInput_elmts[] = { + YAML_SIGNED( "value", 16 ), + YAML_UNSIGNED_CUST( "source", 16, r_mixSrcRaw, w_mixSrcRaw ), + YAML_END +}; +static const struct YamlNode union_ScriptDataInput[] = { + YAML_IDX, + YAML_UNION("u", 16, union_ScriptDataInput_elmts, select_script_input), + YAML_END +}; +static const struct YamlNode struct_ScriptData[] = { + YAML_IDX, + YAML_STRING("file", 6), + YAML_STRING("name", 6), + YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL), + YAML_END +}; +static const struct YamlNode struct_string_32[] = { + YAML_IDX, + YAML_STRING("val", 4), + YAML_END +}; +static const struct YamlNode union_anonymous_14_elmts[] = { + YAML_UNSIGNED( "id", 16 ), + YAML_UNSIGNED( "persistentValue", 16 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_16[] = { + YAML_UNSIGNED( "physID", 5 ), + YAML_UNSIGNED( "rxIndex", 3 ), + YAML_END +}; +static const struct YamlNode union_anonymous_15_elmts[] = { + YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL), + YAML_UNSIGNED( "instance", 8 ), + YAML_ENUM("formula", 8, enum_TelemetrySensorFormula), + YAML_END +}; +static const struct YamlNode struct_anonymous_18[] = { + YAML_UNSIGNED( "ratio", 16 ), + YAML_SIGNED( "offset", 16 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_19[] = { + YAML_UNSIGNED( "source", 8 ), + YAML_UNSIGNED( "index", 8 ), + YAML_PADDING( 16 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_20[] = { + YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL), + YAML_END +}; +static const struct YamlNode struct_anonymous_21[] = { + YAML_UNSIGNED( "source", 8 ), + YAML_PADDING( 24 ), + YAML_END +}; +static const struct YamlNode struct_anonymous_22[] = { + YAML_UNSIGNED( "gps", 8 ), + YAML_UNSIGNED( "alt", 8 ), + YAML_PADDING( 16 ), + YAML_END +}; +static const struct YamlNode union_anonymous_17_elmts[] = { + YAML_STRUCT("custom", 32, struct_anonymous_18, NULL), + YAML_STRUCT("cell", 32, struct_anonymous_19, NULL), + YAML_STRUCT("calc", 32, struct_anonymous_20, NULL), + YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL), + YAML_STRUCT("dist", 32, struct_anonymous_22, NULL), + YAML_UNSIGNED( "param", 32 ), + YAML_END +}; +static const struct YamlNode struct_TelemetrySensor[] = { + YAML_IDX, + YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1), + YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2), + YAML_STRING("label", 4), + YAML_UNSIGNED( "subId", 8 ), + YAML_ENUM("type", 1, enum_TelemetrySensorType), + YAML_PADDING( 1 ), + YAML_UNSIGNED( "unit", 6 ), + YAML_UNSIGNED( "prec", 2 ), + YAML_UNSIGNED( "autoOffset", 1 ), + YAML_UNSIGNED( "filter", 1 ), + YAML_UNSIGNED( "logs", 1 ), + YAML_UNSIGNED( "persistent", 1 ), + YAML_UNSIGNED( "onlyPositive", 1 ), + YAML_PADDING( 1 ), + YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg), + YAML_END +}; +static const struct YamlNode union_ZoneOptionValue_elmts[] = { + YAML_UNSIGNED( "unsignedValue", 32 ), + YAML_SIGNED( "signedValue", 32 ), + YAML_UNSIGNED( "boolValue", 32 ), + YAML_STRING("stringValue", 8), + YAML_CUSTOM("source",r_zov_source,w_zov_source), + YAML_CUSTOM("color",r_zov_color,w_zov_color), + YAML_END +}; +static const struct YamlNode struct_ZoneOptionValueTyped[] = { + YAML_IDX, + YAML_ENUM("type", 32, enum_ZoneOptionValueEnum), + YAML_UNION("value", 64, union_ZoneOptionValue_elmts, select_zov), + YAML_END +}; +static const struct YamlNode struct_WidgetPersistentData[] = { + YAML_ARRAY("options", 96, 10, struct_ZoneOptionValueTyped, NULL), + YAML_END +}; +static const struct YamlNode struct_ZonePersistentData[] = { + YAML_IDX, + YAML_STRING("widgetName", 12), + YAML_STRUCT("widgetData", 960, struct_WidgetPersistentData, NULL), + YAML_END +}; +static const struct YamlNode struct_LayoutPersistentData[] = { + YAML_ARRAY("zones", 1056, 10, struct_ZonePersistentData, NULL), + YAML_ARRAY("options", 96, 10, struct_ZoneOptionValueTyped, NULL), + YAML_END +}; +static const struct YamlNode struct_CustomScreenData[] = { + YAML_IDX, + YAML_STRING("LayoutId", 12), + YAML_STRUCT("layoutData", 11520, struct_LayoutPersistentData, NULL), + YAML_END +}; +static const struct YamlNode struct_TopBarPersistentData[] = { + YAML_ARRAY("zones", 1056, 6, struct_ZonePersistentData, NULL), + YAML_ARRAY("options", 96, 1, struct_ZoneOptionValueTyped, NULL), + YAML_END +}; +static const struct YamlNode struct_USBJoystickChData[] = { + YAML_IDX, + YAML_ENUM("mode", 3, enum_USBJoystickCh), + YAML_UNSIGNED( "inversion", 1 ), + YAML_UNSIGNED( "param", 4 ), + YAML_UNSIGNED( "btn_num", 5 ), + YAML_UNSIGNED( "switch_npos", 3 ), + YAML_END +}; +static const struct YamlNode struct_ModelData[] = { + YAML_CUSTOM("semver",nullptr,w_semver), + YAML_STRUCT("header", 1048, struct_ModelHeader, NULL), + YAML_ARRAY("timers", 136, 3, struct_TimerData, NULL), + YAML_UNSIGNED( "telemetryProtocol", 3 ), + YAML_UNSIGNED( "thrTrim", 1 ), + YAML_UNSIGNED( "noGlobalFunctions", 1 ), + YAML_UNSIGNED( "displayTrims", 2 ), + YAML_UNSIGNED( "ignoreSensorIds", 1 ), + YAML_SIGNED( "trimInc", 3 ), + YAML_UNSIGNED( "disableThrottleWarning", 1 ), + YAML_UNSIGNED( "displayChecklist", 1 ), + YAML_UNSIGNED( "extendedLimits", 1 ), + YAML_UNSIGNED( "extendedTrims", 1 ), + YAML_UNSIGNED( "throttleReversed", 1 ), + YAML_UNSIGNED( "enableCustomThrottleWarning", 1 ), + YAML_UNSIGNED( "disableTelemetryWarning", 1 ), + YAML_UNSIGNED( "showInstanceIds", 1 ), + YAML_UNSIGNED( "checklistInteractive", 1 ), + YAML_PADDING( 4 ), + YAML_SIGNED( "customThrottleWarningPosition", 8 ), + YAML_UNSIGNED( "beepANACenter", 16 ), + YAML_ARRAY("mixData", 160, 64, struct_MixData, NULL), + YAML_ARRAY("limitData", 104, 32, struct_LimitData, NULL), + YAML_ARRAY("expoData", 144, 64, struct_ExpoData, NULL), + YAML_ARRAY("curves", 32, 32, struct_CurveHeader, NULL), + YAML_ARRAY("points", 8, 512, struct_signed_8, NULL), + YAML_ARRAY("logicalSw", 72, 64, struct_LogicalSwitchData, NULL), + YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), + YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), + YAML_ARRAY("flightModeData", 352, 9, struct_FlightModeData, fmd_is_active), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), + YAML_CUSTOM("switchWarningState",r_swtchWarn,nullptr), + YAML_ARRAY("switchWarning", 3, 21, struct_swtchWarn, nullptr), + YAML_PADDING(1), + YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), + YAML_STRUCT("varioData", 40, struct_VarioData, NULL), + YAML_UNSIGNED_CUST( "rssiSource", 8, r_tele_sensor, w_tele_sensor ), + YAML_STRUCT("rssiAlarms", 0, struct_RssiAlarmData, NULL), + YAML_STRUCT("rfAlarms", 16, struct_RFAlarmData, NULL), + YAML_UNSIGNED( "thrTrimSw", 3 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), + YAML_ENUM("jitterFilter", 2, enum_ModelOverridableEnable), + YAML_PADDING( 1 ), + YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), + YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), + YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), + YAML_ARRAY("scriptsData", 192, 9, struct_ScriptData, NULL), + YAML_ARRAY("inputNames", 32, 32, struct_string_32, NULL), + YAML_UNSIGNED( "potsWarnEnabled", 16 ), + YAML_ARRAY("potsWarnPosition", 8, 16, struct_signed_8, NULL), + YAML_ARRAY("telemetrySensors", 112, 60, struct_TelemetrySensor, NULL), + YAML_ARRAY("screenData", 11616, 10, struct_CustomScreenData, NULL), + YAML_STRUCT("topbarData", 6432, struct_TopBarPersistentData, NULL), + YAML_ARRAY("topbarWidgetWidth", 8, 6, struct_unsigned_8, NULL), + YAML_UNSIGNED( "view", 8 ), + YAML_STRING("modelRegistrationID", 8), + YAML_UNSIGNED( "usbJoystickExtMode", 1 ), + YAML_ENUM("usbJoystickIfMode", 3, enum_USBJoystickIfMode), + YAML_UNSIGNED( "usbJoystickCircularCut", 4 ), + YAML_ARRAY("usbJoystickCh", 16, 26, struct_USBJoystickChData, NULL), + YAML_ENUM("radioThemesDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("radioGFDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("radioTrainerDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelHeliDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelFMDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelCurvesDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelGVDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelLSDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelSFDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelCustomScriptsDisabled", 2, enum_ModelOverridableEnable), + YAML_ENUM("modelTelemetryDisabled", 2, enum_ModelOverridableEnable), + YAML_END +}; +static const struct YamlNode struct_PartialModel[] = { + YAML_STRUCT("header", 1048, struct_ModelHeader, NULL), + YAML_ARRAY("timers", 136, 3, struct_TimerData, NULL), + YAML_END +}; + +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 29 + +static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); + +const YamlNode* get_radiodata_nodes() +{ + return &__RadioData_root_node; +} +static const struct YamlNode __ModelData_root_node = YAML_ROOT( struct_ModelData ); + +const YamlNode* get_modeldata_nodes() +{ + return &__ModelData_root_node; +} +static const struct YamlNode __PartialModel_root_node = YAML_ROOT( struct_PartialModel ); + +const YamlNode* get_partialmodel_nodes() +{ + return &__PartialModel_root_node; +} + diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index f18f8d4d1..f8a152f05 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -93,7 +93,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp index 38f29cdc3..cebe98365 100644 --- a/radio/src/storage/yaml/yaml_datastructs_pl18.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_pl18.cpp @@ -93,7 +93,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t15.cpp b/radio/src/storage/yaml/yaml_datastructs_t15.cpp index d9744c7f4..6c98cd0e5 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t15.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t15.cpp @@ -86,7 +86,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_t20.cpp b/radio/src/storage/yaml/yaml_datastructs_t20.cpp index 6e767a253..4f068c59c 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t20.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t20.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index 0222ff5c5..717f32bcf 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index d1d37c354..f9dbc011b 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -86,7 +86,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_SET_SCREEN, "SET_SCREEN" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 5d78a8d87..b29dfc2b5 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp b/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp index 9809730d4..0bbf3fcbf 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9dp2019.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index b95c78c8a..fc6482bbc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index 8e2ac806a..3763b2661 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index e8d517235..f6b661725 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -84,7 +84,6 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_RGB_LED, "RGB_LED" }, - { FUNC_LCD_TO_VIDEO, "LCD_TO_VIDEO" }, { FUNC_TEST, "TEST" }, { 0, NULL } }; diff --git a/tools/cfn_sorter.cpp b/tools/cfn_sorter.cpp old mode 100644 new mode 100755 index 644a55fd4..3b03de385 --- a/tools/cfn_sorter.cpp +++ b/tools/cfn_sorter.cpp @@ -75,6 +75,7 @@ struct cfn { std::string str; std::string nam; Functions func; + std::string cond; }; struct LocaleComparator { @@ -93,56 +94,49 @@ int main() { #if defined(LOC) std::vector list = { - { TR_SF_SAFETY, "FUNC_OVERRIDE_CHANNEL", FUNC_OVERRIDE_CHANNEL }, - { TR_SF_TRAINER, "FUNC_TRAINER", FUNC_TRAINER }, - { TR_SF_INST_TRIM, "FUNC_INSTANT_TRIM", FUNC_INSTANT_TRIM }, - { TR_SF_RESET, "FUNC_RESET", FUNC_RESET }, - { TR_SF_SET_TIMER, "FUNC_SET_TIMER", FUNC_SET_TIMER }, - { TR_ADJUST_GVAR, "FUNC_ADJUST_GVAR", FUNC_ADJUST_GVAR }, - { TR_SF_VOLUME, "FUNC_VOLUME", FUNC_VOLUME }, - { TR_SF_FAILSAFE, "FUNC_SET_FAILSAFE", FUNC_SET_FAILSAFE }, - { TR_SF_RANGE_CHECK, "FUNC_RANGECHECK", FUNC_RANGECHECK }, - { TR_SF_MOD_BIND, "FUNC_BIND", FUNC_BIND }, - { TR_SOUND, "FUNC_PLAY_SOUND", FUNC_PLAY_SOUND }, - { TR_PLAY_TRACK, "FUNC_PLAY_TRACK", FUNC_PLAY_TRACK }, - { TR_PLAY_VALUE, "FUNC_PLAY_VALUE", FUNC_PLAY_VALUE }, - { TR_SF_PLAY_SCRIPT, "FUNC_PLAY_SCRIPT", FUNC_PLAY_SCRIPT }, - { TR_SF_BG_MUSIC, "FUNC_BACKGND_MUSIC", FUNC_BACKGND_MUSIC }, - { TR_SF_BG_MUSIC_PAUSE, "FUNC_BACKGND_MUSIC_PAUSE", FUNC_BACKGND_MUSIC_PAUSE }, - { TR_SF_VARIO, "FUNC_VARIO", FUNC_VARIO }, - { TR_SF_HAPTIC, "FUNC_HAPTIC", FUNC_HAPTIC }, - { TR_SF_LOGS, "FUNC_LOGS", FUNC_LOGS }, - { TR_BRIGHTNESS, "FUNC_BACKLIGHT", FUNC_BACKLIGHT }, - { TR_SF_BACKLIGHT, "FUNC_BACKLIGHT", FUNC_BACKLIGHT }, - { TR_SF_SCREENSHOT, "FUNC_SCREENSHOT", FUNC_SCREENSHOT }, - { TR_SF_RACING_MODE, "FUNC_RACING_MODE", FUNC_RACING_MODE }, - { TR_SF_DISABLE_TOUCH, "FUNC_DISABLE_TOUCH", FUNC_DISABLE_TOUCH }, - { TR_SF_SET_SCREEN, "FUNC_SET_SCREEN", FUNC_SET_SCREEN }, - { TR_SF_DISABLE_AUDIO_AMP, "FUNC_DISABLE_AUDIO_AMP", FUNC_DISABLE_AUDIO_AMP }, - { TR_SF_RGBLEDS, "FUNC_RGB_LED", FUNC_RGB_LED }, - { TR_SF_LCD_TO_VIDEO, "FUNC_LCD_TO_VIDEO", FUNC_LCD_TO_VIDEO }, - { TR_SF_TEST, "FUNC_TEST", FUNC_TEST }, + { TR_SF_SAFETY, "FUNC_OVERRIDE_CHANNEL", FUNC_OVERRIDE_CHANNEL, "" }, + { TR_SF_TRAINER, "FUNC_TRAINER", FUNC_TRAINER, "" }, + { TR_SF_INST_TRIM, "FUNC_INSTANT_TRIM", FUNC_INSTANT_TRIM, "" }, + { TR_SF_RESET, "FUNC_RESET", FUNC_RESET, "" }, + { TR_SF_SET_TIMER, "FUNC_SET_TIMER", FUNC_SET_TIMER, "" }, + { TR_ADJUST_GVAR, "FUNC_ADJUST_GVAR", FUNC_ADJUST_GVAR, "" }, + { TR_SF_VOLUME, "FUNC_VOLUME", FUNC_VOLUME, "" }, + { TR_SF_FAILSAFE, "FUNC_SET_FAILSAFE", FUNC_SET_FAILSAFE, "" }, + { TR_SF_RANGE_CHECK, "FUNC_RANGECHECK", FUNC_RANGECHECK, "" }, + { TR_SF_MOD_BIND, "FUNC_BIND", FUNC_BIND, "" }, + { TR_SOUND, "FUNC_PLAY_SOUND", FUNC_PLAY_SOUND, "" }, + { TR_PLAY_TRACK, "FUNC_PLAY_TRACK", FUNC_PLAY_TRACK, "" }, + { TR_PLAY_VALUE, "FUNC_PLAY_VALUE", FUNC_PLAY_VALUE, "" }, + { TR_SF_PLAY_SCRIPT, "FUNC_PLAY_SCRIPT", FUNC_PLAY_SCRIPT, "" }, + { TR_SF_BG_MUSIC, "FUNC_BACKGND_MUSIC", FUNC_BACKGND_MUSIC, "" }, + { TR_SF_BG_MUSIC_PAUSE, "FUNC_BACKGND_MUSIC_PAUSE", FUNC_BACKGND_MUSIC_PAUSE, "" }, + { TR_SF_VARIO, "FUNC_VARIO", FUNC_VARIO, "" }, + { TR_SF_HAPTIC, "FUNC_HAPTIC", FUNC_HAPTIC, "" }, + { TR_SF_LOGS, "FUNC_LOGS", FUNC_LOGS, "" }, + { TR_BRIGHTNESS, "FUNC_BACKLIGHT", FUNC_BACKLIGHT, "defined(OLED_SCREEN)" }, + { TR_SF_BACKLIGHT, "FUNC_BACKLIGHT", FUNC_BACKLIGHT, "!defined(OLED_SCREEN)" }, + { TR_SF_SCREENSHOT, "FUNC_SCREENSHOT", FUNC_SCREENSHOT, "" }, + { TR_SF_RACING_MODE, "FUNC_RACING_MODE", FUNC_RACING_MODE, "" }, + { TR_SF_DISABLE_TOUCH, "FUNC_DISABLE_TOUCH", FUNC_DISABLE_TOUCH, "defined(COLORLCD)" }, + { TR_SF_SET_SCREEN, "FUNC_SET_SCREEN", FUNC_SET_SCREEN, "defined(COLORLCD)" }, + { TR_SF_DISABLE_AUDIO_AMP, "FUNC_DISABLE_AUDIO_AMP", FUNC_DISABLE_AUDIO_AMP, "" }, + { TR_SF_RGBLEDS, "FUNC_RGB_LED", FUNC_RGB_LED, "" }, + { TR_SF_LCD_TO_VIDEO, "FUNC_LCD_TO_VIDEO", FUNC_LCD_TO_VIDEO, "defined(VIDEO_SWITCH)" }, + { TR_SF_TEST, "FUNC_TEST", FUNC_TEST, "defined(DEBUG)" }, }; std::locale locale(LOC); std::sort(list.begin(), list.end(), LocaleComparator(locale)); for (int i = 0; i < list.size(); i += 1) { - if (strcmp(TR_BRIGHTNESS, TR_SF_BACKLIGHT) != 0) { - if (list[i].str == TR_BRIGHTNESS) { - printf("#if defined(OLED_SCREEN)\n"); - } else if (list[i].str == TR_SF_BACKLIGHT) { - printf("#if !defined(OLED_SCREEN)\n"); - } + bool addEndif = false; + if (!list[i].cond.empty()) { + printf("#if %s\n", list[i].cond.c_str()); + addEndif = true; } printf(" /* %s */ %s,\n", list[i].str.c_str(), list[i].nam.c_str()); - if (strcmp(TR_BRIGHTNESS, TR_SF_BACKLIGHT) != 0) { - if (list[i].str == TR_BRIGHTNESS || list[i].str == TR_SF_BACKLIGHT) { - printf("#endif\n"); - } - } else if (list[i].str == TR_BRIGHTNESS) { - i += 1; - } + if (addEndif) + printf("#endif\n"); } return 0; diff --git a/tools/generate-yaml.sh b/tools/generate-yaml.sh index 7767848b0..23e2ff429 100755 --- a/tools/generate-yaml.sh +++ b/tools/generate-yaml.sh @@ -11,7 +11,7 @@ if [[ -n ${GCC_ARM} ]] ; then export PATH=${GCC_ARM}:$PATH fi -: ${FLAVOR:="t15;tx16s;nv14;pl18;x9d;x9dp2019;x9e;xlite;xlites;x7;tpro;t20"} +: ${FLAVOR:="t15;tx16s;nv14;pl18;x9d;x9dp2019;x9e;xlite;xlites;x7;tpro;t20;f16"} : ${SRCDIR:=$(dirname "$(pwd)/$0")/..} : ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DDISABLE_COMPANION=YES -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"}