diff options
author | Ben V. Brown <[email protected]> | 2017-12-12 12:25:26 +1100 |
---|---|---|
committer | Ben V. Brown <[email protected]> | 2017-12-12 12:25:26 +1100 |
commit | 3c2e8765f277c09c98a71bcd1ca5cb17d3f657a1 (patch) | |
tree | 16385f6a30e48a10d70dea0f8df24e1db72b1663 | |
parent | 5b4ed060134e2f819b45d6adbec9652e8d6a1e7a (diff) | |
download | IronOS-3c2e8765f277c09c98a71bcd1ca5cb17d3f657a1.tar.gz IronOS-3c2e8765f277c09c98a71bcd1ca5cb17d3f657a1.zip |
manually merge in dual line settings
-rw-r--r-- | workspace/TS100/inc/OLED.hpp | 28 | ||||
-rw-r--r-- | workspace/TS100/inc/Translation.h | 13 | ||||
-rw-r--r-- | workspace/TS100/src/OLED.cpp | 11 | ||||
-rw-r--r-- | workspace/TS100/src/Translation.c | 745 | ||||
-rw-r--r-- | workspace/TS100/src/gui.cpp | 272 | ||||
-rw-r--r-- | workspace/ts100/.cproject | 4 | ||||
-rw-r--r-- | workspace/ts100/inc/Font.h | 1 |
7 files changed, 739 insertions, 335 deletions
diff --git a/workspace/TS100/inc/OLED.hpp b/workspace/TS100/inc/OLED.hpp index ab1865b6..71a736e3 100644 --- a/workspace/TS100/inc/OLED.hpp +++ b/workspace/TS100/inc/OLED.hpp @@ -24,34 +24,36 @@ extern "C" { class OLED { public: - OLED(I2C_HandleTypeDef* i2cHandle); // Initialize Driver and store I2C pointer - void initialize(); // Startup the I2C coms (brings screen out of reset etc) - void refresh(); // Draw the buffer out to the LCD using the DMA Channel - void drawChar(char c, char preCursorCommand = '\0'); // Draw a character to a specific location + OLED(I2C_HandleTypeDef* i2cHandle); // Initialize Driver and store I2C pointer + void initialize(); // Startup the I2C coms (brings screen out of reset etc) + void refresh(); // Draw the buffer out to the LCD using the DMA Channel + void drawChar(char c, char preCursorCommand = '\0');// Draw a character to a specific location void displayOnOff(bool on); // Turn the screen on or not void setRotation(bool leftHanded); // Set the rotation for the screen - bool getRotation(); // Get the current rotation of the LCD - void print(const char* string); // Draw a string to the current location, with current font - void setCursor(int16_t x, int16_t y); // Set the cursor location - void setFont(uint8_t fontNumber); // (Future) Set the font that is being used + bool getRotation(); // Get the current rotation of the LCD + void print(const char* string); // Draw a string to the current location, with current font + void setCursor(int16_t x, int16_t y); // Set the cursor location by pixels + void setCharCursor(int16_t x, int16_t y); //Set cursor location by chars in current font + void setFont(uint8_t fontNumber);// (Future) Set the font that is being used void drawImage(const uint8_t* buffer, uint8_t x, uint8_t width); // Draws an image to the buffer, at x offset from top to bottom (fixed height renders) void printNumber(uint16_t number, uint8_t places); // Draws a number at the current cursor location void clearScreen(); // Clears the buffer void drawBattery(uint8_t state); // Draws the battery level symbol - void drawSymbol(uint8_t symbolID); //Used for drawing symbols of a predictable width - void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, const uint8_t* ptr); + void drawSymbol(uint8_t symbolID);//Used for drawing symbols of a predictable width + void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, + const uint8_t* ptr); private: //Draw a buffer to the screen buffer I2C_HandleTypeDef* i2c; //i2c Pointer - const uint8_t* currentFont; // Pointer to the current font used for rendering to the buffer + const uint8_t* currentFont; // Pointer to the current font used for rendering to the buffer uint8_t screenBuffer[12 + 96 + 96 + 10]; // The data buffer - uint8_t* firstStripPtr; // Pointers to the strips to allow for buffer having extra content + uint8_t* firstStripPtr; // Pointers to the strips to allow for buffer having extra content uint8_t* secondStripPtr; //Pointers to the strips - bool inLeftHandedMode; // Whether the screen is in left or not (used for offsets in GRAM) + bool inLeftHandedMode; // Whether the screen is in left or not (used for offsets in GRAM) bool displayOnOffState; // If the display is on or not uint8_t fontWidth, fontHeight; int16_t cursor_x, cursor_y; diff --git a/workspace/TS100/inc/Translation.h b/workspace/TS100/inc/Translation.h index 950acff6..83ee9693 100644 --- a/workspace/TS100/inc/Translation.h +++ b/workspace/TS100/inc/Translation.h @@ -8,8 +8,18 @@ #ifndef TRANSLATION_H_ #define TRANSLATION_H_ +enum ShortNameType { + SHORT_NAME_SINGLE_LINE = 1, + SHORT_NAME_DOUBLE_LINE = 2, +}; + +/* + * When SettingsShortNameType is SHORT_NAME_SINGLE_LINE + * use SettingsShortNames as SettingsShortNames[16][1].. second column undefined + */ +extern const enum ShortNameType SettingsShortNameType; +extern const char* SettingsShortNames[16][2]; extern const char* SettingsLongNames[16]; -extern const char* SettingsShortNames[16]; extern const char* SettingsCalibrationWarning; extern const char* UVLOWarningString; extern const char* SleepingSimpleString; @@ -23,6 +33,7 @@ extern const char SettingRightChar; extern const char SettingLeftChar; extern const char SettingAutoChar; + #define LANG_EN //#define LANG_RU //#define LANG_ES diff --git a/workspace/TS100/src/OLED.cpp b/workspace/TS100/src/OLED.cpp index 90614026..c09eac56 100644 --- a/workspace/TS100/src/OLED.cpp +++ b/workspace/TS100/src/OLED.cpp @@ -104,10 +104,6 @@ void OLED::drawChar(char c, char PrecursorCommand) { if (c < ' ') { return; } - - //We are left with - uint8_t* charPointer; - uint16_t index = 0; if (PrecursorCommand == 0) { //Fonts are offset to start at the space char @@ -137,7 +133,7 @@ void OLED::drawChar(char c, char PrecursorCommand) { return; } } - + uint8_t* charPointer; charPointer = ((uint8_t*) currentFont) + ((fontWidth * (fontHeight / 8)) * index); @@ -197,7 +193,10 @@ void OLED::setCursor(int16_t x, int16_t y) { cursor_x = x; cursor_y = y; } - +void OLED::setCharCursor(int16_t x, int16_t y) { + cursor_x = x * fontWidth; + cursor_y = y * fontHeight; +} void OLED::setFont(uint8_t fontNumber) { if (fontNumber == 1) { //small font diff --git a/workspace/TS100/src/Translation.c b/workspace/TS100/src/Translation.c index 8bb2c97a..9fa7516c 100644 --- a/workspace/TS100/src/Translation.c +++ b/workspace/TS100/src/Translation.c @@ -6,28 +6,69 @@ */ #include "Translation.h" +// TEMPLATES for short names - choose one and use it as base for your translation: + +//const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +//const char* SettingsShortNames[16][2] = { +// /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, +// /* (<= 4) Sleep temperature */ {"STMP"}, +// /* (<= 4) Sleep timeout */ {"STME"}, +// /* (<= 5) Shutdown timeout */ {"SHTME"}, +// /* (<= 6) Motion sensitivity level */ {"MSENSE"}, +// /* (<= 6) Temperature in F and C */ {"TMPUNT"}, +// /* (<= 6) Advanced idle display mode enabled */ {"ADVIDL"}, +// /* (<= 6) Display rotation mode */ {"DSPROT"}, +// /* (<= 6) Boost enabled */ {"BOOST"}, +// /* (<= 4) Boost temperature */ {"BTMP"}, +// /* (<= 6) Automatic start mode */ {"ASTART"}, +// /* (<= 6) Cooldown blink */ {"CLBLNK"}, +// /* (<= 8) Temperature calibration enter menu */ {"TMP CAL?"}, +// /* (<= 8) Settings reset command */ {"RESET?"}, +// /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, +// /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, +//}; + +//const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; +//const char* SettingsShortNames[16][2] = { +// /* (<= 11) Power source (DC or batt) */ {"Power", "source"}, +// /* (<= 9) Sleep temperature */ {"Sleep", "temp"}, +// /* (<= 9) Sleep timeout */ {"Sleep", "timeout"}, +// /* (<= 11) Shutdown timeout */ {"Shutdown", "timeout"}, +// /* (<= 13) Motion sensitivity level */ {"Motion", "sensitivity"}, +// /* (<= 13) Temperature in F and C */ {"Temperature", "units"}, +// /* (<= 13) Advanced idle display mode enabled */ {"Detailed", "idle screen"}, +// /* (<= 13) Display rotation mode */ {"Display", "orientation"}, +// /* (<= 13) Boost enabled */ {"Boost mode", "enabled"}, +// /* (<= 9) Boost temperature */ {"Boost", "temp"}, +// /* (<= 13) Automatic start mode */ {"Auto", "start"}, +// /* (<= 13) Cooldown blink */ {"Cooldown", "blink"}, +// /* (<= 16) Temperature calibration enter menu */ {"Calibrate", "temperature?"}, +// /* (<= 16) Settings reset command */ {"Factory", "Reset?"}, +// /* (<= 16) Calibrate input voltage */ {"Calibrate", "input voltage?"}, +// /* (<= 13) Advanced soldering screen enabled */ {"Detailed", "solder screen"}, +//}; + #ifdef LANG_EN const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>", //Power Source - "Sleep Temperature <C>", //Sleep Temp - "Sleep Timeout <Minutes/Seconds>", //Sleep Timeout - "Shutdown Timeout <Minutes>", //Shutdown Time - "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", //Motion Sensitivity - "Temperature Unit <C=Celsius F=Fahrenheit>", //Temp Unit - "Display detailed information in a smaller font on the idle screen.", //Detailed Information - "Display Orientation <A. Automatic L. Left Handed R. Right Handed>", //Orientation - "Enable front key enters boost mode 450C mode when soldering", //Boost enable - "Temperature when in \"boost\" mode", //Boost Temp - "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off", //Auto start - "Blink the temperature on the cooling screen while the tip is still hot.", //Cooling Blink - "Calibrate tip offset.", //Calibrate Tip - "Reset all settings", //Reset Settings - "VIN Calibration. Buttons adjust, long press to exit", //VIN Cal - "Display detailed information while soldering", //ADV SLD - }; + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>", + /* Sleep temperature */"Sleep Temperature <C>", + /* Sleep timeout */"Sleep Timeout <Minutes/Seconds>", + /* Shutdown timeout */"Shutdown Timeout <Minutes>", + /* Motion sensitivity level */"Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", + /* Temperature in F and C */"Temperature Unit <C=Celsius F=Fahrenheit>", + /* Advanced idle display mode enabled */"Display detailed information in a smaller font on the idle screen.", + /* Display rotation mode */"Display Orientation <A. Automatic L. Left Handed R. Right Handed>", + /* Boost enabled */"Enable front key enters boost mode 450C mode when soldering", + /* Boost temperature */"Temperature when in \"boost\" mode", + /* Automatic start mode */"Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off", + /* Cooldown blink */"Blink the temperature on the cooling screen while the tip is still hot.", + /* Temperature calibration enter menu */"Calibrate tip offset.", + /* Settings reset command */"Reset all settings", + /* Calibrate input voltage */"VIN Calibration. Buttons adjust, long press to exit", + /* Advanced soldering screen enabled */"Display detailed information while soldering", }; const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; @@ -42,27 +83,49 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; +const char* SettingsShortNames[16][2] = { +/* (<= 11) Power source (DC or batt) */{ "Power", "source" }, +/* (<= 9) Sleep temperature */{ "Sleep", "temp" }, +/* (<= 9) Sleep timeout */{ "Sleep", "timeout" }, +/* (<= 11) Shutdown timeout */{ "Shutdown", "timeout" }, +/* (<= 13) Motion sensitivity level */{ "Motion", "sensitivity" }, +/* (<= 13) Temperature in F and C */{ "Temperature", "units" }, +/* (<= 13) Advanced idle display mode enabled */{ "Detailed", "idle screen" }, +/* (<= 13) Display rotation mode */{ "Display", "orientation" }, +/* (<= 13) Boost enabled */{ "Boost mode", "enabled" }, +/* (<= 9) Boost temperature */{ "Boost", "temp" }, +/* (<= 13) Automatic start mode */{ "Auto", "start" }, +/* (<= 13) Cooldown blink */{ "Cooldown", "blink" }, +/* (<= 16) Temperature calibration enter menu */{ "Calibrate", "temperature?" }, +/* (<= 16) Settings reset command */{ "Factory", "Reset?" }, + /* (<= 16) Calibrate input voltage */{ "Calibrate", + "input voltage?" }, + /* (<= 13) Advanced soldering screen enabled */{ "Detailed", + "solder screen" }, }; #endif + #ifdef LANG_RU const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", //Cell count - "Температура Сна <С>",//Sleep Temp - "Переход в режим Сна <Минуты>",//Sleep timeout - "Переходит в режим ожидания <Минуты>",//Shutdown timeout - "Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>",//Sensitivity - "В чем измерять температуру",//Temp Unit - "Display detailed information in a smaller font on the idle screen.",//Detailed Information - "Ориентация Дисплея <A. Автоматический L. Левая Рука R. Правая Рука>",//Orientation - "Активация кнопки A для Турбо режима до 450С при пайке ",//Boost enable - "Установка температуры для Турбо режима",//Boost temp - "Автоматический запуск паяльника при включении питания. T=Нагрев, S= Режим Сна,F=Выкл.",//Auto start - "Мигает температура на экране охлаждения, пока жало остается горячим."//Cooling blink - "Calibrate tip offset.",//Calibrate Tip - "Reset all settings",//Reset Settings - "VIN Calibration. Buttons adjust, long press to exit",//VIN Cal - "Display detailed information while soldering",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", + /* Sleep temperature */"Температура Сна <С>", + /* Sleep timeout */"Переход в режим Сна <Минуты>", + /* Shutdown timeout */"Переходит в режим ожидания <Минуты>", + /* Motion sensitivity level */"Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>", + /* Temperature in F and C */"В чем измерять температуру", + /* Advanced idle display mode enabled */"Display detailed information in a smaller font on the idle screen.", + /* Display rotation mode */"Ориентация Дисплея <A. Автоматический L. Левая Рука R. Правая Рука>", + /* Boost enabled */"Активация кнопки A для Турбо режима до 450С при пайке ", + /* Boost temperature */"Установка температуры для Турбо режима", + /* Automatic start mode */"Автоматический запуск паяльника при включении питания. T=Нагрев, S= Режим Сна,F=Выкл.", + /* Cooldown blink */"Мигает температура на экране охлаждения, пока жало остается горячим." + /* Temperature calibration enter menu */"Calibrate tip offset.", + /* Settings reset command */"Reset all settings", + /* Calibrate input voltage */"VIN Calibration. Buttons adjust, long press to exit", + /* Advanced soldering screen enabled */"Display detailed information while soldering", }; const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; @@ -77,62 +140,104 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_ES const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Fuente de energía. Ajusta el límite inferior de voltaje. <DC=10V S=3.3V por celda>", - "Temperatura en reposo. <C>", - "Tiempo hasta activar reposo. <Minutos>", - "Tiempo hasta apagado. <Minutos>", - "Sensibilidad del movimiento. <0=Apagado 1=El menos sensible 9=El más sensible>", - "Unidad de temperatura.", - "Mostrar información detallada en el reposo.", //Detailed Information - "Orientación de la pantalla <A=Automático I=Mano izquierda D=Mano derecha>", - "Activar el botón \"Boost\" en modo soldadura.", - "Temperatura en modo \"Boost\". <C>", - "Iniciar modo soldadura en el encendido. <V=Sí S=Modo reposo F=No>", - "Parpadea la temperatura en el enfriamiento si la punta sigue caliente." - "Calibrar punta.",//Calibrate Tip - "Resetear ajustes.",//Reset Settings - "Calibración VIN. Los botones lo ajustan. Pulsación larga para salir.",//VIN Cal - "Mostrar información detallada mientras suelda.",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Fuente de energía. Ajusta el límite inferior de voltaje. <DC=10V S=3.3V por celda>", + /* Sleep temperature */"Temperatura en reposo. <C>", + /* Sleep timeout */"Tiempo hasta activar reposo. <Minutos>", + /* Shutdown timeout */"Tiempo hasta apagado. <Minutos>", + /* Motion sensitivity level */"Sensibilidad del movimiento. <0=Apagado 1=El menos sensible 9=El más sensible>", + /* Temperature in F and C */"Unidad de temperatura.", + /* Advanced idle display mode enabled */"Display detailed information in a smaller font on the idle screen.", + /* Display rotation mode */"Orientación de la pantalla <A=Automático I=Mano izquierda D=Mano derecha>", + /* Boost enabled */"Activar el botón \"Boost\" en modo soldadura.", + /* Boost temperature */"Temperatura en modo \"Boost\". <C>", + /* Automatic start mode */"Iniciar modo soldadura en el encendido. <V=Sí S=Modo reposo F=No>", + /* Cooldown blink */"Parpadea la temperatura en el enfriamiento si la punta sigue caliente." + /* Temperature calibration enter menu */"Calibrate tip offset.", + /* Settings reset command */"Reset all settings", + /* Calibrate input voltage */"VIN Calibration. Buttons adjust, long press to exit", + /* Advanced soldering screen enabled */"Display detailed information while soldering", }; -const char* SettingsCalibrationWarning = "¡Por favor, asegúrese que la punta está a temperatura ambiente antes de continuar!"; +const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars const char* SleepingAdvancedString = "Sleeping...";// <=17 chars const char* WarningSimpleString = "HOT!";//Must be <= 4 chars const char* WarningAdvancedString = "WARNING! TIP HOT!"; -const char SettingTrueChar = 'V';// True in Spanish is "Verdadero" +const char SettingTrueChar = 'T'; const char SettingFalseChar = 'F'; -const char SettingRightChar = 'D';// Right is "Derecha" -const char SettingLeftChar = 'I';// Left is "Izquierda" +const char SettingRightChar = 'R'; +const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_SE const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", //Cell count - "Температура Сна <С>",//Sleep Temp - "Переход в режим Сна <Минуты>",//Sleep timeout - "Переходит в режим ожидания <Минуты>",//Shutdown timeout - "Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>",//Sensitivity - "В чем измерять температуру",//Temp Unit - "Display detailed information in a smaller font on the idle screen.",//Detailed Information - "Ориентация Дисплея <A. Автоматический L. Левая Рука R. Правая Рука>",//Orientation - "Активация кнопки A для Турбо режима до 450С при пайке ",//Boost enable - "Установка температуры для Турбо режима",//Boost temp - "Автоматический запуск паяльника при включении питания. T=Нагрев, S= Режим Сна,F=Выкл.",//Auto start - "Мигает температура на экране охлаждения, пока жало остается горячим."//Cooling blink - "Calibrate tip offset.",//Calibrate Tip - "Reset all settings",//Reset Settings - "VIN Calibration. Buttons adjust, long press to exit",//VIN Cal - "Display detailed information while soldering",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>", + /* Sleep temperature */"Температура Сна <С>", + /* Sleep timeout */"Переход в режим Сна <Минуты>", + /* Shutdown timeout */"Переходит в режим ожидания <Минуты>", + /* Motion sensitivity level */"Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>", + /* Temperature in F and C */"В чем измерять температуру", + /* Advanced idle display mode enabled */"Display detailed information in a smaller font on the idle screen.", + /* Display rotation mode */"Ориентация Дисплея <A. Автоматический L. Левая Рука R. Правая Рука>", + /* Boost enabled */"Активация кнопки A для Турбо режима до 450С при пайке ", + /* Boost temperature */"Установка температуры для Турбо режима", + /* Automatic start mode */"Автоматический запуск паяльника при включении питания. T=Нагрев, S= Режим Сна,F=Выкл.", + /* Cooldown blink */"Мигает температура на экране охлаждения, пока жало остается горячим." + /* Temperature calibration enter menu */"Calibrate tip offset.", + /* Settings reset command */"Reset all settings", + /* Calibrate input voltage */"VIN Calibration. Buttons adjust, long press to exit", + /* Advanced soldering screen enabled */"Display detailed information while soldering", }; const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; @@ -147,27 +252,48 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_IT const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Sorgente di alimentazione; imposta il limite minimo di tensione <DC: 10V; S: 3.3V per cella>", - "Temperatura standby <°C>", - "Timeout standby <minuti/secondi>", - "Timeout spegnimento <minuti>", - "Sensibilità al movimento <0: nessuna; 1: minima; 9: massima>", - "Unità di misura della temperatura <C: Celsius; F: Farenheit>", - "Mostra informazioni dettagliate con un carattere più piccolo sulla schermata di inattività", - "Orientamento del display <A: automatico; S: mano sinistra; D: mano destra>", - "Il tasto anteriore attiva la modalità \"boost\" durante la saldatura", - "Temperatura in modalità \"boost\"", - "Attiva automaticamente il saldatore quando viene alimentato <A: saldatura; S: standby; D: disattiva>", - "Durante il raffreddamento mostra la temperatura sul display se la punta è ancora calda" - "Calibra l'offset della punta", //Calibrate Tip - "Ripristina tutte le impostazioni",//Reset Settings - "Calibra la tensione in entrata; regola con i bottoni, tieni permuto per uscire",//VIN Cal - "Mostra informazioni dettagliate mentre stai saldando",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Sorgente di alimentazione; imposta il limite minimo di tensione <DC: 10V; S: 3.3V per cella>", + /* Sleep temperature */"Temperatura standby <°C>", + /* Sleep timeout */"Timeout standby <minuti/secondi>", + /* Shutdown timeout */"Timeout spegnimento <minuti>", + /* Motion sensitivity level */"Sensibilità al movimento <0: nessuna; 1: minima; 9: massima>", + /* Temperature in F and C */"Unità di misura della temperatura <C: Celsius; F: Farenheit>", + /* Advanced idle display mode enabled */"Mostra informazioni dettagliate con un carattere più piccolo sulla schermata di inattività", + /* Display rotation mode */"Orientamento del display <A: automatico; S: mano sinistra; D: mano destra>", + /* Boost enabled */"Il tasto anteriore attiva la modalità \"boost\" durante la saldatura", + /* Boost temperature */"Temperatura in modalità \"boost\"", + /* Automatic start mode */"Attiva automaticamente il saldatore quando viene alimentato <A: saldatura; S: standby; D: disattiva>", + /* Cooldown blink */"Durante il raffreddamento mostra la temperatura sul display se la punta è ancora calda" + /* Temperature calibration enter menu */"Calibra l'offset della punta", + /* Settings reset command */"Ripristina tutte le impostazioni", + /* Calibrate input voltage */"Calibra la tensione in entrata; regola con i bottoni, tieni permuto per uscire", + /* Advanced soldering screen enabled */"Mostra informazioni dettagliate mentre stai saldando", }; const char* SettingsCalibrationWarning = "Assicurati che la punta si trovi a temperatura ambiente prima di continuare!"; @@ -182,27 +308,48 @@ const char SettingFalseChar = 'D'; const char SettingRightChar = 'D'; const char SettingLeftChar = 'S'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_FR const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Type d\'alimentation. Regle la tension de coupure. <DC=10V S=3.3V par cellules>", - "Temperature en veille. <C>", - "Temps avant mise en veille. <Minutes>", - "Temps avant extinction. <Minutes>", - "Sensibilitee du capteur de mouvement. <0=Inactif 1=Peu sensible 9=Tres sensible>", - "Unitee de temperature.", - "Afficher des informations detaillees en petit lors de la veille", //Detailed Information - "Orientation de l\'affichage. <A=Automatique G=Gaucher D=Droitier>", - "Active le mode \"Boost\" 450C sur le bouton de devant pendant la soudure.", - "Temperature du mode \"Boost\". <C>", - "Demarre automatiquement la soudure a l\'allumage. <A=Active, V=Mode Veille, D=Desactive>", - "Fait clignotter la temperature lors du refroidissement pendant que la panne est chaude." - "Compenser l\'erreur de la panne",//Calibrate Tip - "Reinitialiser tout les reglages",//Reset Settings - "Calibration VIN. Boutons pour ajuster, appui long pour quitter",//VIN Cal - "Afficher des informations detaillees pendant la soudure",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Type d\'alimentation. Regle la tension de coupure. <DC=10V S=3.3V par cellules>", + /* Sleep temperature */"Temperature en veille. <C>", + /* Sleep timeout */"Temps avant mise en veille. <Minutes>", + /* Shutdown timeout */"Temps avant extinction. <Minutes>", + /* Motion sensitivity level */"Sensibilitee du capteur de mouvement. <0=Inactif 1=Peu sensible 9=Tres sensible>", + /* Temperature in F and C */"Unitee de temperature.", + /* Advanced idle display mode enabled */"Afficher des informations detaillees en petit lors de la veille", + /* Display rotation mode */"Orientation de l\'affichage. <A=Automatique G=Gaucher D=Droitier>", + /* Boost enabled */"Active le mode \"Boost\" 450C sur le bouton de devant pendant la soudure.", + /* Boost temperature */"Temperature du mode \"Boost\". <C>", + /* Automatic start mode */"Demarre automatiquement la soudure a l\'allumage. <A=Active, V=Mode Veille, D=Desactive>", + /* Cooldown blink */"Fait clignotter la temperature lors du refroidissement pendant que la panne est chaude." + /* Temperature calibration enter menu */"Compenser l\'erreur de la panne", + /* Settings reset command */"Reinitialiser tout les reglages", + /* Calibrate input voltage */"Calibration VIN. Boutons pour ajuster, appui long pour quitter", + /* Advanced soldering screen enabled */"Afficher des informations detaillees pendant la soudure", }; const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; @@ -217,27 +364,48 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_DE const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>", - "Ruhetemperatur (In der eingestellten Einheit)", - "Ruhemodus nach <Sekunden/Minuten>", - "Abschaltzeit <Minuten>", - "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>", - "Temperatureinheit <C=Celsius, F=Fahrenheit>", - "Detaillierte Anzeige im Ruhemodus <T=An, F=Aus>", //Detailed Information - "Ausrichtung der Anzeige <A=Auto, L=Linkshändig, R=Rechtshändig>", - "Vordere Taste für Temperaturboost verwenden <T=An, F=Aus>", - "Temperatur im Boostmodus (In der eingestellten Einheit)", - "Automatischer Start des Lötmodus beim Einschalten der Spannungsversorgung. <T=An, F=Aus>", - "Blinkende Temperaturanzeige beim Abkühlen, solange heiß. <T=An, F=Aus>" - "Kalibrierung der Lötspitzentemperatur",//Calibrate Tip - "Alle Einstellungen zurücksetzen",//Reset Settings - "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen.",//VIN Cal - "Detaillierte Anzeige im Lötmodus <T=An, F=Aus>",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>", + /* Sleep temperature */"Ruhetemperatur (In der eingestellten Einheit)", + /* Sleep timeout */"Ruhemodus nach <Sekunden/Minuten>", + /* Shutdown timeout */"Abschaltzeit <Minuten>", + /* Motion sensitivity level */"Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>", + /* Temperature in F and C */"Temperatureinheit <C=Celsius, F=Fahrenheit>", + /* Advanced idle display mode enabled */"Detaillierte Anzeige im Ruhemodus <T=An, F=Aus>", + /* Display rotation mode */"Ausrichtung der Anzeige <A=Auto, L=Linkshändig, R=Rechtshändig>", + /* Boost enabled */"Vordere Taste für Temperaturboost verwenden <T=An, F=Aus>", + /* Boost temperature */"Temperatur im Boostmodus (In der eingestellten Einheit)", + /* Automatic start mode */"Automatischer Start des Lötmodus beim Einschalten der Spannungsversorgung. <T=An, F=Aus>", + /* Cooldown blink */"Blinkende Temperaturanzeige beim Abkühlen, solange heiß. <T=An, F=Aus>" + /* Temperature calibration enter menu */"Kalibrierung der Lötspitzentemperatur", + /* Settings reset command */"Alle Einstellungen zurücksetzen", + /* Calibrate input voltage */"Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen.", + /* Advanced soldering screen enabled */"Detaillierte Anzeige im Lötmodus <T=An, F=Aus>", }; const char* SettingsCalibrationWarning = "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!"; @@ -252,27 +420,48 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_SK const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Zdroj napatia. Nastavit napatie pre vypnutie (cutoff) <DC=10V, nS=n*3.3V pre LiIon clanky>", - "Kludova teplota (v nastavenych jednotkach)", - "Kludovy rezim po <sekundach/minutach>", - "Cas na vypnutie <minuty>", - "Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>", - "Jednotky merania teploty <C=stupne Celzia, F=stupne Fahrenheita>", - "Zobrazit detailne informacie v kludovom rezime <T=Zap, F=Vyp>", //Detailed Information - "Orientacia displeja <A=Auto, L=Lavak, R=Pravak>", - "Povolit tlacidlo pre prudky nahrev <T=Zap, F=Vyp>", - "Cielova teplota pre prudky nahrev (v nastavenych jednotkach)", - "Pri starte spustit rezim spajkovania <T=Zap, F=Vyp, S=Spanok>", - "Blikanie ukazovatela teploty pocas chladnutia hrotu <T=Zap, F=Vyp>" - "Kalibracia posunu hrotu",//Calibrate Tip - "Tovarenske nastavenia",//Reset Settings - "Kalibracia VIN. Kratke stlacenie meni nastavenie, dlhe stlacenie pre navrat",//VIN Cal - "Zobrazenie detailov pocas spajkovania <T=Zap, F=Vyp>",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Zdroj napatia. Nastavit napatie pre vypnutie (cutoff) <DC=10V, nS=n*3.3V pre LiIon clanky>", + /* Sleep temperature */"Kludova teplota (v nastavenych jednotkach)", + /* Sleep timeout */"Kludovy rezim po <sekundach/minutach>", + /* Shutdown timeout */"Cas na vypnutie <minuty>", + /* Motion sensitivity level */"Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>", + /* Temperature in F and C */"Jednotky merania teploty <C=stupne Celzia, F=stupne Fahrenheita>", + /* Advanced idle display mode enabled */"Zobrazit detailne informacie v kludovom rezime <T=Zap, F=Vyp>", + /* Display rotation mode */"Orientacia displeja <A=Auto, L=Lavak, R=Pravak>", + /* Boost enabled */"Povolit tlacidlo pre prudky nahrev <T=Zap, F=Vyp>", + /* Boost temperature */"Cielova teplota pre prudky nahrev (v nastavenych jednotkach)", + /* Automatic start mode */"Pri starte spustit rezim spajkovania <T=Zap, F=Vyp, S=Spanok>", + /* Cooldown blink */"Blikanie ukazovatela teploty pocas chladnutia hrotu <T=Zap, F=Vyp>" + /* Temperature calibration enter menu */"Kalibracia posunu hrotu", + /* Settings reset command */"Tovarenske nastavenia", + /* Calibrate input voltage */"Kalibracia VIN. Kratke stlacenie meni nastavenie, dlhe stlacenie pre navrat", + /* Advanced soldering screen enabled */"Zobrazenie detailov pocas spajkovania <T=Zap, F=Vyp>", }; const char* SettingsCalibrationWarning = "Najprv sa prosim uistite, ze hrot ma izbovu teplotu!"; @@ -287,27 +476,48 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_TR const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Güç Kaynağı. kesim geriliminı ayarlar. <DC 10V> <S 3.3V hücre başına>", //Power Source - "Uyku Sıcaklığı <C>",//Sleep Temp - "Uyku Zaman Aşımı <Dakika/Saniye>",//Sleep Timeout - "Kapatma Zaman Aşımı <Dakika>",//Shutdown Time - "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>",//Motion Sensitivity - "Sıcaklık Ünitesi <C=Celsius F=Fahrenheit>",//Temp Unit - "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.",//Detailed Information - "Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>",//Orientation - "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)",//Boost enable - "\"boost\" Modu Derecesi",//Boost Temp - "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı",//Auto start - "Soğutma ekranında uç hala sıcakken derece yanıp sönsün.",//Cooling Blink - "Ucu kalibre et.",//Calibrate Tip - "Bütün ayarları sıfırla",//Reset Settings - "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.",//VIN Cal - "Lehimleme yaparken detaylı bilgi göster",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Güç Kaynağı. kesim geriliminı ayarlar. <DC 10V> <S 3.3V hücre başına>", + /* Sleep temperature */"Uyku Sıcaklığı <C>", + /* Sleep timeout */"Uyku Zaman Aşımı <Dakika/Saniye>", + /* Shutdown timeout */"Kapatma Zaman Aşımı <Dakika>", + /* Motion sensitivity level */"Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>", + /* Temperature in F and C */"Sıcaklık Ünitesi <C=Celsius F=Fahrenheit>", + /* Advanced idle display mode enabled */"Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.", + /* Display rotation mode */"Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>", + /* Boost enabled */"Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)", + /* Boost temperature */"\"boost\" Modu Derecesi", + /* Automatic start mode */"Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı", + /* Cooldown blink */"Soğutma ekranında uç hala sıcakken derece yanıp sönsün.", + /* Temperature calibration enter menu */"Ucu kalibre et.", + /* Settings reset command */"Bütün ayarları sıfırla", + /* Calibrate input voltage */"VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.", + /* Advanced soldering screen enabled */"Lehimleme yaparken detaylı bilgi göster", }; const char* SettingsCalibrationWarning = "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!"; @@ -322,27 +532,48 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_HR const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Izvor napajanja. Postavlja napon iskljucivanja. <DC 10V> <S 3.3V po celiji>", //Power Source - "Temperatura spavanja. <C>",//Sleep Temp - "Vrijeme spavanja. <Minute/Sekunde>",//Sleep Timeout - "Vrijeme gasenja. <Minutes>",//Shutdown Time - "Osjetljivost prepoznavanja pokreta. <0=Ugaseno, 1=Najmanje osjetljivo, 9=Najosjetljivije>",//Motion Sensitivity - "Jedinica temperature. <C=Celzij, F=Fahrenheit>",//Temp Unit - "Prikazivanje detaljnih informacija manjim fontom tijekom cekanja.",//Detailed Information - "Orijentacija ekrana. <A=Automatski, L=Ljevoruki, D=Desnoruki>",//Orientation - "Prednji gumb prilikom lemljenja aktivira pojacani (Boost) nacin.",//Boost enable - "Temperatura u pojacanom (Boost) nacinu.",//Boost Temp - "Nacin u kojemu se lemilica pokrece po ukljucivanju napajanja. <+=Lemljenje, S=Spavanje, -=Ugaseno>",//Auto start - "Bljeskanje temperature prilikom hladjenja, ako je lemilica vruca.",//Cooling Blink - "Kalibriranje temperature vrha.",//Calibrate Tip - "Vracanje svih postavki.",//Reset Settings - "Kalibracija ulaznog napona. Podesavanje gumbima, dugacki pritisak za kraj.",//VIN Cal - "Prikazivanje detaljnih informacija tijekom lemljenja.",//ADV SLD + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */"Izvor napajanja. Postavlja napon iskljucivanja. <DC 10V> <S 3.3V po celiji>", + /* Sleep temperature */"Temperatura spavanja. <C>", + /* Sleep timeout */"Vrijeme spavanja. <Minute/Sekunde>", + /* Shutdown timeout */"Vrijeme gasenja. <Minutes>", + /* Motion sensitivity level */"Osjetljivost prepoznavanja pokreta. <0=Ugaseno, 1=Najmanje osjetljivo, 9=Najosjetljivije>", + /* Temperature in F and C */"Jedinica temperature. <C=Celzij, F=Fahrenheit>", + /* Advanced idle display mode enabled */"Prikazivanje detaljnih informacija manjim fontom tijekom cekanja.", + /* Display rotation mode */"Orijentacija ekrana. <A=Automatski, L=Ljevoruki, D=Desnoruki>", + /* Boost enabled */"Prednji gumb prilikom lemljenja aktivira pojacani (Boost) nacin.", + /* Boost temperature */"Temperatura u pojacanom (Boost) nacinu.", + /* Automatic start mode */"Nacin u kojemu se lemilica pokrece po ukljucivanju napajanja. <+=Lemljenje, S=Spavanje, -=Ugaseno>", + /* Cooldown blink */"Bljeskanje temperature prilikom hladjenja, ako je lemilica vruca.", + /* Temperature calibration enter menu */"Kalibriranje temperature vrha.", + /* Settings reset command */"Vracanje svih postavki.", + /* Calibrate input voltage */"Kalibracija ulaznog napona. Podesavanje gumbima, dugacki pritisak za kraj.", + /* Advanced soldering screen enabled */"Prikazivanje detaljnih informacija tijekom lemljenja.", }; const char* SettingsCalibrationWarning = "Provjerite da je vrh ohladjen na sobnu temperaturu prije nego sto nastavite!"; @@ -357,6 +588,26 @@ const char SettingFalseChar = '-'; const char SettingRightChar = 'D'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif #ifdef LANG_CS_CZ @@ -393,7 +644,28 @@ const char SettingFalseChar = 'V'; const char SettingRightChar = 'P'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif + #ifdef LANG_HUN const char* SettingsLongNames[16] = { /*These are all the help text for all the settings.*/ @@ -428,35 +700,55 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif #ifdef LANG_TR const char* SettingsLongNames[16] = { -/*These are all the help text for all the settings.*/ -/*No requirements on spacing or length*/ -"Güç Kaynağı. kesim geriliminı ayarlar. <DC 10V> <S 3.3V hücre başına>", //Power Source - "Uyku Sıcaklığı <C>", //Sleep Temp - "Uyku Zaman Aşımı <Dakika/Saniye>", //Sleep Timeout - "Kapatma Zaman Aşımı <Dakika>", //Shutdown Time - "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>", //Motion Sensitivity - "Sıcaklık Ünitesi <C=Celsius F=Fahrenheit>", //Temp Unit - "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.", //Detailed Information - "Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>", //Orientation - "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)", //Boost enable - "\"boost\" Modu Derecesi", //Boost Temp - "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı", //Auto start - "Soğutma ekranında uç hala sıcakken derece yanıp sönsün.", //Cooling Blink - "Ucu kalibre et.", //Calibrate Tip - "Bütün ayarları sıfırla", //Reset Settings - "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.", //VIN Cal - "Lehimleme yaparken detaylı bilgi göster", //ADV SLD - }; + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + /* Power source (DC or batt) */"Güç Kaynağı. kesim geriliminı ayarlar. <DC 10V> <S 3.3V hücre başına>", //Power Source + /* Sleep temperature */"Uyku Sıcaklığı <C>",//Sleep Temp + /* Sleep timeout */"Uyku Zaman Aşımı <Dakika/Saniye>",//Sleep Timeout + /* Shutdown timeout */"Kapatma Zaman Aşımı <Dakika>",//Shutdown Time + /* Motion sensitivity level */"Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>",//Motion Sensitivity + /* Temperature in F and C */"Sıcaklık Ünitesi <C=Celsius F=Fahrenheit>",//Temp Unit + /* Advanced idle display mode enabled */"Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.",//Detailed Information + /* Display rotation mode */"Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>",//Orientation + /* Boost enabled */"Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)",//Boost enable + /* Boost temperature */"\"boost\" Modu Derecesi",//Boost Temp + /* Automatic start mode */"Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı",//Auto start + /* Cooldown blink */"Soğutma ekranında uç hala sıcakken derece yanıp sönsün.",//Cooling Blink + /* Temperature calibration enter menu */"Ucu kalibre et.",//Calibrate Tip + /* Settings reset command */"Bütün ayarları sıfırla",//Reset Settings + /* Calibrate input voltage */"VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.",//VIN Cal + /* Advanced soldering screen enabled */"Lehimleme yaparken detaylı bilgi göster",//ADV SLD +}; const char* SettingsCalibrationWarning = "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!"; const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars -const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars -const char* SleepingAdvancedString = "Uyuyor..."; // <=17 chars -const char* WarningSimpleString = "HOT!"; //Must be <= 4 chars +const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars +const char* SleepingAdvancedString = "Uyuyor...";// <=17 chars +const char* WarningSimpleString = "HOT!";//Must be <= 4 chars const char* WarningAdvancedString = "UYARI! UÇ SICAK!"; const char SettingTrueChar = 'T'; @@ -464,22 +756,25 @@ const char SettingFalseChar = 'F'; const char SettingRightChar = 'R'; const char SettingLeftChar = 'L'; const char SettingAutoChar = 'A'; + +const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; +const char* SettingsShortNames[16][2] = { + /* (<= 5) Power source (DC or batt) */{"PWRSC"}, + /* (<= 4) Sleep temperature */{"STMP"}, + /* (<= 4) Sleep timeout */{"STME"}, + /* (<= 5) Shutdown timeout */{"SHTME"}, + /* (<= 6) Motion sensitivity level */{"MSENSE"}, + /* (<= 6) Temperature in F and C */{"TMPUNT"}, + /* (<= 6) Advanced idle display mode enabled */{"ADVIDL"}, + /* (<= 6) Display rotation mode */{"DSPROT"}, + /* (<= 6) Boost enabled */{"BOOST"}, + /* (<= 4) Boost temperature */{"BTMP"}, + /* (<= 6) Automatic start mode */{"ASTART"}, + /* (<= 6) Cooldown blink */{"CLBLNK"}, + /* (<= 8) Temperature calibration enter menu */{"TMP CAL?"}, + /* (<= 8) Settings reset command */{"RESET?"}, + /* (<= 8) Calibrate input voltage */{"CAL VIN?"}, + /* (<= 6) Advanced soldering screen enabled */{"ADVSLD"}, +}; #endif -//Currently the settings names are not translated -const char* SettingsShortNames[16] = { /**/ -"PWRSC ", // Power Source (DC or batt) - "STMP ", // Sleep Temperature - "STME ", // Sleep Timeout - "SHTME ", // Shutdown Temperature - "MSENSE ", // Motion sensitivity level - "TMPUNT ", //Temp in F and C - "ADVIDL ", // Advanced idle display mode enable - "DSPROT ", // Display rotation mode - "BOOST ", // Boost enabled - "BTMP ", // Boost temperature - "ASTART ", // Automatic Start mode - "CLBLNK ", // Cooldown blink - "TMP CAL?", // Temperature calibration enter menu - "RESET? ", // Settings reset command - "CAL VIN?", "ADVSLD ", //advanced soldering screens - }; + diff --git a/workspace/TS100/src/gui.cpp b/workspace/TS100/src/gui.cpp index c9ce36d6..c8b56d11 100644 --- a/workspace/TS100/src/gui.cpp +++ b/workspace/TS100/src/gui.cpp @@ -64,95 +64,159 @@ const menuitem settingsMenu[] = { /*Struct used for all settings options in the { NULL, { NULL }, { NULL } } //end of menu marker. DO NOT REMOVE }; + +static void printShortDescriptionSingleLine(uint32_t shortDescIndex) { + lcd.setFont(0); + lcd.setCharCursor(0, 0); + lcd.print(SettingsShortNames[shortDescIndex][0]); +} + +static void printShortDescriptionDoubleLine(uint32_t shortDescIndex) { + lcd.setFont(1); + lcd.setCharCursor(0, 0); + lcd.print(SettingsShortNames[shortDescIndex][0]); + lcd.setCharCursor(0, 1); + lcd.print(SettingsShortNames[shortDescIndex][1]); +} + +/** + * Prints two small lines of short description + * and prepares cursor in big font after it. + * @param shortDescIndex Index to of short description. + * @param cursorCharPosition Custom cursor char position to set after printing description. + */ +static void printShortDescription(uint32_t shortDescIndex, uint16_t cursorCharPosition) { + //print short description (default single line, explicit double line) + if(SettingsShortNameType == SHORT_NAME_DOUBLE_LINE) { + printShortDescriptionDoubleLine(shortDescIndex); + } + else { + printShortDescriptionSingleLine(shortDescIndex); + } + + //prepare cursor for value + lcd.setFont(0); + lcd.setCharCursor(cursorCharPosition, 0); +} + + static void settings_setInputVRange(void) { systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 5; } + static void settings_displayInputVRange(void) { - lcd.print(SettingsShortNames[0]); - if (systemSettings.cutoutSetting) { - lcd.drawChar('0' + 2 + systemSettings.cutoutSetting); - lcd.drawChar('S'); - } else { - lcd.print("DC"); - } + printShortDescription(0, 6); + + if (systemSettings.cutoutSetting) { + lcd.drawChar('0' + 2 + systemSettings.cutoutSetting); + lcd.drawChar('S'); + } + else { + lcd.print("DC"); + } } + static void settings_setSleepTemp(void) { systemSettings.SleepTemp += 10; if (systemSettings.SleepTemp > 300) systemSettings.SleepTemp = 50; } + static void settings_displaySleepTemp(void) { - lcd.print(SettingsShortNames[1]); + printShortDescription(1, 5); lcd.printNumber(systemSettings.SleepTemp, 3); } + + static void settings_setSleepTime(void) { - ++systemSettings.SleepTime; //Go up 1 minute at a time - if (systemSettings.SleepTime >= 16) - systemSettings.SleepTime = 1; //can't set time over 10 mins -//Remember that ^ is the time of no movement + systemSettings.SleepTime++; //Go up 1 minute at a time + if (systemSettings.SleepTime >= 16) { + systemSettings.SleepTime = 1; //can't set time over 10 mins + } + //Remember that ^ is the time of no movement } + static void settings_displaySleepTime(void) { - lcd.print(SettingsShortNames[2]); - if (systemSettings.SleepTime < 6) { + printShortDescription(2, 5); + + if (systemSettings.SleepTime < 6) { lcd.printNumber(systemSettings.SleepTime * 10, 2); lcd.drawChar('S'); - } else { + } + else { lcd.printNumber(systemSettings.SleepTime - 5, 2); lcd.drawChar('M'); } } + + static void settings_setShutdownTime(void) { - ++systemSettings.ShutdownTime; - if (systemSettings.ShutdownTime > 60) - systemSettings.ShutdownTime = 0; //wrap to off + systemSettings.ShutdownTime++; + if (systemSettings.ShutdownTime > 60) { + systemSettings.ShutdownTime = 0; //wrap to off + } } + static void settings_displayShutdownTime(void) { - lcd.print(SettingsShortNames[3]); + printShortDescription(3, 6); lcd.printNumber(systemSettings.ShutdownTime, 2); } + static void settings_setTempF(void) { systemSettings.temperatureInF = !systemSettings.temperatureInF; } + static void settings_displayTempF(void) { - lcd.print(SettingsShortNames[5]); + printShortDescription(5, 7); - if (systemSettings.temperatureInF) - lcd.drawChar('F'); - else - lcd.drawChar('C'); + lcd.drawChar( + (systemSettings.temperatureInF) + ? 'F' + : 'C' + ); } + static void settings_setSensitivity(void) { systemSettings.sensitivity++; systemSettings.sensitivity = systemSettings.sensitivity % 10; } + static void settings_displaySensitivity(void) { - lcd.print(SettingsShortNames[4]); + printShortDescription(4, 7); lcd.printNumber(systemSettings.sensitivity, 1); } + static void settings_setAdvancedSolderingScreens(void) { systemSettings.detailedSoldering = !systemSettings.detailedSoldering; } + static void settings_displayAdvancedSolderingScreens(void) { - lcd.print(SettingsShortNames[15]); - if (systemSettings.detailedSoldering) - lcd.drawChar(SettingTrueChar); - else - lcd.drawChar(SettingFalseChar); + printShortDescription(15, 7); + + lcd.drawChar( + (systemSettings.detailedSoldering) + ? SettingTrueChar + : SettingFalseChar + ); } + static void settings_setAdvancedIDLEScreens(void) { systemSettings.detailedIDLE = !systemSettings.detailedIDLE; } + static void settings_displayAdvancedIDLEScreens(void) { - lcd.print(SettingsShortNames[6]); - if (systemSettings.detailedIDLE) - lcd.drawChar(SettingTrueChar); - else - lcd.drawChar(SettingFalseChar); + printShortDescription(6, 7); + + lcd.drawChar( + (systemSettings.detailedIDLE) + ? SettingTrueChar + : SettingFalseChar + ); } @@ -160,9 +224,11 @@ static void settings_setDisplayRotation(void) { systemSettings.OrientationMode++; systemSettings.OrientationMode = systemSettings.OrientationMode % 3; } + static void settings_displayDisplayRotation(void) { - lcd.print(SettingsShortNames[7]); - switch (systemSettings.OrientationMode) { + printShortDescription(7, 7); + + switch (systemSettings.OrientationMode) { case 0: lcd.drawChar(SettingRightChar); break; @@ -173,66 +239,87 @@ static void settings_displayDisplayRotation(void) { lcd.drawChar(SettingAutoChar); break; } - } + + static void settings_setBoostModeEnabled(void) { systemSettings.boostModeEnabled = !systemSettings.boostModeEnabled; } + static void settings_displayBoostModeEnabled(void) { - lcd.print(SettingsShortNames[8]); - if (systemSettings.boostModeEnabled) - lcd.drawChar(SettingTrueChar); - else - lcd.drawChar(SettingFalseChar); + printShortDescription(8, 7); + + lcd.drawChar( + (systemSettings.boostModeEnabled) + ? SettingTrueChar + : SettingFalseChar + ); } + + static void settings_setBoostTemp(void) { - systemSettings.BoostTemp += 10; //Go up 10 at a time + systemSettings.BoostTemp += 10; //Go up 10 at a time if (systemSettings.temperatureInF) { - if (systemSettings.BoostTemp > 850) - systemSettings.BoostTemp = 480; //loop back at 250 - } else { - if (systemSettings.BoostTemp > 450) - systemSettings.BoostTemp = 250; //loop back at 250 + if (systemSettings.BoostTemp > 850) { + systemSettings.BoostTemp = 480; //loop back at 250 + } + } + else { + if (systemSettings.BoostTemp > 450) { + systemSettings.BoostTemp = 250; //loop back at 250 + } } } + static void settings_displayBoostTemp(void) { - lcd.print(SettingsShortNames[9]); + printShortDescription(9, 5); lcd.printNumber(systemSettings.BoostTemp, 3); } + + static void settings_setAutomaticStartMode(void) { systemSettings.autoStartMode++; systemSettings.autoStartMode %= 2; } + static void settings_displayAutomaticStartMode(void) { - lcd.print(SettingsShortNames[10]); - switch (systemSettings.autoStartMode) { - case 0: - lcd.drawChar(SettingFalseChar); - break; - case 1: - lcd.drawChar(SettingTrueChar); - break; - } + printShortDescription(10, 7); + + lcd.drawChar( + (systemSettings.autoStartMode) + ? SettingTrueChar + : SettingFalseChar + ); } + + static void settings_setCoolingBlinkEnabled(void) { systemSettings.coolingTempBlink = !systemSettings.coolingTempBlink; } + static void settings_displayCoolingBlinkEnabled(void) { - lcd.print(SettingsShortNames[11]); - if (systemSettings.coolingTempBlink) - lcd.drawChar(SettingTrueChar); - else - lcd.drawChar(SettingFalseChar); + printShortDescription(11, 7); + + lcd.drawChar( + (systemSettings.coolingTempBlink) + ? SettingTrueChar + : SettingFalseChar + ); } + + static void settings_setResetSettings(void) { settingsResetRequest = !settingsResetRequest; } + static void settings_displayResetSettings(void) { - lcd.print(SettingsShortNames[13]); - if (settingsResetRequest) - lcd.drawChar(SettingTrueChar); - else - lcd.drawChar(SettingFalseChar); + printShortDescription(13, 7); + + lcd.drawChar( + (settingsResetRequest) + ? SettingTrueChar + : SettingFalseChar + ); } static void settings_setCalibrate(void) { @@ -240,16 +327,18 @@ static void settings_setCalibrate(void) { //We split off here to confirm with the user uint8_t maxOffset = strlen(SettingsCalibrationWarning) + 5; uint32_t descriptionStart = HAL_GetTick(); + lcd.setFont(0); lcd.clearScreen(); lcd.setCursor(0, 0); - for (;;) { + for (;;) { int16_t descriptionOffset = (((HAL_GetTick() - descriptionStart) / 150) % maxOffset); + lcd.setCursor(12 * (7 - descriptionOffset), 0); lcd.print(SettingsCalibrationWarning); - ButtonState buttons = getButtonState(); + ButtonState buttons = getButtonState(); switch (buttons) { case BUTTON_F_SHORT: { //User confirmed @@ -258,12 +347,14 @@ static void settings_setCalibrate(void) { lcd.setCursor(0, 0); lcd.print("....."); lcd.refresh(); - setCalibrationOffset(0); //turn off the current offset + + setCalibrationOffset(0); //turn off the current offset for (uint8_t i = 0; i < 20; i++) { - getTipRawTemp(1); //cycle through the filter a fair bit to ensure were stable. + getTipRawTemp(1); //cycle through the filter a fair bit to ensure we're stable. osDelay(20); } osDelay(100); + uint16_t rawTempC = tipMeasurementToC(getTipRawTemp(0)); //We now measure the current reported tip temperature uint16_t handleTempC = getHandleTemperature() / 10; @@ -274,30 +365,33 @@ static void settings_setCalibrate(void) { osDelay(100); return; } - break; + case BUTTON_BOTH: case BUTTON_B_SHORT: case BUTTON_F_LONG: case BUTTON_B_LONG: return; - break; + case BUTTON_NONE: break; } + lcd.refresh(); osDelay(50); } - } + static void settings_displayCalibrate(void) { - lcd.print(SettingsShortNames[12]); + printShortDescription(12, 5); } + static void settings_setCalibrateVIN(void) { -//Jump to the voltage calibration subscreen + //Jump to the voltage calibration subscreen lcd.setFont(0); lcd.clearScreen(); lcd.setCursor(0, 0); + for (;;) { lcd.setCursor(0, 0); lcd.printNumber(getInputVoltageX10(systemSettings.voltageDiv) / 10, 2); @@ -310,30 +404,34 @@ static void settings_setCalibrateVIN(void) { case BUTTON_F_SHORT: systemSettings.voltageDiv++; break; + case BUTTON_B_SHORT: systemSettings.voltageDiv--; break; + case BUTTON_BOTH: case BUTTON_F_LONG: case BUTTON_B_LONG: saveSettings(); return; - break; + case BUTTON_NONE: break; } + lcd.refresh(); osDelay(50); - if (systemSettings.voltageDiv < 90) - systemSettings.voltageDiv = 90; - else if (systemSettings.voltageDiv > 130) - systemSettings.voltageDiv = 130; + //Cap to sensible values + if (systemSettings.voltageDiv < 90) { + systemSettings.voltageDiv = 90; + } + else if (systemSettings.voltageDiv > 130) { + systemSettings.voltageDiv = 130; + } } } -static void settings_displayCalibrateVIN(void) { - lcd.clearScreen(); - lcd.setCursor(0, 0); - lcd.print(SettingsShortNames[14]); +static void settings_displayCalibrateVIN(void) { + printShortDescription(14, 5); } diff --git a/workspace/ts100/.cproject b/workspace/ts100/.cproject index 5714c8cf..a2a12fb0 100644 --- a/workspace/ts100/.cproject +++ b/workspace/ts100/.cproject @@ -129,7 +129,7 @@ <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.793444160" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/> <builder buildPath="${workspace_loc:/TS100}/Release" id="fr.ac6.managedbuild.builder.gnu.cross.548236022" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="fr.ac6.managedbuild.builder.gnu.cross"/> <tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.1363306495" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler"> - <option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1100266163" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.size" valueType="enumerated"/> + <option id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.1100266163" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.more" valueType="enumerated"/> <option id="gnu.c.compiler.option.debugging.level.2139237845" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/> <option id="gnu.c.compiler.option.include.paths.1770182855" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${ProjDirPath}/inc""/> @@ -154,7 +154,7 @@ <inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1210653460" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/> </tool> <tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.1414722294" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler"> - <option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1489744363" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.cpp.optimization.level.size" valueType="enumerated"/> + <option id="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level.1489744363" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.cpp.optimization.level.more" valueType="enumerated"/> <option id="gnu.cpp.compiler.option.debugging.level.641509376" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> <option id="gnu.cpp.compiler.option.include.paths.105977434" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${ProjDirPath}/inc""/> diff --git a/workspace/ts100/inc/Font.h b/workspace/ts100/inc/Font.h index 8d96a269..dcd460dc 100644 --- a/workspace/ts100/inc/Font.h +++ b/workspace/ts100/inc/Font.h @@ -449,7 +449,6 @@ const uint8_t idleScreenBGF[] = { const unsigned char ASCII6x8[] = { -//1*8*6 һ�� 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sp 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, // ! 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, // " |