diff options
-rw-r--r-- | workspace/TS100/inc/Settings.h | 2 | ||||
-rw-r--r-- | workspace/TS100/src/Translation.cpp | 50 | ||||
-rw-r--r-- | workspace/TS100/src/hardware.c | 2 | ||||
-rw-r--r-- | workspace/TS100/src/main.cpp | 9 |
4 files changed, 35 insertions, 28 deletions
diff --git a/workspace/TS100/inc/Settings.h b/workspace/TS100/inc/Settings.h index 7f3705e0..384a46ae 100644 --- a/workspace/TS100/inc/Settings.h +++ b/workspace/TS100/inc/Settings.h @@ -11,7 +11,7 @@ #define SETTINGS_H_ #include <stdint.h> #include "stm32f1xx_hal.h" -#define SETTINGSVERSION 0x12 /*Change this if you change the struct below to prevent people getting out of sync*/ +#define SETTINGSVERSION 0x13 /*Change this if you change the struct below to prevent people getting out of sync*/ /* * This struct must be a multiple of 2 bytes as it is saved / restored from flash in uint16_t chunks diff --git a/workspace/TS100/src/Translation.cpp b/workspace/TS100/src/Translation.cpp index 5d2d7fab..5719b57a 100644 --- a/workspace/TS100/src/Translation.cpp +++ b/workspace/TS100/src/Translation.cpp @@ -396,26 +396,26 @@ 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) */ "Käytettävä virtalähde. Asettaa katkaisujänniteen. <DC 10V, 3S=9.9V, 4S=13.2V, 5S=16.5V, 6S=19.8V>", - /* Sleep temperature */ "Lepolämpötila <C>", - /* Sleep timeout */ "Lepoviive <minuuttia/sekuntia>", + /* Sleep temperature */ "Lepotilan lämpötila <C>", //"Lepolämpötila <C>", + /* Sleep timeout */ "Lepotilan viive <minuuttia/sekuntia>",//"Lepoviive <minuuttia/sekuntia>", /* Shutdown timeout */ "Sammutuksen aikaviive <minuuttia>", - /* Motion sensitivity level */ "Liikeherkkyys <0=pois, 1=epäherkin, 9=herkin>", + /* Motion sensitivity level */ "Liikkeentunnistuksen herkkyys <0=pois, 1=epäherkin, 9=herkin>", //"Liikeherkkyys <0=pois, 1=epäherkin, 9=herkin>", /* Temperature in F and C */ "Lämpötilan yksikkö <C=celsius, F=fahrenheit>", - /* Advanced idle display mode enabled */ "Näyttää tarkemmat tiedot leponäytössä", - /* Display rotation mode */ "Näytön suunta <A=automaattinen O=oikeakätinen V=vasenkätinen>", + /* Advanced idle display mode enabled */ "Näytä yksityiskohtaiset tiedot lepotilassa", //"Näyttää tarkemmat tiedot leponäytössä", + /* Display rotation mode */ "Näytön kierto <A=automaattinen O=oikeakätinen V=vasenkätinen>", //"Näytön suunta <A=automaattinen O=oikeakätinen V=vasenkätinen>", /* Boost enabled */ "Etupainikeella siirrytään juotettaessa tehostustilaan ", - /* Boost temperature */ "Tehostuksen lämpötila kun käytetään tehostustilaa", - /* Automatic start mode */ "Lämmitys käynnistyy automaattisesti kun virrat kytketään. T=juottamiseen, S=lepotilaan, F=ei käytössä", + /* Boost temperature */ "Tehostustilan lämpötila", //"Tehostuksen lämpötila kun käytetään tehostustilaa", + /* Automatic start mode */ "Aloittaa lämmityksen automaattisesti kun virrat kytketään. T=juotostila, S=Lepotila, F=Ei käytössä", //"Lämmitys käynnistyy automaattisesti kun virrat kytketään. T=juottamiseen, S=lepotilaan, F=ei käytössä", /* Cooldown blink */ "Vilkutetaan näytössä lämpötilaa kun juotoskärki jäähtyy, mutta on yhä kuuma", - /* Temperature calibration enter menu */ "Kalibroidaan juotoskärjen lämpötilaero", - /* Settings reset command */ "Palautetaan kaikki asetukset alkuperäisiksi", + /* Temperature calibration enter menu */ "Kalibroi kärjen lämpötilaero", //"Kalibroidaan juotoskärjen lämpötilaero", + /* Settings reset command */ "Palauta kaikki asetukset oletusarvoihin" //"Palautetaan kaikki asetukset alkuperäisiksi", /* Calibrate input voltage */ "Tulojännitten kalibrointi (VIN). Painikkeilla säädetään ja pitkään painamalla poistutaan", - /* Advanced soldering screen enabled */ "Näytetään tarkemmat tiedot juottamisen aikana", - /* Description Scroll Speed */ "Tekstin vieritysnopeus näytöllä", + /* Advanced soldering screen enabled */ "Näytä yksityiskohtaiset tiedot juotostilassa", //"Näytetään tarkemmat tiedot juottamisen aikana", + /* Description Scroll Speed */ "Näiden ohjetekstien vieritysnopeus" ,//"Tekstin vieritysnopeus näytöllä", }; -const char* SettingsCalibrationWarning = "Älä jatka ennen kuin kärki on jäähtynyt!"; -const char* SettingsResetWarning = "Haluatko palauttaa oletusarvot?"; +const char* SettingsCalibrationWarning = "Varmista että kärki on huoneenlämpöinen ennen jatkamista!"; //"Älä jatka ennen kuin kärki on jäähtynyt!"; +const char* SettingsResetWarning = "Haluatko varmasti palauttaa oletusarvot?"; //"Haluatko palauttaa oletusarvot?"; const char* UVLOWarningString = "DC LOW"; // <=8 chars const char* UndervoltageString = "Alijännite"; // <=16 chars const char* InputVoltageString = "Jännite: "; // <=11 chars, preferably end with a space @@ -424,7 +424,7 @@ const char* BadTipString = "VIKATILA"; // <=8 chars const char* SleepingSimpleString = "Zzz"; // Must be <= 4 chars const char* SleepingAdvancedString = "Lepotila..."; // <=16 chars const char* WarningSimpleString = "HOT"; // Must be <= 4 chars -const char* WarningAdvancedString = "KUUMA KÄRKI"; // <=16 chars +const char* WarningAdvancedString = " ! KÄRKI KUUMA !"; //"KUUMA KÄRKI"; // <=16 chars const char* SleepingTipAdvancedString = "Kärki:"; // <=6 chars const char* IdleTipString = "Kärki:"; // IdleTipString+IdleSetString <= 10 const char* IdleSetString = " Asetus:"; // preferably start with a space; IdleTipString+IdleSetString <= 10 @@ -436,36 +436,36 @@ const char SettingRightChar = 'O'; const char SettingLeftChar = 'V'; const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; +const char SettingFastChar = 'N'; //'F'; +const char SettingSlowChar = 'H'; //'S'; const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; const char* SettingsShortNames[17][2] = { /* (<= 11) Power source (DC or batt) */ {"Virtalähde", "DC"}, /* (<= 9) Sleep temperature */ {"Lepotilan", "lämpötila"}, /* (<= 9) Sleep timeout */ {"Lepotilan", "viive"}, - /* (<= 10) Shutdown timeout */ {"Sammutuksen", "viive"}, + /* (<= 10) Shutdown timeout */ {"Sammutuksen", "viive"}, // Too long /* (<= 13) Motion sensitivity level */ {"Liikkeen", "herkkyys"}, /* (<= 13) Temperature in F and C */ {"Lämpötilan", "yksikkö"}, - /* (<= 13) Advanced idle display mode enabled */ {"Tarkemmat tiedot", "lepotilassa"}, + /* (<= 13) Advanced idle display mode enabled */ {"Tarkemmat tiedot", "lepotilassa"}, // Too long /* (<= 13) Display rotation mode */ {"Näytön", "esityssuunta"}, /* (<= 13) Boost enabled */ {"Tehostus", "käytössä"}, /* (<= 9) Boost temperature */ {"Tehostus", "lämpötila"}, - /* (<= 13) Automatic start mode */ {"Automattinen", "käynnistyminen"}, + /* (<= 13) Automatic start mode */ {"Automattinen", "käynnistyminen"}, // Too long /* (<= 13) Cooldown blink */ {"Jäähdytyksen", "vilkutus"}, /* (<= 16) Temperature calibration enter menu */ {"Kalibroidaanko", "lämpötila?"}, /* (<= 16) Settings reset command */ {"Palautetaanko", "tehdasasetukset?"}, /* (<= 16) Calibrate input voltage */ {"Kalibroidaanko", "tulojännite?"}, - /* (<= 13) Advanced soldering screen enabled */ {"Monipuolisempi", "juotosnäyttö"}, - /* (<= 11) Display Help Text Scroll Speed */ {"Selitteiden","näyttönopeus"}, + /* (<= 13) Advanced soldering screen enabled */ {"Monipuolisempi", "juotosnäyttö"}, // Too long + /* (<= 11) Display Help Text Scroll Speed */ {"Selitteiden","näyttönopeus"}, // Too long }; // SettingsMenuEntries lengths <= 13 per line (\n starts second line) const char* SettingsMenuEntries[4] = { - /* Soldering Menu */ "Juotos\nasetukset", - /* Power Saving Menu */ "Lepo\ntila", - /* UI Menu */ "Käyttö\nliittymä", - /* Advanced Menu */ "Lisä\nasetukset", + /* Soldering Menu */ "Juotos-\nasetukset" ,//"Juotos\nasetukset", + /* Power Saving Menu */ "Lepotilan\nasetukset", // "Lepo\ntila", + /* UI Menu */ "Käyttö-\nliittymä", //"Käyttö\nliittymä", + /* Advanced Menu */ "Lisäasetukset", // "Lisä\nasetukset", }; const char* SettingsMenuEntriesDescriptions[4] = { diff --git a/workspace/TS100/src/hardware.c b/workspace/TS100/src/hardware.c index c91a3b80..84359c11 100644 --- a/workspace/TS100/src/hardware.c +++ b/workspace/TS100/src/hardware.c @@ -62,7 +62,7 @@ uint16_t getTipInstantTemperature() { uint16_t getTipRawTemp(uint8_t instant) { #define filterDepth1 1 /*Pre filter used before PID*/ -#define filterDepth2 64 +#define filterDepth2 48 /*Post filter used for UI display*/ static uint16_t filterLayer1[filterDepth1]; static uint16_t filterLayer2[filterDepth2]; diff --git a/workspace/TS100/src/main.cpp b/workspace/TS100/src/main.cpp index bad04580..a32de0ad 100644 --- a/workspace/TS100/src/main.cpp +++ b/workspace/TS100/src/main.cpp @@ -847,6 +847,8 @@ void startPIDTask(void const *argument) { * struct * */ + setTipPWM(0); // disable the output driver if the output is set to be off + osDelay(500); int32_t integralCount = 0; int32_t derivativeLastValue = 0; int32_t kp, ki, kd; @@ -856,6 +858,11 @@ void startPIDTask(void const *argument) { // REMEBER ^^^^ These constants are backwards // They act as dividers, so to 'increase' a P term, you make the number // smaller. + if(getInputVoltageX10(systemSettings.voltageDiv) < 150) + { + //Boot P term if < 15 Volts + kp=30; + } const int32_t itermMax = 100; for (;;) { uint16_t rawTemp = getTipRawTemp(1); // get instantaneous reading @@ -865,7 +872,7 @@ void startPIDTask(void const *argument) { // 33 counts per C) // P I & D are divisors, so inverse logic applies (beware) - // Cap the max setpoint to 450C + // Cap the max set point to 450C if (currentlyActiveTemperatureTarget > ctoTipMeasurement(450)) { currentlyActiveTemperatureTarget = ctoTipMeasurement(450); } |