feat(radio): sort global/special function names (#5429)

Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
philmoz
2024-08-23 11:57:05 +10:00
committed by GitHub
co-authored by Peter Feerick
parent 2ef014db0f
commit e0a3097620
11 changed files with 973 additions and 47 deletions
+1
View File
@@ -405,6 +405,7 @@ if(GUI)
keys.cpp
maths.cpp
translations.cpp
cfn_sort.cpp
gui/gui_common.cpp
)
foreach(FILE ${GUI_SRC})
+643
View File
@@ -0,0 +1,643 @@
/*
* Copyright (C) EdgeTX
*
* Based on code named
* opentx - https://github.com/opentx/opentx
* th9x - http://code.google.com/p/th9x
* er9x - http://code.google.com/p/er9x
* gruvin9x - http://code.google.com/p/gruvin9x
*
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
// This file is auto-generated via cfn_sorter.sh. Do not edit.
#include "dataconstants.h"
Functions cfn_sorted[] = {
#if defined(TRANSLATIONS_CN)
#if !defined(OLED_SCREEN)
/* 背光 */ FUNC_BACKLIGHT,
#endif
/* 播放背景音乐 */ FUNC_BACKGND_MUSIC,
/* 播放声音 */ FUNC_PLAY_SOUND,
/* 播放数值 */ FUNC_PLAY_VALUE,
/* 播放音频文件 */ FUNC_PLAY_TRACK,
/* 测距模式 */ FUNC_RANGECHECK,
/* 测试 */ FUNC_TEST,
/* 复位 */ FUNC_RESET,
/* 关闭音频功放 */ FUNC_DISABLE_AUDIO_AMP,
/* 记录日志到SD卡 */ FUNC_LOGS,
/* 教练 */ FUNC_TRAINER,
/* 截屏 */ FUNC_SCREENSHOT,
/* 禁用触摸 */ FUNC_DISABLE_TOUCH,
/* 竞速模式 */ FUNC_RACING_MODE,
#if defined(OLED_SCREEN)
/* 亮度 */ FUNC_BACKLIGHT,
#endif
/* 模块对频 */ FUNC_BIND,
/* 屏幕显示图传 */ FUNC_LCD_TO_VIDEO,
/* 设置 */ FUNC_SET_TIMER,
/* 设置失控保护 */ FUNC_SET_FAILSAFE,
/* 锁定通道值 */ FUNC_OVERRIDE_CHANNEL,
/* 修改全局变量GV值 */ FUNC_ADJUST_GVAR,
/* 选择主屏 */ FUNC_SET_SCREEN,
/* 摇杆值存储到微调 */ FUNC_INSTANT_TRIM,
/* 音量 */ FUNC_VOLUME,
/* 暂停背景音乐 */ FUNC_BACKGND_MUSIC_PAUSE,
/* 振动 */ FUNC_HAPTIC,
/* Lua脚本 */ FUNC_PLAY_SCRIPT,
/* RGB LED 灯 */ FUNC_RGB_LED,
/* Vario传感器 */ FUNC_VARIO,
#elif defined(TRANSLATIONS_CZ)
/* Deaktivace dotyku */ FUNC_DISABLE_TOUCH,
/* Hlasitost */ FUNC_VOLUME,
/* Hlásit stav */ FUNC_PLAY_VALUE,
/* Hrát zvuk */ FUNC_PLAY_SOUND,
/* Hudba */ FUNC_BACKGND_MUSIC,
/* Hudba pauza */ FUNC_BACKGND_MUSIC_PAUSE,
/* Insta-Trim */ FUNC_INSTANT_TRIM,
#if defined(OLED_SCREEN)
/* Jas */ FUNC_BACKLIGHT,
#endif
/* Kontrola dosahu */ FUNC_RANGECHECK,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Loguj na SD */ FUNC_LOGS,
/* Lua Skript */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* Nastav */ FUNC_ADJUST_GVAR,
/* Nastavit Failsafe */ FUNC_SET_FAILSAFE,
#if !defined(OLED_SCREEN)
/* Podsvětlení */ FUNC_BACKLIGHT,
#endif
/* Přehrát wav */ FUNC_PLAY_TRACK,
/* Reset */ FUNC_RESET,
/* RGB světlo */ FUNC_RGB_LED,
/* Snímek LCD */ FUNC_SCREENSHOT,
/* Test */ FUNC_TEST,
/* Trenér */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Vibrovat */ FUNC_HAPTIC,
/* Vybrat hlavní obrazovku */ FUNC_SET_SCREEN,
/* Vypnutí zesilovače zvuku */ FUNC_DISABLE_AUDIO_AMP,
/* Zámek */ FUNC_OVERRIDE_CHANNEL,
/* Závodní režim */ FUNC_RACING_MODE,
/* Změna */ FUNC_SET_TIMER,
#elif defined(TRANSLATIONS_DA)
/* Afspil lydfil */ FUNC_PLAY_TRACK,
/* Afstand kontrol */ FUNC_RANGECHECK,
#if !defined(OLED_SCREEN)
/* Baggrundslys */ FUNC_BACKLIGHT,
#endif
/* BgMusik */ FUNC_BACKGND_MUSIC,
/* BgMusik || */ FUNC_BACKGND_MUSIC_PAUSE,
/* Ikke berøringsaktiv */ FUNC_DISABLE_TOUCH,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* Juster */ FUNC_ADJUST_GVAR,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
/* Lydstyrke */ FUNC_VOLUME,
/* Modul tilslut */ FUNC_BIND,
/* Nulstil */ FUNC_RESET,
/* Overskriv */ FUNC_OVERRIDE_CHANNEL,
/* RGB led */ FUNC_RGB_LED,
/* Ræs tilstand */ FUNC_RACING_MODE,
/* SD Log */ FUNC_LOGS,
#if defined(OLED_SCREEN)
/* Skarphed */ FUNC_BACKLIGHT,
#endif
/* Skærm klip */ FUNC_SCREENSHOT,
/* Sluk audio amplifier */ FUNC_DISABLE_AUDIO_AMP,
/* Spil lyd */ FUNC_PLAY_SOUND,
/* Spil Værdi */ FUNC_PLAY_VALUE,
/* Sæt */ FUNC_SET_TIMER,
/* Sæt fejlsikring */ FUNC_SET_FAILSAFE,
/* Test */ FUNC_TEST,
/* Træner */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Vibration */ FUNC_HAPTIC,
/* Vælg hoved skærm */ FUNC_SET_SCREEN,
#elif defined(TRANSLATIONS_DE)
/* Ändere */ FUNC_ADJUST_GVAR,
/* Audio Verst. Aus */ FUNC_DISABLE_AUDIO_AMP,
/* Haptik */ FUNC_HAPTIC,
#if defined(OLED_SCREEN)
/* Helligkeit */ FUNC_BACKLIGHT,
#endif
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* Kein Touch */ FUNC_DISABLE_TOUCH,
/* Lautstr. */ FUNC_VOLUME,
#if !defined(OLED_SCREEN)
/* LCD Licht */ FUNC_BACKLIGHT,
#endif
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lehrer */ FUNC_TRAINER,
/* Lua Skript */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* RacingMode */ FUNC_RACING_MODE,
/* RangeCheck */ FUNC_RANGECHECK,
/* RGB LED */ FUNC_RGB_LED,
/* Rücksetz. */ FUNC_RESET,
/* Sag Text */ FUNC_PLAY_TRACK,
/* Sag Wert */ FUNC_PLAY_VALUE,
/* Screenshot */ FUNC_SCREENSHOT,
/* SD-Aufz. */ FUNC_LOGS,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* Setze */ FUNC_SET_TIMER,
/* Spiel Töne */ FUNC_PLAY_SOUND,
/* StartMusik */ FUNC_BACKGND_MUSIC,
/* Stop Musik */ FUNC_BACKGND_MUSIC_PAUSE,
/* Test */ FUNC_TEST,
/* Überschreibe */ FUNC_OVERRIDE_CHANNEL,
/* Vario */ FUNC_VARIO,
#elif defined(TRANSLATIONS_ES)
/* Ajuste */ FUNC_SET_TIMER,
/* Ajuste */ FUNC_ADJUST_GVAR,
/* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP,
/* BgMúsica */ FUNC_BACKGND_MUSIC,
/* BgMúsica|| */ FUNC_BACKGND_MUSIC_PAUSE,
#if defined(OLED_SCREEN)
/* Brillo */ FUNC_BACKLIGHT,
#endif
/* Captura */ FUNC_SCREENSHOT,
/* CheckRango */ FUNC_RANGECHECK,
/* Enl.módulo */ FUNC_BIND,
/* Entrenador */ FUNC_TRAINER,
/* Failsafe */ FUNC_SET_FAILSAFE,
/* Haptic */ FUNC_HAPTIC,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
#if !defined(OLED_SCREEN)
/* Luz Fondo */ FUNC_BACKLIGHT,
#endif
/* No Touch */ FUNC_DISABLE_TOUCH,
/* Oir pista */ FUNC_PLAY_TRACK,
/* Oir sonido */ FUNC_PLAY_SOUND,
/* Oir valor */ FUNC_PLAY_VALUE,
/* RacingMode */ FUNC_RACING_MODE,
/* Reset */ FUNC_RESET,
/* RGB leds */ FUNC_RGB_LED,
/* SD Logs */ FUNC_LOGS,
/* Seguro */ FUNC_OVERRIDE_CHANNEL,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* Test */ FUNC_TEST,
/* Vario */ FUNC_VARIO,
/* Volumen */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_FI)
/* Adjust */ FUNC_ADJUST_GVAR,
/* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP,
#if !defined(OLED_SCREEN)
/* Backlight */ FUNC_BACKLIGHT,
#endif
/* BgMusic */ FUNC_BACKGND_MUSIC,
/* BgMusic || */ FUNC_BACKGND_MUSIC_PAUSE,
/* Haptic */ FUNC_HAPTIC,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
#if defined(OLED_SCREEN)
/* Kirkkaus */ FUNC_BACKLIGHT,
#endif
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* No Touch */ FUNC_DISABLE_TOUCH,
/* Play Sound */ FUNC_PLAY_SOUND,
/* Play Track */ FUNC_PLAY_TRACK,
/* Play Value */ FUNC_PLAY_VALUE,
/* RacingMode */ FUNC_RACING_MODE,
/* RangeCheck */ FUNC_RANGECHECK,
/* Reset */ FUNC_RESET,
/* RGB leds */ FUNC_RGB_LED,
/* Safety */ FUNC_OVERRIDE_CHANNEL,
/* Screenshot */ FUNC_SCREENSHOT,
/* SD Logs */ FUNC_LOGS,
/* Set */ FUNC_SET_TIMER,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* Test */ FUNC_TEST,
/* Trainer */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Volume */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_FR)
/* Ajuster */ FUNC_ADJUST_GVAR,
/* Bind */ FUNC_BIND,
/* Déf. */ FUNC_SET_TIMER,
/* Définir Écran Princ. */ FUNC_SET_SCREEN,
/* 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,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lire valeur */ FUNC_PLAY_VALUE,
/* Logs SD */ FUNC_LOGS,
#if defined(OLED_SCREEN)
/* Luminosité */ FUNC_BACKLIGHT,
#endif
/* Musique */ FUNC_BACKGND_MUSIC,
/* Non Tactile */ FUNC_DISABLE_TOUCH,
/* Pause Musique */ FUNC_BACKGND_MUSIC_PAUSE,
/* Photo Écran */ FUNC_SCREENSHOT,
/* Racing Mode */ FUNC_RACING_MODE,
/* Régle Failsafe */ FUNC_SET_FAILSAFE,
/* Remise à 0 */ FUNC_RESET,
/* Remplace */ FUNC_OVERRIDE_CHANNEL,
#if !defined(OLED_SCREEN)
/* Rétroécl. */ FUNC_BACKLIGHT,
#endif
/* RGB leds */ FUNC_RGB_LED,
/* Script Lua */ FUNC_PLAY_SCRIPT,
/* Test */ FUNC_TEST,
/* Test Port. */ FUNC_RANGECHECK,
/* Vario */ FUNC_VARIO,
/* Vibreur */ FUNC_HAPTIC,
/* Volume */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_HE)
/* Adjust */ FUNC_ADJUST_GVAR,
/* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP,
#if !defined(OLED_SCREEN)
/* Backlight */ FUNC_BACKLIGHT,
#endif
/* BgMusic */ FUNC_BACKGND_MUSIC,
/* BgMusic || */ FUNC_BACKGND_MUSIC_PAUSE,
/* Haptic */ FUNC_HAPTIC,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* Override */ FUNC_OVERRIDE_CHANNEL,
/* Play Sound */ FUNC_PLAY_SOUND,
/* Play Track */ FUNC_PLAY_TRACK,
/* Play Value */ FUNC_PLAY_VALUE,
/* RangeCheck */ FUNC_RANGECHECK,
/* Reset */ FUNC_RESET,
/* RGB leds */ FUNC_RGB_LED,
/* SD Logs */ FUNC_LOGS,
/* Set */ FUNC_SET_TIMER,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Test */ FUNC_TEST,
/* Trainer */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Volume */ FUNC_VOLUME,
#if defined(OLED_SCREEN)
/* בהירות */ FUNC_BACKLIGHT,
#endif
/* הגדרת מסך ראשי */ FUNC_SET_SCREEN,
/* ללא מסך מגע */ FUNC_DISABLE_TOUCH,
/* מצב תחרות */ FUNC_RACING_MODE,
/* צילום מסך */ FUNC_SCREENSHOT,
#elif defined(TRANSLATIONS_IT)
/* Amp Audio Off */ FUNC_DISABLE_AUDIO_AMP,
/* Azzera */ FUNC_RESET,
/* BindModulo */ FUNC_BIND,
/* Blocco */ FUNC_OVERRIDE_CHANNEL,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Leds RGB */ FUNC_RGB_LED,
/* Leggi Valore */ FUNC_PLAY_VALUE,
/* Logs SDCard */ FUNC_LOGS,
#if defined(OLED_SCREEN)
/* Luminosità */ FUNC_BACKLIGHT,
#endif
/* Maestro */ FUNC_TRAINER,
/* Modo Racing */ FUNC_RACING_MODE,
/* Musica Sf */ FUNC_BACKGND_MUSIC,
/* Musica Sf || */ FUNC_BACKGND_MUSIC_PAUSE,
/* No Touch */ FUNC_DISABLE_TOUCH,
/* RangeCheck */ FUNC_RANGECHECK,
/* Regola */ FUNC_ADJUST_GVAR,
#if !defined(OLED_SCREEN)
/* Retroillum. */ FUNC_BACKLIGHT,
#endif
/* Screenshot */ FUNC_SCREENSHOT,
/* Script Lua */ FUNC_PLAY_SCRIPT,
/* Set */ FUNC_SET_TIMER,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Setta Schermo Princ. */ FUNC_SET_SCREEN,
/* Suona */ FUNC_PLAY_SOUND,
/* Suona Traccia */ FUNC_PLAY_TRACK,
/* Test */ FUNC_TEST,
/* Vario */ FUNC_VARIO,
/* Vibrazione */ FUNC_HAPTIC,
/* Volume */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_JP)
/* BGM一時停止 */ FUNC_BACKGND_MUSIC_PAUSE,
/* BGM再生 */ FUNC_BACKGND_MUSIC,
/* Failsafe設定 */ FUNC_SET_FAILSAFE,
/* G変数修正 */ FUNC_ADJUST_GVAR,
/* Inst.トリム */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* LUAスクリプト */ FUNC_PLAY_SCRIPT,
/* RGB LED */ FUNC_RGB_LED,
/* SDログ出力 */ FUNC_LOGS,
/* オーディオアンプ OFF */ FUNC_DISABLE_AUDIO_AMP,
/* サウンド再生 */ FUNC_PLAY_SOUND,
/* ダイヤル */ FUNC_VOLUME,
/* テスト */ FUNC_TEST,
/* トレーナー */ FUNC_TRAINER,
/* バイブレート */ FUNC_HAPTIC,
#if !defined(OLED_SCREEN)
/* バックライト */ FUNC_BACKLIGHT,
#endif
/* バリオ */ FUNC_VARIO,
/* メイン画面設定 */ FUNC_SET_SCREEN,
/* モジュールバインド */ FUNC_BIND,
/* リセット */ FUNC_RESET,
/* レースモード */ FUNC_RACING_MODE,
/* レンジチェック */ FUNC_RANGECHECK,
/* 音源再生 */ FUNC_PLAY_TRACK,
/* 画面キャプチャ */ FUNC_SCREENSHOT,
#if defined(OLED_SCREEN)
/* 輝度 */ FUNC_BACKLIGHT,
#endif
/* 再生値 */ FUNC_PLAY_VALUE,
/* 上書き */ FUNC_OVERRIDE_CHANNEL,
/* 設定 */ FUNC_SET_TIMER,
/* 非タッチ */ FUNC_DISABLE_TOUCH,
#elif defined(TRANSLATIONS_NL)
/* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP,
#if !defined(OLED_SCREEN)
/* Backlight */ FUNC_BACKLIGHT,
#endif
/* BgMusic */ FUNC_BACKGND_MUSIC,
/* BgMusic || */ FUNC_BACKGND_MUSIC_PAUSE,
/* Geluid */ FUNC_PLAY_SOUND,
/* Haptic */ FUNC_HAPTIC,
#if defined(OLED_SCREEN)
/* Helderheid */ FUNC_BACKLIGHT,
#endif
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* No Touch */ FUNC_DISABLE_TOUCH,
/* Override */ FUNC_OVERRIDE_CHANNEL,
/* Play Track */ FUNC_PLAY_TRACK,
/* Play Value */ FUNC_PLAY_VALUE,
/* RacingMode */ FUNC_RACING_MODE,
/* RangeCheck */ FUNC_RANGECHECK,
/* Reset */ FUNC_RESET,
/* RGB leds */ FUNC_RGB_LED,
/* Schermafdr */ FUNC_SCREENSHOT,
/* SD Logs */ FUNC_LOGS,
/* Set */ FUNC_SET_TIMER,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* Test */ FUNC_TEST,
/* Trainer */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Volume */ FUNC_VOLUME,
/* Wijzig */ FUNC_ADJUST_GVAR,
#elif defined(TRANSLATIONS_PL)
/* Bezpiecz */ FUNC_OVERRIDE_CHANNEL,
/* Głośność */ FUNC_VOLUME,
/* GrajDźwięk */ FUNC_PLAY_SOUND,
/* GrajŚcieżk */ FUNC_PLAY_TRACK,
/* GrajWartoś */ FUNC_PLAY_VALUE,
/* Inst-Trim */ FUNC_INSTANT_TRIM,
#if defined(OLED_SCREEN)
/* Jasność */ FUNC_BACKLIGHT,
#endif
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Logi->SD */ FUNC_LOGS,
/* ModuleBind */ FUNC_BIND,
/* Muz. tła */ FUNC_BACKGND_MUSIC,
/* Muz. tła || */ FUNC_BACKGND_MUSIC_PAUSE,
/* No Touch */ FUNC_DISABLE_TOUCH,
#if !defined(OLED_SCREEN)
/* Podświetl */ FUNC_BACKLIGHT,
#endif
/* RacingMode */ FUNC_RACING_MODE,
/* RangeCheck */ FUNC_RANGECHECK,
/* Resetuj */ FUNC_RESET,
/* RGB ledy */ FUNC_RGB_LED,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* SkryptyLua */ FUNC_PLAY_SCRIPT,
/* Test */ FUNC_TEST,
/* Trener */ FUNC_TRAINER,
/* Ustaw */ FUNC_ADJUST_GVAR,
/* Ustaw */ FUNC_SET_TIMER,
/* Wario */ FUNC_VARIO,
/* Wibracje */ FUNC_HAPTIC,
/* Wycisz wzmacniacz audio */ FUNC_DISABLE_AUDIO_AMP,
/* Zrzut Ekra */ FUNC_SCREENSHOT,
#elif defined(TRANSLATIONS_PT)
/* Ajuste */ FUNC_ADJUST_GVAR,
/* Amp Audio Desl */ FUNC_DISABLE_AUDIO_AMP,
/* BgMusica */ FUNC_BACKGND_MUSIC,
/* BgMusica || */ FUNC_BACKGND_MUSIC_PAUSE,
/* BindMódulo */ FUNC_BIND,
#if defined(OLED_SCREEN)
/* Brilho */ FUNC_BACKLIGHT,
#endif
/* Capt. Tela */ FUNC_SCREENSHOT,
/* DefFailsafe */ FUNC_SET_FAILSAFE,
/* Definir */ FUNC_SET_TIMER,
/* Def Tela Princ */ FUNC_SET_SCREEN,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Leds RGB */ FUNC_RGB_LED,
/* Logs SD */ FUNC_LOGS,
#if !defined(OLED_SCREEN)
/* LuzFundo */ FUNC_BACKLIGHT,
#endif
/* ModCorrida */ FUNC_RACING_MODE,
/* No Touch */ FUNC_DISABLE_TOUCH,
/* RangeCheck */ FUNC_RANGECHECK,
/* Rep Valor */ FUNC_PLAY_VALUE,
/* Reset */ FUNC_RESET,
/* Script Lua */ FUNC_PLAY_SCRIPT,
/* Sobrescrv */ FUNC_OVERRIDE_CHANNEL,
/* Test */ FUNC_TEST,
/* Tocar Som */ FUNC_PLAY_SOUND,
/* Tocar Trilha */ FUNC_PLAY_TRACK,
/* Trainer */ FUNC_TRAINER,
/* Trim Inst. */ FUNC_INSTANT_TRIM,
/* Vario */ FUNC_VARIO,
/* Vibrar */ FUNC_HAPTIC,
/* Volume */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_RU)
/* Bind модуль */ FUNC_BIND,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua скрипт */ FUNC_PLAY_SCRIPT,
/* Play Value */ FUNC_PLAY_VALUE,
/* RGB подсветка */ FUNC_RGB_LED,
/* SD логи */ FUNC_LOGS,
/* Авар управ */ FUNC_SET_FAILSAFE,
/* Варио */ FUNC_VARIO,
/* Вибро */ FUNC_HAPTIC,
/* Воспр звук */ FUNC_PLAY_SOUND,
/* Воспр трек */ FUNC_PLAY_TRACK,
/* Выбр глав экран */ FUNC_SET_SCREEN,
/* Вык аудио усил. */ FUNC_DISABLE_AUDIO_AMP,
/* Громкость */ FUNC_VOLUME,
/* Мгнов трим */ FUNC_INSTANT_TRIM,
/* Муз || */ FUNC_BACKGND_MUSIC_PAUSE,
/* Муз фон */ FUNC_BACKGND_MUSIC,
/* Настройка */ FUNC_ADJUST_GVAR,
/* Оменить */ FUNC_OVERRIDE_CHANNEL,
/* Подсветка */ FUNC_BACKLIGHT,
/* Пров диапаз */ FUNC_RANGECHECK,
/* Режим гонка */ FUNC_RACING_MODE,
/* Сброс */ FUNC_RESET,
/* Сенсор вык */ FUNC_DISABLE_TOUCH,
/* Скриншот */ FUNC_SCREENSHOT,
/* Таймер */ FUNC_TRAINER,
/* Тест */ FUNC_TEST,
/* Установ */ FUNC_SET_TIMER,
#elif defined(TRANSLATIONS_SE)
/* Audioförstärkare av */ FUNC_DISABLE_AUDIO_AMP,
#if !defined(OLED_SCREEN)
/* Belysning */ FUNC_BACKLIGHT,
#endif
/* Ej pekskärm */ FUNC_DISABLE_TOUCH,
/* Haptisk */ FUNC_HAPTIC,
/* Justera */ FUNC_ADJUST_GVAR,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
#if defined(OLED_SCREEN)
/* Ljusstyrka */ FUNC_BACKLIGHT,
#endif
/* Logga data */ FUNC_LOGS,
/* Lua-skript */ FUNC_PLAY_SCRIPT,
/* Lås */ FUNC_OVERRIDE_CHANNEL,
/* Lärare */ FUNC_TRAINER,
/* Musik */ FUNC_BACKGND_MUSIC,
/* Parkoppla modul */ FUNC_BIND,
/* Pausa Musik */ FUNC_BACKGND_MUSIC_PAUSE,
/* Range check */ FUNC_RANGECHECK,
/* RGB ledljus */ FUNC_RGB_LED,
/* Skärmbild */ FUNC_SCREENSHOT,
/* Spara trimmar */ FUNC_INSTANT_TRIM,
/* Spela ljud */ FUNC_PLAY_SOUND,
/* Spela upp */ FUNC_PLAY_TRACK,
/* Säg värdet */ FUNC_PLAY_VALUE,
/* Sätt */ FUNC_SET_TIMER,
/* Sätt failsafe */ FUNC_SET_FAILSAFE,
/* Sätt huvudskärm */ FUNC_SET_SCREEN,
/* Test */ FUNC_TEST,
/* Tävlingsläge */ FUNC_RACING_MODE,
/* Vario */ FUNC_VARIO,
/* Volym */ FUNC_VOLUME,
/* Återställ */ FUNC_RESET,
#elif defined(TRANSLATIONS_TW)
/* Lua腳本 */ FUNC_PLAY_SCRIPT,
/* RGB led燈 */ FUNC_RGB_LED,
/* Vario傳感器 */ FUNC_VARIO,
#if defined(OLED_SCREEN)
/* 亮度 */ FUNC_BACKLIGHT,
#endif
/* 修改全局變量GV值 */ FUNC_ADJUST_GVAR,
/* 屏幕顯示圖傳 */ FUNC_LCD_TO_VIDEO,
/* 截屏 */ FUNC_SCREENSHOT,
/* 振動 */ FUNC_HAPTIC,
/* 搖桿值存儲到微調 */ FUNC_INSTANT_TRIM,
/* 播放數值 */ FUNC_PLAY_VALUE,
/* 播放聲音 */ FUNC_PLAY_SOUND,
/* 播放背景音樂 */ FUNC_BACKGND_MUSIC,
/* 播放音頻文件 */ FUNC_PLAY_TRACK,
/* 教練 */ FUNC_TRAINER,
/* 暫停背景音樂 */ FUNC_BACKGND_MUSIC_PAUSE,
/* 模塊對頻 */ FUNC_BIND,
/* 測試 */ FUNC_TEST,
/* 測距模式 */ FUNC_RANGECHECK,
/* 禁用觸摸 */ FUNC_DISABLE_TOUCH,
/* 競速模式 */ FUNC_RACING_MODE,
#if !defined(OLED_SCREEN)
/* 背光 */ FUNC_BACKLIGHT,
#endif
/* 記錄日誌到SD卡 */ FUNC_LOGS,
/* 設置 */ FUNC_SET_TIMER,
/* 設置失控保護 */ FUNC_SET_FAILSAFE,
/* 選擇主屏 */ FUNC_SET_SCREEN,
/* 重啟 */ FUNC_RESET,
/* 鎖定通道值 */ FUNC_OVERRIDE_CHANNEL,
/* 關閉音頻功放 */ FUNC_DISABLE_AUDIO_AMP,
/* 音量 */ FUNC_VOLUME,
#elif defined(TRANSLATIONS_UA)
/* АварРежим */ FUNC_SET_FAILSAFE,
/* Варіо */ FUNC_VARIO,
/* Вибір гол. екр. */ FUNC_SET_SCREEN,
/* Вібро */ FUNC_HAPTIC,
/* Встан. */ FUNC_SET_TIMER,
/* Грати Звук */ FUNC_PLAY_SOUND,
/* Грати Знач. */ FUNC_PLAY_VALUE,
/* Грати Трек */ FUNC_PLAY_TRACK,
/* Гучність */ FUNC_VOLUME,
/* Митєв. трим. */ FUNC_INSTANT_TRIM,
/* Модуль Bind */ FUNC_BIND,
/* Налашт. */ FUNC_ADJUST_GVAR,
/* Перевизнач. */ FUNC_OVERRIDE_CHANNEL,
/* ПеревірДіап. */ FUNC_RANGECHECK,
#if !defined(OLED_SCREEN)
/* Підсвіт. */ FUNC_BACKLIGHT,
#endif
/* Підсил. вимк. */ FUNC_DISABLE_AUDIO_AMP,
/* Режим перегонів */ FUNC_RACING_MODE,
/* Сенсор вимк. */ FUNC_DISABLE_TOUCH,
/* Скид. */ FUNC_RESET,
/* Скріншот */ FUNC_SCREENSHOT,
/* Тест */ FUNC_TEST,
/* Тренер */ FUNC_TRAINER,
/* Фон.Муз. */ FUNC_BACKGND_MUSIC,
/* Фон.Муз. || */ FUNC_BACKGND_MUSIC_PAUSE,
#if defined(OLED_SCREEN)
/* Яскравість */ FUNC_BACKLIGHT,
#endif
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Скрипт */ FUNC_PLAY_SCRIPT,
/* RGB leds */ FUNC_RGB_LED,
/* SD лог */ FUNC_LOGS,
#else
/* Adjust */ FUNC_ADJUST_GVAR,
/* Audio Amp Off */ FUNC_DISABLE_AUDIO_AMP,
#if !defined(OLED_SCREEN)
/* Backlight */ FUNC_BACKLIGHT,
#endif
/* BgMusic */ FUNC_BACKGND_MUSIC,
/* BgMusic || */ FUNC_BACKGND_MUSIC_PAUSE,
#if defined(OLED_SCREEN)
/* Brightness */ FUNC_BACKLIGHT,
#endif
/* Haptic */ FUNC_HAPTIC,
/* Inst. Trim */ FUNC_INSTANT_TRIM,
/* LCD to Video */ FUNC_LCD_TO_VIDEO,
/* Lua Script */ FUNC_PLAY_SCRIPT,
/* ModuleBind */ FUNC_BIND,
/* No Touch */ FUNC_DISABLE_TOUCH,
/* Override */ FUNC_OVERRIDE_CHANNEL,
/* Play Sound */ FUNC_PLAY_SOUND,
/* Play Track */ FUNC_PLAY_TRACK,
/* Play Value */ FUNC_PLAY_VALUE,
/* RacingMode */ FUNC_RACING_MODE,
/* RangeCheck */ FUNC_RANGECHECK,
/* Reset */ FUNC_RESET,
/* RGB leds */ FUNC_RGB_LED,
/* Screenshot */ FUNC_SCREENSHOT,
/* SD Logs */ FUNC_LOGS,
/* Set */ FUNC_SET_TIMER,
/* SetFailsafe */ FUNC_SET_FAILSAFE,
/* Set Main Screen */ FUNC_SET_SCREEN,
/* Test */ FUNC_TEST,
/* Trainer */ FUNC_TRAINER,
/* Vario */ FUNC_VARIO,
/* Volume */ FUNC_VOLUME,
#endif
};
uint8_t getFuncSortIdx(uint8_t func)
{
for (uint8_t i = 0; i < FUNC_MAX; i += 1)
if (cfn_sorted[i] == func)
return i;
return 0;
}
+36 -38
View File
@@ -21,6 +21,8 @@
#pragma once
#if !defined(CFN_ONLY)
#include "board.h"
#include "storage/yaml/yaml_defs.h"
@@ -561,44 +563,6 @@ enum BacklightMode {
e_backlight_mode_on
};
enum Functions {
FUNC_OVERRIDE_CHANNEL,
FUNC_TRAINER,
FUNC_INSTANT_TRIM,
FUNC_RESET,
FUNC_SET_TIMER,
FUNC_ADJUST_GVAR,
FUNC_VOLUME,
FUNC_SET_FAILSAFE,
FUNC_RANGECHECK,
FUNC_BIND,
FUNC_PLAY_SOUND,
FUNC_PLAY_TRACK,
FUNC_PLAY_VALUE,
FUNC_PLAY_SCRIPT,
FUNC_BACKGND_MUSIC,
FUNC_BACKGND_MUSIC_PAUSE,
FUNC_VARIO,
FUNC_HAPTIC,
FUNC_LOGS,
FUNC_BACKLIGHT,
FUNC_SCREENSHOT,
FUNC_RACING_MODE,
#if defined(COLORLCD)
FUNC_DISABLE_TOUCH,
FUNC_SET_SCREEN,
#endif
FUNC_DISABLE_AUDIO_AMP,
FUNC_RGB_LED,
FUNC_LCD_TO_VIDEO,
FUNC_TEST, // MUST remain last
#if defined(DEBUG)
FUNC_MAX SKIP
#else
FUNC_MAX SKIP = FUNC_TEST
#endif
};
enum TimerModes {
TMRMODE_OFF,
TMRMODE_ON,
@@ -689,3 +653,37 @@ enum PPMUnit {
PPM_PERCENT_PREC1,
PPM_US
};
#endif
enum Functions {
FUNC_OVERRIDE_CHANNEL,
FUNC_TRAINER,
FUNC_INSTANT_TRIM,
FUNC_RESET,
FUNC_SET_TIMER,
FUNC_ADJUST_GVAR,
FUNC_VOLUME,
FUNC_SET_FAILSAFE,
FUNC_RANGECHECK,
FUNC_BIND,
FUNC_PLAY_SOUND,
FUNC_PLAY_TRACK,
FUNC_PLAY_VALUE,
FUNC_PLAY_SCRIPT,
FUNC_BACKGND_MUSIC,
FUNC_BACKGND_MUSIC_PAUSE,
FUNC_VARIO,
FUNC_HAPTIC,
FUNC_LOGS,
FUNC_BACKLIGHT,
FUNC_SCREENSHOT,
FUNC_RACING_MODE,
FUNC_DISABLE_TOUCH,
FUNC_SET_SCREEN,
FUNC_DISABLE_AUDIO_AMP,
FUNC_RGB_LED,
FUNC_LCD_TO_VIDEO,
FUNC_TEST, // MUST remain last
FUNC_MAX SKIP
};
+2 -1
View File
@@ -479,7 +479,8 @@ inline void customFunctionsReset()
}
const char* funcGetLabel(uint8_t func);
uint8_t getFuncSortIdx(uint8_t func);
extern Functions cfn_sorted[];
#include "telemetry/telemetry.h"
#include "crc.h"
+2 -2
View File
@@ -533,8 +533,8 @@ const char* funcGetLabel(uint8_t func)
return STR_SF_SET_SCREEN;
#endif
#if defined(AUDIO_MUTE_GPIO)
case FUNC_DISABLE_AUDIO_AMP:
return STR_SF_DISABLE_AUDIO_AMP;
case FUNC_DISABLE_AUDIO_AMP:
return STR_SF_DISABLE_AUDIO_AMP;
#endif
case FUNC_RGB_LED:
return STR_SF_RGBLEDS;
@@ -150,6 +150,11 @@ void onCustomFunctionsMenu(const char * result)
}
#endif // PCBTARANIS
static bool isAssignableFunctionAvailableSorted(int value)
{
return isAssignableFunctionAvailable(cfn_sorted[value]);
}
void menuSpecialFunctions(event_t event, CustomFunctionData * functions, CustomFunctionsContext * functionsContext)
{
int8_t sub = menuVerticalPosition - HEADER_LINE;
@@ -215,7 +220,7 @@ void menuSpecialFunctions(event_t event, CustomFunctionData * functions, CustomF
if (CFN_SWITCH(cfn)) {
lcdDrawText(MODEL_SPECIAL_FUNC_2ND_COLUMN, y, funcGetLabel(func), attr);
if (active) {
CFN_FUNC(cfn) = checkIncDec(event, CFN_FUNC(cfn), 0, FUNC_MAX-1, eeFlags, isAssignableFunctionAvailable);
CFN_FUNC(cfn) = cfn_sorted[checkIncDec(event, getFuncSortIdx(CFN_FUNC(cfn)), 0, FUNC_MAX-1, eeFlags, isAssignableFunctionAvailableSorted)];
if (checkIncDec_Ret) CFN_RESET(cfn);
}
}
@@ -155,6 +155,11 @@ enum CustomFunctionsItems {
ITEM_CUSTOM_FUNCTIONS_LAST = ITEM_CUSTOM_FUNCTIONS_COUNT - 1
};
static bool isAssignableFunctionAvailableSorted(int value)
{
return isAssignableFunctionAvailable(cfn_sorted[value]);
}
void menuSpecialFunctions(event_t event, CustomFunctionData * functions, CustomFunctionsContext * functionsContext)
{
int sub = menuVerticalPosition;
@@ -207,7 +212,7 @@ void menuSpecialFunctions(event_t event, CustomFunctionData * functions, CustomF
if (CFN_SWITCH(cfn)) {
lcdDrawText(MODEL_SPECIAL_FUNC_2ND_COLUMN, y, funcGetLabel(func), attr);
if (active) {
func = CFN_FUNC(cfn) = checkIncDec(event, CFN_FUNC(cfn), 0, FUNC_MAX-1, eeFlags, isAssignableFunctionAvailable);
func = CFN_FUNC(cfn) = cfn_sorted[checkIncDec(event, getFuncSortIdx(CFN_FUNC(cfn)), 0, FUNC_MAX-1, eeFlags, isAssignableFunctionAvailableSorted)];
if (checkIncDec_Ret) CFN_RESET(cfn);
}
}
@@ -652,16 +652,16 @@ void FunctionEditPage::buildBody(Window *form)
line = form->newLine(grid);
new StaticText(line, rect_t{}, STR_FUNC);
auto functionChoice =
new Choice(line, rect_t{}, 0, FUNC_MAX - 1, GET_DEFAULT(CFN_FUNC(cfn)));
functionChoice->setTextHandler([=](int val) { return funcGetLabel(val); });
new Choice(line, rect_t{}, 0, FUNC_MAX - 1, GET_DEFAULT(getFuncSortIdx(CFN_FUNC(cfn))));
functionChoice->setTextHandler([=](int val) { return funcGetLabel(cfn_sorted[val]); });
functionChoice->setSetValueHandler([=](int32_t newValue) {
CFN_FUNC(cfn) = newValue;
CFN_FUNC(cfn) = cfn_sorted[newValue];
CFN_RESET(cfn);
SET_DIRTY();
updateSpecialFunctionOneWindow();
});
functionChoice->setAvailableHandler(
[=](int value) { return isAssignableFunctionAvailable(value); });
[=](int value) { return isAssignableFunctionAvailable(cfn_sorted[value]); });
specialFunctionOneWindow = new Window(form, rect_t{});
updateSpecialFunctionOneWindow();
+9
View File
@@ -593,6 +593,15 @@ bool isAssignableFunctionAvailable(int function, bool modelFunctions)
#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;
+151
View File
@@ -0,0 +1,151 @@
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <locale>
#define CFN_ONLY
#define SKIP
#include "../radio/src/dataconstants.h"
#define LCD_W 480
#define TR(a,b) b
#define TR3(a, b, c) c
#if defined(LNG_CN)
#include "../radio/src/translations/cn.h"
#define LOC "zh_CN.UTF-8"
#elif defined(LNG_CZ)
#include "../radio/src/translations/cz.h"
#define LOC "cs_CZ.UTF-8"
#elif defined(LNG_DA)
#include "../radio/src/translations/da.h"
#define LOC "da_DK.UTF-8"
#elif defined(LNG_DE)
#include "../radio/src/translations/de.h"
#define LOC "de_DE.UTF-8"
#elif defined(LNG_EN)
#include "../radio/src/translations/en.h"
#define LOC "en_US.UTF-8"
#elif defined(LNG_ES)
#include "../radio/src/translations/es.h"
#define LOC "es_ES.UTF-8"
#elif defined(LNG_FI)
#include "../radio/src/translations/fi.h"
#define LOC "fi_FI.UTF-8"
#elif defined(LNG_FR)
#include "../radio/src/translations/fr.h"
#define LOC "fr_FR.UTF-8"
#elif defined(LNG_HE)
#include "../radio/src/translations/he.h"
#define LOC "he_IL.UTF-8"
#elif defined(LNG_IT)
#include "../radio/src/translations/it.h"
#define LOC "it_IT.UTF-8"
#elif defined(LNG_JP)
#include "../radio/src/translations/jp.h"
#define LOC "ja_JP.UTF-8"
#elif defined(LNG_NL)
#include "../radio/src/translations/nl.h"
#define LOC "nl_NL.UTF-8"
#elif defined(LNG_PL)
#include "../radio/src/translations/pl.h"
#define LOC "pl_PL.UTF-8"
#elif defined(LNG_PT)
#include "../radio/src/translations/pt.h"
#define LOC "pt_PT.UTF-8"
#elif defined(LNG_RU)
#include "../radio/src/translations/ru.h"
#define LOC "ru_RU.UTF-8"
#elif defined(LNG_SE)
#include "../radio/src/translations/se.h"
#define LOC "sv_SE.UTF-8"
#elif defined(LNG_TW)
#include "../radio/src/translations/tw.h"
#define LOC "zh_TW.UTF-8"
#elif defined(LNG_UA)
#include "../radio/src/translations/ua.h"
#define LOC "uk_UA.UTF-8"
#else
#error "Unknown language"
#endif
struct cfn {
std::string str;
std::string nam;
Functions func;
};
struct LocaleComparator {
std::locale locale;
LocaleComparator(const std::locale& loc) : locale(loc) {}
bool operator()(const struct cfn& lhs, const struct cfn& rhs) const {
return std::use_facet< std::collate<char> >(locale).compare(
lhs.str.data(), lhs.str.data() + lhs.str.size(),
rhs.str.data(), rhs.str.data() + rhs.str.size()) < 0;
}
};
int main()
{
#if defined(LOC)
std::vector<struct cfn> 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 },
};
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");
}
}
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;
}
}
return 0;
#else
static_assert(false,"No valid language defined!");
#endif
}
+113
View File
@@ -0,0 +1,113 @@
#!/bin/sh
set -e
# set -x
# Required locales (check your system and install if needed):
# zh_CN.UTF-8 / zh_CN.utf8
# cs_CZ.UTF-8 / cs_CZ.utf8
# da_DK.UTF-8 / da_DK.utf8
# de_DE.UTF-8 / de_DE.utf8
# es_ES.UTF-8 / es_ES.utf8
# en_US.UTF-8 / en_US.utf8
# fi_FI.UTF-8 / fi_FI.utf8
# fr_FR.UTF-8 / fr_FR.utf8
# he_IL.UTF-8 / he_IL.utf8
# it_IT.UTF-8 / it_IT.utf8
# ja_JP.UTF-8 / ja_JP.utf8
# nl_NL.UTF-8 / nl_NL.utf8
# pl_PL.UTF-8 / pl_PL.utf8
# pt_PT.UTF-8 / pt_PT.utf8
# ru_RU.UTF-8 / ru_RU.utf8
# sv_SE.UTF-8 / sv_SE.utf8
# zh_TW.UTF-8 / zh_TW.utf8
# uk_UA.UTF-8 / uk_UA.utf8
# Determine the compiler to use
if command -v g++ >/dev/null 2>&1; then
CXX=g++
elif command -v gcc >/dev/null 2>&1; then
CXX=gcc
elif command -v clang++ >/dev/null 2>&1; then
CXX=clang++
else
echo "Neither g++, gcc nor clang++ found. Please install a C++ compiler."
exit 1
fi
# Compile specified translation macro, append to cfn_sort.cpp
compile_and_append() {
local lng_macro=$1
local translation_macro=$2
local condition=$3
echo "Compiling ${translation_macro} (${lng_macro}) ..."
$CXX -std=c++11 -lstdc++ -Wfatal-errors -D${lng_macro} tools/cfn_sorter.cpp
{
if [ "$condition" = "else" ]; then
echo "#${condition}"
else
echo "#${condition} defined(${translation_macro})"
fi
./a.out
} >> radio/src/cfn_sort.cpp
}
rm radio/src/cfn_sort.cpp
# Copyright header
cat tools/copyright-header.txt > radio/src/cfn_sort.cpp
# Start of cfn_sort.cpp
echo "Compiling TRANSLATIONS_CN (LNG_CN) ..."
$CXX -std=c++11 -lstdc++ -Wfatal-errors -DLNG_CN tools/cfn_sorter.cpp
{
cat <<EOF >> radio/src/cfn_sort.cpp
// This file is auto-generated via cfn_sorter.sh. Do not edit.
#include "dataconstants.h"
Functions cfn_sorted[] = {
#if defined(TRANSLATIONS_CN)
EOF
./a.out
} >> radio/src/cfn_sort.cpp
# Languages
compile_and_append "LNG_CZ" "TRANSLATIONS_CZ" "elif"
compile_and_append "LNG_DA" "TRANSLATIONS_DA" "elif"
compile_and_append "LNG_DE" "TRANSLATIONS_DE" "elif"
compile_and_append "LNG_ES" "TRANSLATIONS_ES" "elif"
compile_and_append "LNG_FI" "TRANSLATIONS_FI" "elif"
compile_and_append "LNG_FR" "TRANSLATIONS_FR" "elif"
compile_and_append "LNG_HE" "TRANSLATIONS_HE" "elif"
compile_and_append "LNG_IT" "TRANSLATIONS_IT" "elif"
compile_and_append "LNG_JP" "TRANSLATIONS_JP" "elif"
compile_and_append "LNG_NL" "TRANSLATIONS_NL" "elif"
compile_and_append "LNG_PL" "TRANSLATIONS_PL" "elif"
compile_and_append "LNG_PT" "TRANSLATIONS_PT" "elif"
compile_and_append "LNG_RU" "TRANSLATIONS_RU" "elif"
compile_and_append "LNG_SE" "TRANSLATIONS_SE" "elif"
compile_and_append "LNG_TW" "TRANSLATIONS_TW" "elif"
compile_and_append "LNG_UA" "TRANSLATIONS_UA" "elif"
# Final else case
compile_and_append "LNG_EN" "TRANSLATIONS_EN" "else"
# End of cfn_sort.cpp
cat <<EOF >> radio/src/cfn_sort.cpp
#endif
};
uint8_t getFuncSortIdx(uint8_t func)
{
for (uint8_t i = 0; i < FUNC_MAX; i += 1)
if (cfn_sorted[i] == func)
return i;
return 0;
}
EOF
[ -f ./a.out ] && rm ./a.out