const language packs (can't be const in simu (linker can't find it))

This commit is contained in:
Damjan Adamic
2014-09-02 10:18:17 +02:00
parent 13a1c5ca39
commit e506a001bf
4 changed files with 89 additions and 82 deletions
+12 -12
View File
@@ -41,19 +41,19 @@ const pm_uchar sticks[] PROGMEM = {
};
#if defined(CPUARM)
extern LanguagePack czLanguagePack;
extern LanguagePack enLanguagePack;
extern LanguagePack esLanguagePack;
extern LanguagePack frLanguagePack;
extern LanguagePack deLanguagePack;
extern LanguagePack itLanguagePack;
extern LanguagePack plLanguagePack;
extern LanguagePack ptLanguagePack;
extern LanguagePack skLanguagePack;
extern LanguagePack seLanguagePack;
extern LanguagePack huLanguagePack;
extern LP_CONST LanguagePack czLanguagePack;
extern LP_CONST LanguagePack enLanguagePack;
extern LP_CONST LanguagePack esLanguagePack;
extern LP_CONST LanguagePack frLanguagePack;
extern LP_CONST LanguagePack deLanguagePack;
extern LP_CONST LanguagePack itLanguagePack;
extern LP_CONST LanguagePack plLanguagePack;
extern LP_CONST LanguagePack ptLanguagePack;
extern LP_CONST LanguagePack skLanguagePack;
extern LP_CONST LanguagePack seLanguagePack;
extern LP_CONST LanguagePack huLanguagePack;
LanguagePack * languagePacks[] = {
const LanguagePack * LP_CONST languagePacks[] = {
// alphabetical order
&czLanguagePack,
&deLanguagePack,
+1 -1
View File
@@ -40,7 +40,7 @@
#define NO_HI_LEN 25
void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr);
inline void displayColumnHeader(const char **headers, uint8_t index)
inline void displayColumnHeader(const char * const *headers, uint8_t index)
{
lcd_putsAtt(17*FW, 0, headers[index], 0);
}
+30 -30
View File
@@ -224,7 +224,7 @@ const pm_char STR_ALARMWARNING[] PROGMEM = TR_ALARMWARNING;
const pm_char STR_RENAVIG[] PROGMEM = TR_RENAVIG;
#endif
const pm_char STR_THROTTLEREVERSE[] PROGMEM = TR_THROTTLEREVERSE;
const pm_char STR_TIMER_NAME[] PROGMEM = TR_TIMER_NAME;
const pm_char STR_TIMER_NAME[] PROGMEM = TR_TIMER_NAME;
const pm_char STR_MINUTEBEEP[] PROGMEM = TR_MINUTEBEEP;
const pm_char STR_BEEPCOUNTDOWN[] PROGMEM = TR_BEEPCOUNTDOWN;
const pm_char STR_PERSISTENT[] PROGMEM = TR_PERSISTENT;
@@ -243,12 +243,12 @@ const pm_char STR_SWITCHWARNING[] PROGMEM = TR_SWITCHWARNING;
const pm_char STR_TIMEZONE[] PROGMEM = TR_TIMEZONE;
const pm_char STR_GPSCOORD[] PROGMEM = TR_GPSCOORD;
const pm_char STR_VARIO[] PROGMEM = TR_VARIO;
const pm_char STR_PITCH_AT_ZERO[] PROGMEM = TR_PITCH_AT_ZERO;
const pm_char STR_PITCH_AT_MAX[] PROGMEM = TR_PITCH_AT_MAX;
const pm_char STR_REPEAT_AT_ZERO[] PROGMEM = TR_REPEAT_AT_ZERO;
const pm_char STR_PITCH_AT_ZERO[] PROGMEM = TR_PITCH_AT_ZERO;
const pm_char STR_PITCH_AT_MAX[] PROGMEM = TR_PITCH_AT_MAX;
const pm_char STR_REPEAT_AT_ZERO[] PROGMEM = TR_REPEAT_AT_ZERO;
#endif
const pm_char STR_RXCHANNELORD[] PROGMEM = TR_RXCHANNELORD;
const pm_char STR_SWITCHES_DELAY[] PROGMEM = TR_SWITCHES_DELAY;
const pm_char STR_SWITCHES_DELAY[] PROGMEM = TR_SWITCHES_DELAY;
const pm_char STR_SLAVE[] PROGMEM = TR_SLAVE;
const pm_char STR_MODESRC[] PROGMEM = TR_MODESRC;
const pm_char STR_MULTIPLIER[] PROGMEM = TR_MULTIPLIER;
@@ -420,7 +420,7 @@ const pm_char STR_MODELS_EXT[] PROGMEM = MODELS_EXT;
const pm_char STR_WARNING[] PROGMEM = TR_WARNING;
const pm_char STR_EEPROMWARN[] PROGMEM = TR_EEPROMWARN;
const pm_char STR_EEPROM_CONVERTING[] PROGMEM = TR_EEPROM_CONVERTING;
const pm_char STR_EEPROM_CONVERTING[] PROGMEM = TR_EEPROM_CONVERTING;
const pm_char STR_THROTTLEWARN[] PROGMEM = TR_THROTTLEWARN;
const pm_char STR_ALARMSWARN[] PROGMEM = TR_ALARMSWARN;
const pm_char STR_SWITCHWARN[] PROGMEM = TR_SWITCHWARN;
@@ -445,10 +445,10 @@ const pm_char STR_SDHC_CARD[] PROGMEM = TR_SDHC_CARD;
const pm_char STR_NO_SOUNDS_ON_SD[] PROGMEM = TR_NO_SOUNDS_ON_SD;
const pm_char STR_NO_MODELS_ON_SD[] PROGMEM = TR_NO_MODELS_ON_SD;
const pm_char STR_NO_BITMAPS_ON_SD[] PROGMEM = TR_NO_BITMAPS_ON_SD;
const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD;
const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD;
const pm_char STR_PLAY_FILE[] PROGMEM = TR_PLAY_FILE;
const pm_char STR_ASSIGN_BITMAP[] PROGMEM = TR_ASSIGN_BITMAP;
const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE;
const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE;
const pm_char STR_DELETE_FILE[] PROGMEM = TR_DELETE_FILE;
const pm_char STR_COPY_FILE[] PROGMEM = TR_COPY_FILE;
const pm_char STR_RENAME_FILE[] PROGMEM = TR_RENAME_FILE;
@@ -474,13 +474,13 @@ const pm_char STR_OWN[] PROGMEM = TR_OWN;
const pm_char STR_ROTARY_ENCODER[] PROGMEM = TR_ROTARY_ENCODER;
const pm_char STR_DATE[] PROGMEM = TR_DATE;
const pm_char STR_CHANNELS_MONITOR[] PROGMEM = TR_CHANNELS_MONITOR;
const pm_char STR_PATH_TOO_LONG[] PROGMEM = TR_PATH_TOO_LONG;
const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT;
const pm_char STR_FLASH_BOOTLOADER[] PROGMEM = TR_FLASH_BOOTLOADER;
const pm_char STR_WRITING[] PROGMEM = TR_WRITING;
const pm_char STR_PATH_TOO_LONG[] PROGMEM = TR_PATH_TOO_LONG;
const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT;
const pm_char STR_FLASH_BOOTLOADER[] PROGMEM = TR_FLASH_BOOTLOADER;
const pm_char STR_WRITING[] PROGMEM = TR_WRITING;
const pm_char STR_CONFIRM_FORMAT[] PROGMEM = TR_CONFIRM_FORMAT;
const pm_char STR_EEBACKUP[] PROGMEM = TR_EEBACKUP;
const pm_char STR_TOO_MANY_LUA_SCRIPTS[] PROGMEM = TR_TO_MANY_LUA_SCRIPTS;
const pm_char STR_TOO_MANY_LUA_SCRIPTS[] PROGMEM = TR_TO_MANY_LUA_SCRIPTS;
const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR;
#if LCD_W >= 212
@@ -492,9 +492,9 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR;
#endif
#if LCD_W >= 212
const char * STR_PHASES_HEADERS[] = TR_PHASES_HEADERS;
const char * STR_LIMITS_HEADERS[] = TR_LIMITS_HEADERS;
const char * STR_CSW_HEADERS[] = TR_CSW_HEADERS;
const char * const STR_PHASES_HEADERS[] = TR_PHASES_HEADERS;
const char * const STR_LIMITS_HEADERS[] = TR_LIMITS_HEADERS;
const char * const STR_CSW_HEADERS[] = TR_CSW_HEADERS;
#endif
#if defined(CPUARM)
@@ -515,23 +515,23 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR;
const pm_char STR_BYTES[] PROGMEM = TR_BYTES;
const pm_char STR_ANTENNAPROBLEM[] PROGMEM = TR_ANTENNAPROBLEM;
const pm_char STR_MODULE[] PROGMEM = TR_MODULE;
const pm_char STR_ENABLE_POPUP[] PROGMEM = TR_ENABLE_POPUP;
const pm_char STR_DISABLE_POPUP[] PROGMEM = TR_DISABLE_POPUP;
const pm_char STR_CURVE_PRESET[] PROGMEM = TR_CURVE_PRESET;
const pm_char STR_PRESET[] PROGMEM = TR_PRESET;
const pm_char STR_MIRROR[] PROGMEM = TR_MIRROR;
const pm_char STR_CLEAR[] PROGMEM = TR_CLEAR;
const pm_char STR_ENABLE_POPUP[] PROGMEM = TR_ENABLE_POPUP;
const pm_char STR_DISABLE_POPUP[] PROGMEM = TR_DISABLE_POPUP;
const pm_char STR_CURVE_PRESET[] PROGMEM = TR_CURVE_PRESET;
const pm_char STR_PRESET[] PROGMEM = TR_PRESET;
const pm_char STR_MIRROR[] PROGMEM = TR_MIRROR;
const pm_char STR_CLEAR[] PROGMEM = TR_CLEAR;
const pm_char STR_RESET[] PROGMEM = TR_RESET;
const pm_char STR_COUNT[] PROGMEM = TR_COUNT;
const pm_char STR_PT[] PROGMEM = TR_PT;
const pm_char STR_PTS[] PROGMEM = TR_PTS;
const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH;
const pm_char STR_COPY_STICKS_TO_OFS[] PROGMEM = TR_COPY_STICKS_TO_OFS;
const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS;
const pm_char STR_COUNT[] PROGMEM = TR_COUNT;
const pm_char STR_PT[] PROGMEM = TR_PT;
const pm_char STR_PTS[] PROGMEM = TR_PTS;
const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH;
const pm_char STR_COPY_STICKS_TO_OFS[] PROGMEM = TR_COPY_STICKS_TO_OFS;
const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS;
const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR;
const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE;
const pm_char STR_SCALE[] PROGMEM = TR_SCALE;
const pm_char STR_VIEW_CHANNELS[] PROGMEM = TR_VIEW_CHANNELS;
const pm_char STR_SCALE[] PROGMEM = TR_SCALE;
const pm_char STR_VIEW_CHANNELS[] PROGMEM = TR_VIEW_CHANNELS;
const pm_char STR_POTWARNING[] PROGMEM = TR_POTWARNING;
const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE;
const pm_char STR_THROTTLE_LABEL[] PROGMEM = TR_THROTTLE_LABEL;
+46 -39
View File
@@ -372,7 +372,7 @@ extern const pm_char STR_BLADES[];
extern const pm_char STR_SCREEN[];
extern const pm_char STR_SOUND_LABEL[];
extern const pm_char STR_LENGTH[];
extern const pm_char STR_BEEP_LENGTH[];
extern const pm_char STR_BEEP_LENGTH[];
#if defined(CPUARM)
extern const pm_char STR_BEEP_LENGTH[];
#else
@@ -392,7 +392,7 @@ extern const pm_char STR_MEMORYWARNING[];
extern const pm_char STR_ALARMWARNING[];
extern const pm_char STR_RENAVIG[];
extern const pm_char STR_THROTTLEREVERSE[];
extern const pm_char STR_TIMER_NAME[];
extern const pm_char STR_TIMER_NAME[];
extern const pm_char STR_MINUTEBEEP[];
extern const pm_char STR_BEEPCOUNTDOWN[];
extern const pm_char STR_PERSISTENT[];
@@ -408,11 +408,11 @@ extern const pm_char STR_SWITCHWARNING[];
extern const pm_char STR_TIMEZONE[];
extern const pm_char STR_GPSCOORD[];
extern const pm_char STR_VARIO[];
extern const pm_char STR_PITCH_AT_ZERO[];
extern const pm_char STR_PITCH_AT_MAX[];
extern const pm_char STR_REPEAT_AT_ZERO[];
extern const pm_char STR_PITCH_AT_ZERO[];
extern const pm_char STR_PITCH_AT_MAX[];
extern const pm_char STR_REPEAT_AT_ZERO[];
extern const pm_char STR_RXCHANNELORD[];
extern const pm_char STR_SWITCHES_DELAY[];
extern const pm_char STR_SWITCHES_DELAY[];
extern const pm_char STR_SLAVE[];
extern const pm_char STR_MODESRC[];
extern const pm_char STR_MULTIPLIER[];
@@ -472,8 +472,8 @@ extern const pm_char STR_MENUCURVE[];
extern const pm_char STR_MENULOGICALSWITCH[];
extern const pm_char STR_MENULOGICALSWITCHES[];
extern const pm_char STR_MENUCUSTOMFUNC[];
extern const pm_char STR_MENUCUSTOMSCRIPTS[];
extern const pm_char STR_MENUCUSTOMSCRIPT[];
extern const pm_char STR_MENUCUSTOMSCRIPTS[];
extern const pm_char STR_MENUCUSTOMSCRIPT[];
extern const pm_char STR_MENUTELEMETRY[];
extern const pm_char STR_MENUTEMPLATES[];
extern const pm_char STR_MENUSTAT[];
@@ -576,7 +576,7 @@ extern const pm_char STR_RESET_BTN[];
extern const pm_char STR_WARNING[];
extern const pm_char STR_EEPROMWARN[];
extern const pm_char STR_EEPROM_CONVERTING[];
extern const pm_char STR_EEPROM_CONVERTING[];
extern const pm_char STR_THROTTLEWARN[];
extern const pm_char STR_ALARMSWARN[];
extern const pm_char STR_SWITCHWARN[];
@@ -601,10 +601,10 @@ extern const pm_char STR_SDHC_CARD[];
extern const pm_char STR_NO_SOUNDS_ON_SD[];
extern const pm_char STR_NO_MODELS_ON_SD[];
extern const pm_char STR_NO_BITMAPS_ON_SD[];
extern const pm_char STR_NO_SCRIPTS_ON_SD[];
extern const pm_char STR_NO_SCRIPTS_ON_SD[];
extern const pm_char STR_PLAY_FILE[];
extern const pm_char STR_ASSIGN_BITMAP[];
extern const pm_char STR_EXECUTE_FILE[];
extern const pm_char STR_EXECUTE_FILE[];
extern const pm_char STR_DELETE_FILE[];
extern const pm_char STR_COPY_FILE[];
extern const pm_char STR_RENAME_FILE[];
@@ -630,27 +630,34 @@ extern const pm_char STR_OWN[];
extern const pm_char STR_ROTARY_ENCODER[];
extern const pm_char STR_DATE[];
extern const pm_char STR_CHANNELS_MONITOR[];
extern const pm_char STR_PATH_TOO_LONG[];
extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_FLASH_BOOTLOADER[];
extern const pm_char STR_WRITING[];
extern const pm_char STR_PATH_TOO_LONG[];
extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_FLASH_BOOTLOADER[];
extern const pm_char STR_WRITING[];
extern const pm_char STR_CONFIRM_FORMAT[];
extern const pm_char STR_EEBACKUP[];
extern const pm_char STR_TOO_MANY_LUA_SCRIPTS[];
extern const pm_char STR_BLCOLOR[];
extern const pm_char STR_TOO_MANY_LUA_SCRIPTS[];
extern const pm_char STR_BLCOLOR[];
#if defined(VOICE) && defined(CPUARM)
#if defined(SIMU)
#define LP_CONST
#else
#define LP_CONST const
#endif
struct LanguagePack {
const char *id;
const char *name;
void (*playNumber)(getvalue_t number, uint8_t unit, uint8_t flags, uint8_t id);
void (*playDuration)(int seconds, uint8_t flags, uint8_t id);
};
extern LanguagePack * languagePacks[];
extern LanguagePack * currentLanguagePack;
extern const LanguagePack * LP_CONST languagePacks[];
extern const LanguagePack * currentLanguagePack;
extern uint8_t currentLanguagePackIdx;
#define LANGUAGE_PACK_DECLARE(lng, name) LanguagePack lng ## LanguagePack = { #lng, name, lng ## _ ## playNumber, lng ## _ ## playDuration }
#define LANGUAGE_PACK_DECLARE_DEFAULT(lng, name) LANGUAGE_PACK_DECLARE(lng, name); LanguagePack * currentLanguagePack = & lng ## LanguagePack; uint8_t currentLanguagePackIdx
#define LANGUAGE_PACK_DECLARE(lng, name) LP_CONST LanguagePack lng ## LanguagePack = { #lng, name, lng ## _ ## playNumber, lng ## _ ## playDuration }
#define LANGUAGE_PACK_DECLARE_DEFAULT(lng, name) LANGUAGE_PACK_DECLARE(lng, name); const LanguagePack * currentLanguagePack = & lng ## LanguagePack; uint8_t currentLanguagePackIdx
inline PLAY_FUNCTION(playNumber, getvalue_t number, uint8_t unit, uint8_t flags) { currentLanguagePack->playNumber(number, unit, flags, id); }
inline PLAY_FUNCTION(playDuration, int seconds, uint8_t flags) { currentLanguagePack->playDuration(seconds, flags, id); }
#elif defined(VOICE)
@@ -677,9 +684,9 @@ extern const pm_char STR_BLCOLOR[];
#endif
#if LCD_W >= 212
extern const char * STR_PHASES_HEADERS[];
extern const char * STR_LIMITS_HEADERS[];
extern const char * STR_CSW_HEADERS[];
extern const char * const STR_PHASES_HEADERS[];
extern const char * const STR_LIMITS_HEADERS[];
extern const char * const STR_CSW_HEADERS[];
#endif
#if defined(CPUARM)
@@ -699,24 +706,24 @@ extern const pm_char STR_BLCOLOR[];
#if defined(PCBTARANIS)
extern const pm_char STR_BYTES[];
extern const pm_char STR_ANTENNAPROBLEM[];
extern const pm_char STR_MODULE[];
extern const pm_char STR_ENABLE_POPUP[];
extern const pm_char STR_DISABLE_POPUP[];
extern const pm_char STR_CURVE_PRESET[];
extern const pm_char STR_PRESET[];
extern const pm_char STR_MIRROR[];
extern const pm_char STR_CLEAR[];
extern const pm_char STR_MODULE[];
extern const pm_char STR_ENABLE_POPUP[];
extern const pm_char STR_DISABLE_POPUP[];
extern const pm_char STR_CURVE_PRESET[];
extern const pm_char STR_PRESET[];
extern const pm_char STR_MIRROR[];
extern const pm_char STR_CLEAR[];
extern const pm_char STR_RESET[];
extern const pm_char STR_COUNT[];
extern const pm_char STR_PT[];
extern const pm_char STR_PTS[];
extern const pm_char STR_SMOOTH[];
extern const pm_char STR_COPY_STICKS_TO_OFS[];
extern const pm_char STR_COPY_TRIMS_TO_OFS[];
extern const pm_char STR_COUNT[];
extern const pm_char STR_PT[];
extern const pm_char STR_PTS[];
extern const pm_char STR_SMOOTH[];
extern const pm_char STR_COPY_STICKS_TO_OFS[];
extern const pm_char STR_COPY_TRIMS_TO_OFS[];
extern const pm_char STR_TOP_BAR[];
extern const pm_char STR_ALTITUDE[];
extern const pm_char STR_SCALE[];
extern const pm_char STR_VIEW_CHANNELS[];
extern const pm_char STR_SCALE[];
extern const pm_char STR_VIEW_CHANNELS[];
extern const pm_char STR_POTWARNING[];
extern const pm_char STR_UART3MODE[];
extern const pm_char STR_THROTTLE_LABEL[];