aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBen V. Brown <[email protected]>2018-04-13 10:11:50 +1000
committerBen V. Brown <[email protected]>2018-04-13 10:11:50 +1000
commitf2f20111b6c7e3ca6263737aed1bd5dad5d4ae86 (patch)
tree6a8c889a4276a022889d4018ec93b979902fa66f
parent58061e3c2646ab0f6a4321b3279c9518e6c84c21 (diff)
downloadIronOS-f2f20111b6c7e3ca6263737aed1bd5dad5d4ae86.tar.gz
IronOS-f2f20111b6c7e3ca6263737aed1bd5dad5d4ae86.zip
Force settings reset for 2.04v2.04-RC1
Also updates FI to #267 but wont be built in releases until string lengths fit.
-rw-r--r--workspace/TS100/inc/Settings.h2
-rw-r--r--workspace/TS100/src/Translation.cpp50
-rw-r--r--workspace/TS100/src/hardware.c2
-rw-r--r--workspace/TS100/src/main.cpp9
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);
}