diff --git a/Translation Editor/translation_bg.json b/Translation Editor/translation_bg.json index e6077920..d1959c2a 100644 --- a/Translation Editor/translation_bg.json +++ b/Translation Editor/translation_bg.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_cs.json b/Translation Editor/translation_cs.json index 521e6b4c..90d574f0 100644 --- a/Translation Editor/translation_cs.json +++ b/Translation Editor/translation_cs.json @@ -32,6 +32,7 @@ "SettingSlowChar": "P", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_da.json b/Translation Editor/translation_da.json index f8ea0c96..b005e9d3 100644 --- a/Translation Editor/translation_da.json +++ b/Translation Editor/translation_da.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "L", "SettingStartSleepChar": "D", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "S" }, "menuDouble": false, diff --git a/Translation Editor/translation_de.json b/Translation Editor/translation_de.json index 469bf02b..0367ac6e 100644 --- a/Translation Editor/translation_de.json +++ b/Translation Editor/translation_de.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "J", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_en.json b/Translation Editor/translation_en.json index 427bd2b3..b27bfc45 100644 --- a/Translation Editor/translation_en.json +++ b/Translation Editor/translation_en.json @@ -33,6 +33,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_es.json b/Translation Editor/translation_es.json index 1eb0cfb8..e3d5b09a 100644 --- a/Translation Editor/translation_es.json +++ b/Translation Editor/translation_es.json @@ -33,6 +33,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "S", "SettingStartSleepChar": "R", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "N" }, "menuDouble": true, diff --git a/Translation Editor/translation_fi.json b/Translation Editor/translation_fi.json index 6ee40414..65d781ee 100644 --- a/Translation Editor/translation_fi.json +++ b/Translation Editor/translation_fi.json @@ -31,6 +31,7 @@ "SettingSlowChar": "H", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_fr.json b/Translation Editor/translation_fr.json index 16372fb4..8e3c74ce 100644 --- a/Translation Editor/translation_fr.json +++ b/Translation Editor/translation_fr.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "A", "SettingStartSleepChar": "V", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "D" }, "menuDouble": true, diff --git a/Translation Editor/translation_hr.json b/Translation Editor/translation_hr.json index 15928e39..1d7b1185 100644 --- a/Translation Editor/translation_hr.json +++ b/Translation Editor/translation_hr.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_hu.json b/Translation Editor/translation_hu.json index f58a8ec1..cf0c3f77 100644 --- a/Translation Editor/translation_hu.json +++ b/Translation Editor/translation_hu.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": false, diff --git a/Translation Editor/translation_it.json b/Translation Editor/translation_it.json index 8e6243c4..65c7f33d 100644 --- a/Translation Editor/translation_it.json +++ b/Translation Editor/translation_it.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "A", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "D" }, "menuDouble": true, diff --git a/Translation Editor/translation_lt.json b/Translation Editor/translation_lt.json index 9eaa4855..4370ae8d 100644 --- a/Translation Editor/translation_lt.json +++ b/Translation Editor/translation_lt.json @@ -31,6 +31,7 @@ "SettingSlowChar": "N", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_nl.json b/Translation Editor/translation_nl.json index 40164b06..4c112114 100644 --- a/Translation Editor/translation_nl.json +++ b/Translation Editor/translation_nl.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_nl_be.json b/Translation Editor/translation_nl_be.json index 6a929121..48254364 100644 --- a/Translation Editor/translation_nl_be.json +++ b/Translation Editor/translation_nl_be.json @@ -31,6 +31,7 @@ "SettingSlowChar": "T", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_no.json b/Translation Editor/translation_no.json index e2b35da5..1102a5f0 100644 --- a/Translation Editor/translation_no.json +++ b/Translation Editor/translation_no.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "L", "SettingStartSleepChar": "D", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "I" }, "menuDouble": false, diff --git a/Translation Editor/translation_pl.json b/Translation Editor/translation_pl.json index 51a4c2e8..2b923544 100644 --- a/Translation Editor/translation_pl.json +++ b/Translation Editor/translation_pl.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "N" }, "menuDouble": false, diff --git a/Translation Editor/translation_pt.json b/Translation Editor/translation_pt.json index 2b4b3a83..fb22c1c2 100644 --- a/Translation Editor/translation_pt.json +++ b/Translation Editor/translation_pt.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_ru.json b/Translation Editor/translation_ru.json index ccd2b611..aea786a3 100644 --- a/Translation Editor/translation_ru.json +++ b/Translation Editor/translation_ru.json @@ -33,6 +33,7 @@ "SettingSlowChar": "-", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_sk.json b/Translation Editor/translation_sk.json index 6a2ec47c..cee7218c 100644 --- a/Translation Editor/translation_sk.json +++ b/Translation Editor/translation_sk.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": false, diff --git a/Translation Editor/translation_sl.json b/Translation Editor/translation_sl.json index 3424d4b8..f44de36d 100644 --- a/Translation Editor/translation_sl.json +++ b/Translation Editor/translation_sl.json @@ -32,6 +32,7 @@ "SettingSlowChar": "P", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_sr_cyrl.json b/Translation Editor/translation_sr_cyrl.json index aa1ffda3..e038e1fd 100644 --- a/Translation Editor/translation_sr_cyrl.json +++ b/Translation Editor/translation_sr_cyrl.json @@ -31,6 +31,7 @@ "SettingSlowChar": "ะก", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_sr_latn.json b/Translation Editor/translation_sr_latn.json index 60a77c85..ed8bd701 100644 --- a/Translation Editor/translation_sr_latn.json +++ b/Translation Editor/translation_sr_latn.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_sv.json b/Translation Editor/translation_sv.json index 9a93fc51..a878944a 100644 --- a/Translation Editor/translation_sv.json +++ b/Translation Editor/translation_sv.json @@ -31,6 +31,7 @@ "SettingSlowChar": "L", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translation_tr.json b/Translation Editor/translation_tr.json index 626d3fa0..d55dfb9d 100644 --- a/Translation Editor/translation_tr.json +++ b/Translation Editor/translation_tr.json @@ -31,6 +31,7 @@ "SettingSlowChar": "S", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": false, diff --git a/Translation Editor/translation_uk.json b/Translation Editor/translation_uk.json index 7a3f3d9f..5187a950 100644 --- a/Translation Editor/translation_uk.json +++ b/Translation Editor/translation_uk.json @@ -31,6 +31,7 @@ "SettingSlowChar": "-", "SettingStartSolderingChar": "T", "SettingStartSleepChar": "S", + "SettingStartSleepOffChar": "O", "SettingStartNoneChar": "F" }, "menuDouble": true, diff --git a/Translation Editor/translations_def.js b/Translation Editor/translations_def.js index d6e98096..334cf518 100644 --- a/Translation Editor/translations_def.js +++ b/Translation Editor/translations_def.js @@ -125,6 +125,10 @@ var def = "id": "SettingStartSleepChar", "len": 1 }, + { + "id": "SettingStartSleepOffChar", + "len": 1 + }, { "id": "SettingStartNoneChar", "len": 1 diff --git a/workspace/TS100/Core/Inc/Translation.h b/workspace/TS100/Core/Inc/Translation.h index ea488743..61251475 100644 --- a/workspace/TS100/Core/Inc/Translation.h +++ b/workspace/TS100/Core/Inc/Translation.h @@ -52,6 +52,7 @@ extern const char *SettingLeftChar; extern const char *SettingAutoChar; extern const char *SettingStartSolderingChar; extern const char *SettingStartSleepChar; +extern const char *SettingStartSleepOffChar; extern const char *SettingStartNoneChar; extern const char *SettingFastChar; diff --git a/workspace/TS100/Core/Src/GUIThread.cpp b/workspace/TS100/Core/Src/GUIThread.cpp index 27c1bc24..8dc8a742 100644 --- a/workspace/TS100/Core/Src/GUIThread.cpp +++ b/workspace/TS100/Core/Src/GUIThread.cpp @@ -20,6 +20,7 @@ extern uint8_t PCBVersion; // File local variables extern uint32_t currentTempTargetDegC; +extern uint8_t accelInit; extern uint32_t lastMovementTime; extern int16_t idealQCVoltage; uint32_t lastButtonTime = 0; @@ -352,27 +353,28 @@ static void gui_solderingTempAdjust() { } } -static int gui_SolderingSleepingMode() { +static int gui_SolderingSleepingMode(bool stayOff) { // Drop to sleep temperature and display until movement or button press for (;;) { ButtonState buttons = getButtonState(); if (buttons) return 0; - if ((lastMovementTime > 100 && (xTaskGetTickCount() - lastMovementTime < 100)) - || (xTaskGetTickCount() - lastButtonTime < 100)) + if ((xTaskGetTickCount() > 100) + && ((accelInit && (xTaskGetTickCount() - lastMovementTime < 100)) + || (xTaskGetTickCount() - lastButtonTime < 100))) return 0; // user moved or pressed a button, go back to soldering #ifdef MODEL_TS100 if (checkVoltageForExit()) return 1; // return non-zero on error #endif if (systemSettings.temperatureInF) { - currentTempTargetDegC = TipThermoModel::convertFtoC( + currentTempTargetDegC = stayOff ? 0 : TipThermoModel::convertFtoC( min(systemSettings.SleepTemp, systemSettings.SolderingTemp)); } else { - currentTempTargetDegC = (min(systemSettings.SleepTemp, - systemSettings.SolderingTemp)); + currentTempTargetDegC = stayOff ? 0 : min(systemSettings.SleepTemp, + systemSettings.SolderingTemp); } // draw the lcd uint16_t tipTemp; @@ -460,7 +462,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) { else sleepThres = (systemSettings.SleepTime - 5) * 60 * 100; if (jumpToSleep) { - if (gui_SolderingSleepingMode()) { + if (gui_SolderingSleepingMode(jumpToSleep == 2)) { lastButtonTime = xTaskGetTickCount(); return; // If the function returns non-0 then exit } @@ -594,7 +596,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) { if (systemSettings.sensitivity && systemSettings.SleepTime) if (xTaskGetTickCount() - lastMovementTime > sleepThres && xTaskGetTickCount() - lastButtonTime > sleepThres) { - if (gui_SolderingSleepingMode()) { + if (gui_SolderingSleepingMode(false)) { return; // If the function returns non-0 then exit } } @@ -715,11 +717,16 @@ void startGUITask(void const *argument __unused) { gui_solderingMode(0); buttonLockout = true; } - if (systemSettings.autoStartMode == 2) + else if (systemSettings.autoStartMode == 2) { gui_solderingMode(1); buttonLockout = true; } + else if (systemSettings.autoStartMode == 3) + { + gui_solderingMode(2); + buttonLockout = true; + } } #ifdef ACCELDEBUG diff --git a/workspace/TS100/Core/Src/gui.cpp b/workspace/TS100/Core/Src/gui.cpp index f22a751a..7fddf5da 100644 --- a/workspace/TS100/Core/Src/gui.cpp +++ b/workspace/TS100/Core/Src/gui.cpp @@ -564,7 +564,7 @@ static void settings_displayBoostTemp(void) { static void settings_setAutomaticStartMode(void) { systemSettings.autoStartMode++; - systemSettings.autoStartMode %= 3; + systemSettings.autoStartMode %= 4; } static void settings_displayAutomaticStartMode(void) { @@ -580,6 +580,9 @@ static void settings_displayAutomaticStartMode(void) { case 2: OLED::print(SettingStartSleepChar); break; + case 3: + OLED::print(SettingStartSleepOffChar); + break; default: OLED::print(SettingStartNoneChar); break; diff --git a/workspace/TS100/Core/Src/main.cpp b/workspace/TS100/Core/Src/main.cpp index d11b1198..cd76dcb3 100644 --- a/workspace/TS100/Core/Src/main.cpp +++ b/workspace/TS100/Core/Src/main.cpp @@ -15,6 +15,7 @@ uint8_t PCBVersion = 0; // File local variables uint32_t currentTempTargetDegC = 0; // Current temperature target in C +uint8_t accelInit = 0; uint32_t lastMovementTime = 0; bool settingsWereReset = false; @@ -262,6 +263,15 @@ void startMOVTask(void const *argument __unused) { datax[currentPointer] = (int32_t) tx; datay[currentPointer] = (int32_t) ty; dataz[currentPointer] = (int32_t) tz; + if (!accelInit) + { + for (uint8_t i = currentPointer + 1; i < MOVFilter; i++) { + datax[i] = (int32_t) tx; + datay[i] = (int32_t) ty; + dataz[i] = (int32_t) tz; + } + accelInit = 1; + } currentPointer = (currentPointer + 1) % MOVFilter; avgx = avgy = avgz = 0; // calculate averages