1
0
forked from me/IronOS

Fix autostart sleep

This commit is contained in:
firebie
2020-02-05 19:03:55 +02:00
parent 97ea3b871b
commit 1b60f0c630
30 changed files with 60 additions and 10 deletions

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -32,6 +32,7 @@
"SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "S"
},
"menuDouble": false,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "J",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -33,6 +33,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -33,6 +33,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "N"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "H",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "D"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": false,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "D"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "N",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "T",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "I"
},
"menuDouble": false,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "N"
},
"menuDouble": false,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -33,6 +33,7 @@
"SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": false,

View File

@@ -32,6 +32,7 @@
"SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "С",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": false,

View File

@@ -31,6 +31,7 @@
"SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
},
"menuDouble": true,

View File

@@ -125,6 +125,10 @@ var def =
"id": "SettingStartSleepChar",
"len": 1
},
{
"id": "SettingStartSleepOffChar",
"len": 1
},
{
"id": "SettingStartNoneChar",
"len": 1

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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