From 0d2bfb9a29c83de729d0394e047b39f9ef8cf101 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Wed, 14 Mar 2018 23:21:29 +1100 Subject: [PATCH] Fix Menu / RC2 #214 New Icons Fix Hold to scroll timer with a lockout Fix Menu lengths New French Translation Closes #228 Fix confirmation message scroll speed Fix translations.cpp --- Development Resources/Images/Calibration.jpg | Bin 718 -> 687 bytes Development Resources/Images/Settings.jpg | Bin 691 -> 704 bytes Development Resources/Images/Sleep.jpg | Bin 747 -> 736 bytes Development Resources/Images/Soldering.jpg | Bin 688 -> 713 bytes Development Resources/Images/UI.jpg | Bin 729 -> 722 bytes .../TS100/.settings/language.settings.xml | 3 +- workspace/TS100/Makefile | 2 +- workspace/TS100/inc/Font.h | 26 +-- workspace/TS100/src/Translation.cpp | 153 ++++++++++-------- workspace/TS100/src/gui.cpp | 29 ++-- workspace/TS100/src/main.cpp | 10 +- 11 files changed, 123 insertions(+), 100 deletions(-) diff --git a/Development Resources/Images/Calibration.jpg b/Development Resources/Images/Calibration.jpg index 5aa1588568b6618ed502bdd6513fb7fb95290b40..5ecf35a8d7a4c502b5e11d04be7da84464afebd7 100644 GIT binary patch delta 373 zcmX@dx}J5yGDd-k%jKEb**GSiR53qu_@J2R{QpN7#040EfB^}xu(2}yzs0}-6lG*( zVh~($O6QJ`=ch|TMfLk9CooB~F*7pSGs***^7V}JKqJ%y7#NwEm^l%qFflR6qfB2vdP#q7@2qv&00s{PS4+(%gq~Hbek0dZi zK=vR2qacH#VIbTN0rquD2SXzm1sa&1b8`vJ?|NQT$f{7P*=x&{DO+)%%j&cJ|C<1t C*=0Te delta 393 zcmZ3_dX9C%GDg9P%jKCl*qJAuRI%0RWVjN+sW|cf5e7*CMn(o^Mg|06W@TVvWBh-M zfdeSR$jYR2_xg>X$`z7&Oa56It$Vj~vI?UDWBg=SMuqx#paJRv3`~s7jBM<16PTD8 zSp|1l}}f&3={3?LvtwnkBq0bz*%`>V4Bn-(yL23XCx jHQjq^oDoYuS7pAze2-fuS8Uy1oh{n5U{z>n&HtMKc=>q_ diff --git a/Development Resources/Images/Settings.jpg b/Development Resources/Images/Settings.jpg index 60c12927c295ffc83ea3130ff95c659fe1db9c38..eca8e3eac353591491764799032206752783b087 100644 GIT binary patch delta 401 zcmdnYdVqDpGGzf~MnMK9K}Kdl#{Wkc#26SE85xiPI}_W)(<-c|8jke4PtIo&m1AaO zW%_@Mfdic zFe6L`vRMR$7!+9pi<+Q@vDq{23|e}0^XVDP!Lg?W3QXL}1#ON!ikLs+$oU%6Eu1-= zR~i-z3%_nSI#ajNnzQFoQthX?yGstvi#c%RHD^L|<08X_0!ijV$Di-$`w6sEN&x7U z00tyW8Gt@jG;|Dvx!zv!$I8HD28oS~9TO(|9pzWDs5T8a%T&_8`&^s61Vgrf#>4$U zwLCy0m>8IWfg-@b5BHw{$bSmnAn!>CFrrw)z`)2LsOSi{MxcWCZzJCf(T31(%S_fp eaP)OdVDC3Qb%>!+kfm+;lMRdq7an&0e-i*GqH&V| delta 395 zcmX@Wx|wytGF3rlMnMK9K}Kdl#{WkcBp4W&m>Ez22P+%<#FHx4OC@efG4trF164^1 zFfaol5@2CvV_*{ae~W>Gk&%Ism8mtL^+0=r(`L)1M$?NVC#y0lFvd@IV^pY*2WnRp zU|?isWMfC@XJ%w#5o8b$5>|9%6;(2F3T%WL#b(bmQOxIKSI&eLn^ZcrEv!~ipiMFYK<6+a`N)}p zQBXk9(2*hVAk4A$idx72&baZBQG9E^^`(~S7nRf|3hO+ue)^Wx^4{cqkAdoVn1QB% zJuJZFXb<#_Jd*&(JMwM`Rvmj{}n zD!{b&!9F delta 480 zcmaFB`kHmZGG#$#MnMK9K}Kdl#{Wkc#26SE85xiPJ1g77Qz}jkiA)a-_HoGr)kq64 zFf%YQBPn8GWdjPZ3;n;vzyZ|G$jbEEVecxn!lmAO+7se>qHcd;NUNXh#VF0j%*bfZ z7!PDB)W-vjQWaoeVq#=wW`Uc=$i&Pd$f~F$AY>?P>X=wK@gvkwHhZR>dG{s1mHx(qc6;jnGpNK=Rr#2toZr5BiLcOu)$dkYkBUteaz3g<0a53k^(@Vqj;WCP|=Y=0Oluq z#r<_JH*-C>>bb6BN^|B0ZI!N*Hj$t9g)crJufTQhz=uP=s^*$3&n|m^25RA9W@KOj z1``8=z$8X{pz$JtsKLrGIgXJX92^3m;E)d#0EGw05ez`B2mp*6MZ-k6BLvLm8%+?p qUvchXf~H!@J4LU^%gt6AcNFX*7T;djdg6;o}LXRCy+5 z7FM?Zw-`8p!i=m;$20Cpv7{zNW#oqXUpYG2he?_ZsKK659>|ohXOst;p(4P*#K^?L zjf_Fd2IGf21h+T?i>tyeLX<%5P$X)W{tfcGZNnz@&vCA+#&&2kX2mS`4BL4E#x#W^PdD_|A0r z?STUt0St)@4nQ3|%!~|7VABK|{NX+o0QpqG8{|=O0bp1ndC8U+qPfuu(rT}#!>mNM)AzXG}(JHy1|YL=1)OP#nFD}gE`1sH)! z7?G5)Ff*{S3H-mszyXwDWMz8#-PbfEs_UQQr`NpmC&w{KPqt@dWsC>1SA*`J+tB=`Xt^t9PL4VVq<1xv=;z*O2Gx>CkX+xPyq&{fS@AW76Gm{vkwzzbMBIfJ(0jaEBswQ T!cGO4|Bo<82rz;G0|KzJFflU!zs0}-6lG*( zlJtJu$Rcrv%{ja_z_v$zaxRlJ8#5!LJtK%IU(YBHG(=f|fsuugnS~i{3L_IUiy$k5 zP#~M3k)xtg5Y#+2d!~NLeKU`pGvCTJk-Pfcjr(U;zjDtzuzcc5&EiE5U30cASbn)X ziaTk~`m4ojyw^N?bhz-stLUhuA`%PY5ABy;bKQKUR`FUzuN=S z!dafL)j-ue%!~|73?Q!vH1NZ{D**DYf*;7Ym_f!U$e?Hlw@4sEt@ql*-CLE|uJ5-v j6?~etko9xyt;jhMM}kz6UObCNezGc~0%QDSH%5i}c%TW&0t}4I%*?C^Lzozu zSy%;y6b%Cz*aSqB3ZaIv*)#ROJF;HpaZEv*?u{=e4Mcy%_k`95PkH6tdujL5?Tnig zEd>usyKZ~B?4G8crP`XyJ&PABJeFA0l-*=}>~;00y`H(d)|c#fxXnpX$w517+l|Dn zw~qr|AT0oNDig9V7zGs#83Y0oVcxJ;T%Eo+HA`1RU>mn|)ufcJgxGy?Q?s3mF6_|R z&-UZ(E6)j>lglcrfa-aG<}fiZ0|P{$i4o*ic_smnXXSkbK)%HcFGdCdK|{Dj0@tST q3Z0zLqLI-4?{l0-hf0T_;|-5vECDmP{+iamH+|C8;Iu;Y|4jg5Kz>sI diff --git a/workspace/TS100/.settings/language.settings.xml b/workspace/TS100/.settings/language.settings.xml index 194ff89a..071b9c05 100644 --- a/workspace/TS100/.settings/language.settings.xml +++ b/workspace/TS100/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,6 @@ - diff --git a/workspace/TS100/Makefile b/workspace/TS100/Makefile index c9ba0ee7..4b366839 100644 --- a/workspace/TS100/Makefile +++ b/workspace/TS100/Makefile @@ -35,7 +35,7 @@ OPTIM=-O2 -finline-small-functions -findirect-inlining -fdiagnostics-color # global defines --------------------------------------------------------------- -GLOBAL_DEFINES += -D STM32F103T8Ux -D STM32F1 -D STM32 -D USE_HAL_DRIVER -D STM32F103xB -D USE_RTOS_SYSTICK -D LANG_$(lang) +GLOBAL_DEFINES += -D STM32F103T8Ux -D STM32F1 -D STM32 -D USE_HAL_DRIVER -D STM32F103xB -D USE_RTOS_SYSTICK -D LANG_$(lang) -D LANG # Enable debug code generation DEBUG=-g diff --git a/workspace/TS100/inc/Font.h b/workspace/TS100/inc/Font.h index 7088e679..9d5cbf6e 100644 --- a/workspace/TS100/inc/Font.h +++ b/workspace/TS100/inc/Font.h @@ -603,36 +603,36 @@ const uint8_t SettingsMenuIcons[] = { // Soldering //width = 16 //height = 16 - 0x00,0x00,0x02,0x04,0x09,0x11,0x23,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x07,0x0A,0x14,0x28,0x50,0x60,0x00, + 0x00,0x02,0x04,0x08,0x12,0x24,0xC4,0x42,0x82,0x04,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x07,0x0A,0x14,0x28,0x50,0x60,0x00, //Sleep //width = 16 //height = 16 - 0x00,0x00,0x00,0xC6,0xE6,0xF6,0xBE,0x9E,0x86,0x00,0x40,0x40,0xC0,0xC0,0xC0,0x00, - 0x00,0x00,0x00,0x01,0x01,0x45,0x65,0x75,0x5D,0x00,0x06,0x07,0x07,0x05,0x04,0x00, + 0x00,0xC6,0xE6,0xF6,0xBE,0x9E,0x8E,0x86,0x00,0x00,0x40,0x40,0xC0,0xC0,0xC0,0x00, + 0x00,0x01,0x01,0x01,0x45,0x65,0x75,0x5D,0x4C,0x00,0x06,0x07,0x07,0x05,0x04,0x00, //Menu //width = 16 //height = 16 - 0x00,0x80,0x18,0x98,0x58,0x18,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x98,0x00,0x00, - 0x00,0x00,0x19,0x18,0x00,0x00,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x00,0x00, + 0x00,0x80,0x06,0x86,0x46,0x06,0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x00, + 0x00,0x00,0x61,0x60,0x00,0x00,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x00, //Wrench - //width = 16 + ///width = 16 //height = 16 - 0x00,0x00,0x18,0x30,0x32,0x7E,0x7C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x0F,0x3E,0x7E,0x4C,0x0C,0x18,0x00, + 0x00,0x18,0x30,0x32,0x7E,0x7C,0xF0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x0F,0x3E,0x7E,0x4C,0x0C,0x18,0x00, #ifdef NOTUSED //Calibration (Not used, kept for future menu layouts) - //width = 16 - //height = 16 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x70,0x7A,0x5E,0x8E,0x1C,0x30,0x00, - 0x00,0x20,0x70,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + //width = 16 + //height = 16 + 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE8,0x70,0x7A,0x5E,0x8E,0x1C,0x30,0x00, + 0x00,0x10,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, #endif }; diff --git a/workspace/TS100/src/Translation.cpp b/workspace/TS100/src/Translation.cpp index 536e6fa6..d6dbf8fb 100644 --- a/workspace/TS100/src/Translation.cpp +++ b/workspace/TS100/src/Translation.cpp @@ -12,7 +12,7 @@ // translation: //const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -//const char* SettingsShortNames[16][2] = { +//const char* SettingsShortNames[17][2] = { // /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, // /* (<= 4) Sleep temperature */ {"STMP"}, // /* (<= 4) Sleep timeout */ {"STME"}, @@ -29,10 +29,11 @@ // /* (<= 8) Settings reset command */ {"RESET?"}, // /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, // /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, +// /* (<= 6) Message Scroll Speed */ {"DESCSP"}, //}; //const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -//const char* SettingsShortNames[16][2] = { +//const char* SettingsShortNames[17][2] = { // /* (<= 11) Power source (DC or batt) */ {"Power", "source"}, // /* (<= 9) Sleep temperature */ {"Sleep", "temp"}, // /* (<= 9) Sleep timeout */ {"Sleep", "timeout"}, @@ -188,7 +189,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"ИстП "}, /* (<= 4) Sleep temperature */ {"Тожд"}, /* (<= 4) Sleep timeout */ {"Вожд "}, @@ -205,6 +206,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"СБРОС?"}, /* (<= 8) Calibrate input voltage */ {"КалибрU?"}, /* (<= 6) Advanced soldering screen enabled */ {"ИнфПай "}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { @@ -268,7 +270,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -285,6 +287,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -347,7 +350,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -364,6 +367,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -426,7 +430,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; - const char* SettingsShortNames[16][2] = { + const char* SettingsShortNames[17][2] = { /* (<= 11) Power source (DC or batt) */ {"Sorgente", "alimentaz"}, /* (<= 9) Sleep temperature */ {"Temp", "standby"}, /* (<= 9) Sleep timeout */ {"Timer", "standby"}, @@ -443,6 +447,7 @@ const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; /* (<= 16) Settings reset command */ {"Ripristino", "impostazioni"}, /* (<= 16) Calibrate input voltage */ {"Calibrazione", "tensione"}, /* (<= 13) Advanced soldering screen enabled */ {"Dettagli", "saldatura"}, + /* (<= 11) Display Help Text Scroll Speed */ {"Description","Scroll Speed"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -458,44 +463,45 @@ const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; #endif #ifdef LANG_FR + const char* SettingsDescriptions[17] = { - // These are all the help text for all the settings. - // No requirements on spacing or length. - /* Power source (DC or batt) */ "Source d'alimentation. Règle la tension de coupure ", - /* Sleep temperature */ "Température en veille ", - /* Sleep timeout */ "Délai avant mise en veille ", - /* Shutdown timeout */ "Délai avant extinction ", - /* Motion sensitivity level */ "Sensibilité du capteur de mouvement <0=Inactif 1=Peu sensible 9=Tres sensible>", - /* Temperature in F and C */ "Unité de température ", - /* Advanced idle display mode enabled */ "Afficher des informations détaillées lors de la veille", - /* Display rotation mode */ "Orientation de l'affichage ", - /* Boost enabled */ "Activer le mode \"Boost\" en maintenant le bouton de devant pendant la soudure", - /* Boost temperature */ "Température du mode \"Boost\" ", - /* Automatic start mode */ "Démarrer automatiquement la soudure à l'allumage", - /* Cooldown blink */ "Faire clignoter la température lors du refroidissement tant que la panne est chaude", - /* Temperature calibration enter menu */ "Étalonner la température de la panne", - /* Settings reset command */ "Réinitialiser tous les réglages", - /* Calibrate input voltage */ "Étalonner la tension d'entrée. Boutons pour ajuster, appui long pour quitter", - /* Advanced soldering screen enabled */ "Afficher des informations détaillées pendant la soudure", - /* Description Scroll Speed */ "Speed this text scrolls past at", + // These are all the help text for all the settings. + // No requirements on spacing or length. + /* Power source (DC or batt) */ "Source d'alimentation. Règle la tension de coupure ", + /* Sleep temperature */ "Température en veille ", + /* Sleep timeout */ "Délai avant mise en veille ", + /* Shutdown timeout */ "Délai avant extinction ", + /* Motion sensitivity level */ "Sensibilité du capteur de mouvement <0=Inactif 1=Peu sensible 9=Tres sensible>", + /* Temperature in F and C */ "Unité de température ", + /* Advanced idle display mode enabled */ "Afficher des informations détaillées lors de la veille.", + /* Display rotation mode */ "Orientation de l'affichage ", + /* Boost enabled */ "Activer le mode \"Boost\" en maintenant le bouton de devant pendant la soudure", + /* Boost temperature */ "Température du mode \"Boost\"", + /* Automatic start mode */ "Démarrer automatiquement la soudure a l'allumage ", + /* Cooldown blink */ "Faire clignoter la température lors du refroidissement tant que la panne est chaude.", + /* Temperature calibration enter menu */ "Etalonner température de la panne.", + /* Settings reset command */ "Réinitialiser tous les réglages", + /* Calibrate input voltage */ "Etalonner tension d'entrée. Boutons pour ajuster, appui long pour quitter", + /* Advanced soldering screen enabled */ "Afficher des informations détaillées pendant la soudure", + /* Description Scroll Speed */ "Vitesse de défilement de ce texte à", }; const char* SettingsCalibrationWarning = "Assurez-vous que la panne soit à température ambiante avant de continuer!"; const char* SettingsResetWarning = "Voulez-vous vraiment réinitialiser les paramètres aux valeurs d'usine?"; -const char* UVLOWarningString = "DC LOW"; // <=8 chars -const char* UndervoltageString = "Undervoltage"; // <=16 chars -const char* InputVoltageString = "Input V: "; // <=11 chars, preferably end with a space -const char* WarningTipTempString = "Tip Temp: "; // <=12 chars, preferably end with a space -const char* BadTipString = "BAD TIP"; // <=8 chars +const char* UVLOWarningString = "DC FAIBLE"; // <=8 chars +const char* UndervoltageString = "Sous-tension"; // <=16 chars +const char* InputVoltageString = "V d'entrée: "; // <=11 chars, preferably end with a space +const char* WarningTipTempString = "Temp. Panne: "; // <=12 chars, preferably end with a space +const char* BadTipString = "PANNE HS"; // <=8 chars const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars const char* SleepingAdvancedString = "En veille..."; // <=16 chars const char* WarningSimpleString = "HOT!"; // Must be <= 4 chars const char* WarningAdvancedString = "ATTENTION! CHAUD"; // Must be <= 16 chars -const char* SleepingTipAdvancedString = "Tip:"; // <=6 chars -const char* IdleTipString = "Tip:"; // IdleTipString+IdleSetString <= 10 +const char* SleepingTipAdvancedString = "PANNE:"; // <=6 chars +const char* IdleTipString = "PANNE:"; // IdleTipString+IdleSetString <= 10 const char* IdleSetString = " Set:"; // preferably start with a space; IdleTipString+IdleSetString <= 10 -const char* TipDisconnectedString = "TIP DISCONNECTED"; // <=16 chars -const char* SolderingAdvancedPowerPrompt = "Power: "; +const char* TipDisconnectedString = "PANNE DEBRANCH"; // <=16 chars +const char* SolderingAdvancedPowerPrompt = "Puissance: "; const char SettingRightChar = 'D'; const char SettingLeftChar = 'G'; @@ -505,34 +511,36 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[16][2] = { - /* (<= 11) Power source (DC or batt) */ {"Source", "d'alim"}, - /* (<= 9) Sleep temperature */ {"Temp.", "veille"}, - /* (<= 9) Sleep timeout */ {"Délai", "veille"}, - /* (<= 11) Shutdown timeout */ {"Délai", "extinction"}, - /* (<= 13) Motion sensitivity level */ {"Sensibilité", "au mouvement"}, - /* (<= 13) Temperature in F and C */ {"Unité de", "température"}, - /* (<= 13) Advanced idle display mode enabled */ {"Écran veille", "détaillé"}, - /* (<= 13) Display rotation mode */ {"Orientation", "de l'écran"}, - /* (<= 13) Boost enabled */ {"Activation du", "mode Boost"}, - /* (<= 9) Boost temperature */ {"Temp.", "Boost"}, - /* (<= 13) Automatic start mode */ {"Démarrage", "automatique"}, - /* (<= 13) Cooldown blink */ {"Refroidir en", "clignottant"}, - /* (<= 16) Temperature calibration enter menu */ {"Étalonner", "température"}, - /* (<= 16) Settings reset command */ {"Réinitialisation", "d'usine"}, - /* (<= 16) Calibrate input voltage */ {"Étalonner", "tension d'entrée"}, - /* (<= 13) Advanced soldering screen enabled */ {"Écran soudure", "détaillé"}, +const char* SettingsShortNames[17][2] = { + /* (<= 11) Power source (DC or batt) */ {"Source", "d'alim"}, + /* (<= 9) Sleep temperature */ {"Temp.", "veille"}, + /* (<= 9) Sleep timeout */ {"Délai", "veille"}, + /* (<= 11) Shutdown timeout */ {"Délai", "extinction"}, + /* (<= 13) Motion sensitivity level */ {"Sensibilité", "au mouvement"}, + /* (<= 13) Temperature in F and C */ {"Unité de", "température"}, + /* (<= 13) Advanced idle display mode enabled */ {"Ecran veille", "détaillé"}, + /* (<= 13) Display rotation mode */ {"Orientation", "de l'écran"}, + /* (<= 13) Boost enabled */ {"Activation du", "mode Boost"}, + /* (<= 9) Boost temperature */ {"Temp.", "Boost"}, + /* (<= 13) Automatic start mode */ {"Démarrage", "automatique"}, + /* (<= 13) Cooldown blink */ {"Refroidir en", "clignottant"}, + /* (<= 16) Temperature calibration enter menu */ {"Etalonner", "température"}, + /* (<= 16) Settings reset command */ {"Réinitialisation", "d'usine"}, + /* (<= 16) Calibrate input voltage */ {"Etalonner", "tension d'entrée"}, + /* (<= 13) Advanced soldering screen enabled */ {"Ecran soudure", "détaillé"}, + /* (<= 11) Display Help Text Scroll Speed */ {"Description "," Vitesse de défilement"}, }; + const char* SettingsMenuEntries[4] = { -/*Soldering Menu*/"Soldering\nSettings", -/* Power Saving Menu*/"Sleep\nModes", -/* UI Menu*/"User\nInterface", -/* Advanced Menu*/"Advanced\nOptions", }; +/*Soldering Menu*/"Soudure\nParamètres", +/* Power Saving Menu*/"Mode\nVeille", +/* UI Menu*/"Interface\nUtilisateur", +/* Advanced Menu*/"Options\nAdvanced", }; const char* SettingsMenuEntriesDescriptions[4] ={ -"Soldering settings", -"Power Saving Settings", -"User Interface settings", -"Advanced options" +"Paramètres de soudage", +"Paramètres d'économie d'énergie", +"Paramètres de l'interface utilisateur", +"Options avancées" }; #endif @@ -584,7 +592,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 11) Power source (DC or batt) */ {"Spannungs-", "quelle"}, /* (<= 9) Sleep temperature */ {"Ruhetemp-", "eratur"}, /* (<= 9) Sleep timeout */ {"Ruhever-", "zoegerung"}, @@ -601,6 +609,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 16) Settings reset command */ {"Einstellungen", "zuruecksetzen?"}, /* (<= 16) Calibrate input voltage */ {"Eingangsspannung", "kalibrieren?"}, /* (<= 13) Advanced soldering screen enabled */ {"Detaillierte", "Loetansicht"}, + /* (<= 11) Display Help Text Scroll Speed */ {"Description","Scroll Speed"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -663,7 +672,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -680,6 +689,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -742,7 +752,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -759,6 +769,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -821,7 +832,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 11) Power source (DC or batt) */ {"Izvor", "napajanja"}, /* (<= 9) Sleep temperature */ {"Temp", "spavanja"}, /* (<= 9) Sleep timeout */ {"Vrijeme", "spavanja"}, @@ -838,6 +849,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 16) Settings reset command */ {"Tvorničke", "postavke"}, /* (<= 16) Calibrate input voltage */ {"Kalibracija", "napona napajanja"}, /* (<= 13) Advanced soldering screen enabled */ {"Detalji", "pri lemljenju"}, + /* (<= 11) Display Help Text Scroll Speed */ {"Description","Scroll Speed"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -900,7 +912,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 11) Power source (DC or batt) */ {"Zdroj", "napájení"}, /* (<= 9) Sleep temperature */ {"Teplota v", "r. spánku"}, /* (<= 9) Sleep timeout */ {"Čas do", "r. spánku"}, @@ -917,6 +929,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 16) Settings reset command */ {"Tovární", "nastavení?"}, /* (<= 16) Calibrate input voltage */ {"Kalibrovat", "vstupní napětí?"}, /* (<= 13) Advanced soldering screen enabled */ {"Podrobnosti", "při pájení"}, + /* (<= 11) Display Help Text Scroll Speed */ {"Description","Scroll Speed"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -979,7 +992,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -996,6 +1009,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -1058,7 +1072,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -1075,6 +1089,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -1137,7 +1152,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { /* (<= 5) Power source (DC or batt) */ {"PWRSC"}, /* (<= 4) Sleep temperature */ {"STMP"}, /* (<= 4) Sleep timeout */ {"STME"}, @@ -1154,6 +1169,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESET?"}, /* (<= 8) Calibrate input voltage */ {"CAL VIN?"}, /* (<= 6) Advanced soldering screen enabled */ {"ADVSLD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", @@ -1217,7 +1233,7 @@ const char SettingFastChar = 'F'; const char SettingSlowChar = 'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[16][2] = { +const char* SettingsShortNames[17][2] = { // 1234567890 /* (<= 5) Power source (DC or batt) */ {"FONTE"}, /* (<= 4) Sleep temperature */ {"TMPE"}, @@ -1235,6 +1251,7 @@ const char* SettingsShortNames[16][2] = { /* (<= 8) Settings reset command */ {"RESETAR"}, /* (<= 8) Calibrate input voltage */ {"CAL.VOLT"}, /* (<= 6) Advanced soldering screen enabled */ {"AVNCAD"}, + /* (<= 6) Message Scroll Speed */ {"DESCSP"}, }; const char* SettingsMenuEntries[4] = { /*Soldering Menu*/"Soldering\nSettings", diff --git a/workspace/TS100/src/gui.cpp b/workspace/TS100/src/gui.cpp index 2e38c126..eb6c81b7 100644 --- a/workspace/TS100/src/gui.cpp +++ b/workspace/TS100/src/gui.cpp @@ -221,19 +221,22 @@ static void printShortDescription(uint32_t shortDescIndex, static int userConfirmation(const char* message) { uint16_t messageWidth = FONT_12_WIDTH * (strlen(message) + 7); - uint32_t messageStart = HAL_GetTick(); + uint32_t messageStart = xTaskGetTickCount(); lcd.setFont(0); lcd.setCursor(0, 0); int16_t lastOffset = -1; bool lcdRefresh = true; - // TODO Scrolling speed factor can be moved to User Interface settings - uint16_t scrollingSpeedFactor = 4; // lower the value - higher the speed for (;;) { - int16_t messageOffset = (int) ((HAL_GetTick() - messageStart) - / (float) scrollingSpeedFactor + 0.5) % messageWidth; + + int16_t messageOffset = + ((xTaskGetTickCount() - messageStart) + / (systemSettings.descriptionScrollSpeed == 1 ? + 1 : 2)); + messageOffset %= messageWidth; //Roll around at the end + if (lastOffset != messageOffset) { lcd.clearScreen(); @@ -611,10 +614,6 @@ void gui_Menu(const menuitem* menu) { int16_t lastOffset = -1; bool lcdRefresh = true; - // lower the value - higher the speed - int16_t descriptionWidth = FONT_12_WIDTH - * (strlen(menu[currentScreen].description) + 7); - while ((menu[currentScreen].draw.func != NULL) && earlyExit == false) { lcd.setFont(0); lcd.setCursor(0, 0); @@ -629,10 +628,14 @@ void gui_Menu(const menuitem* menu) { // Draw description if (descriptionStart == 0) descriptionStart = xTaskGetTickCount(); - - int16_t descriptionOffset = ((xTaskGetTickCount() - descriptionStart) - / (systemSettings.descriptionScrollSpeed == 1?1:2)); - descriptionOffset %= descriptionWidth;//Roll around at the end + // lower the value - higher the speed + int16_t descriptionWidth = FONT_12_WIDTH + * (strlen(menu[currentScreen].description) + 7); + int16_t descriptionOffset = + ((xTaskGetTickCount() - descriptionStart) + / (systemSettings.descriptionScrollSpeed == 1 ? + 1 : 2)); + descriptionOffset %= descriptionWidth; //Roll around at the end if (lastOffset != descriptionOffset) { lcd.clearScreen(); diff --git a/workspace/TS100/src/main.cpp b/workspace/TS100/src/main.cpp index 4e02ad47..7720c1a0 100644 --- a/workspace/TS100/src/main.cpp +++ b/workspace/TS100/src/main.cpp @@ -326,8 +326,6 @@ static void gui_solderingTempAdjust() { } } - - static int gui_showTipTempWarning() { for (;;) { uint16_t tipTemp = tipMeasurementToC(getTipRawTemp(0)); @@ -659,7 +657,7 @@ void startGUITask(void const *argument) { uint8_t animationStep = 0; uint8_t tempWarningState = 0; - + bool buttonLockout = false; HAL_IWDG_Refresh(&hiwdg); switch (systemSettings.OrientationMode) { case 0: @@ -705,12 +703,17 @@ void startGUITask(void const *argument) { ButtonState buttons = getButtonState(); if (tempWarningState == 2) buttons = BUTTON_F_SHORT; + if (buttons != BUTTON_NONE && buttonLockout) + buttons = BUTTON_NONE; + else + buttonLockout=false; switch (buttons) { case BUTTON_NONE: // Do nothing break; case BUTTON_BOTH: // Not used yet + //In multi-language this might be used to reset language on a long hold or some such break; case BUTTON_B_LONG: @@ -743,6 +746,7 @@ void startGUITask(void const *argument) { lcd.displayOnOff(true); // turn lcd on enterSettingsMenu(); // enter the settings menu saveSettings(); + buttonLockout = true; setCalibrationOffset(systemSettings.CalibrationOffset); // ensure cal offset is applied break; default: