Fix autostart sleep
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
"SettingSlowChar": "P",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "L",
|
||||
"SettingStartSleepChar": "D",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "S"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "J",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "S",
|
||||
"SettingStartSleepChar": "R",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "N"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "H",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "A",
|
||||
"SettingStartSleepChar": "V",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "D"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "A",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "D"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "N",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "T",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "L",
|
||||
"SettingStartSleepChar": "D",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "I"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "N"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
"SettingSlowChar": "-",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
"SettingSlowChar": "P",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "С",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "L",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "S",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
"SettingSlowChar": "-",
|
||||
"SettingStartSolderingChar": "T",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
|
||||
@@ -125,6 +125,10 @@ var def =
|
||||
"id": "SettingStartSleepChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingStartSleepOffChar",
|
||||
"len": 1
|
||||
},
|
||||
{
|
||||
"id": "SettingStartNoneChar",
|
||||
"len": 1
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user