Harden shutter timeouts

This commit is contained in:
Theo Arends 2024-08-16 11:53:58 +02:00
parent 652b9cef87
commit c0eb28dae9
2 changed files with 24 additions and 0 deletions

View File

@ -215,10 +215,16 @@ void ShutterAllowPreStartProcedure(uint8_t i) {
#ifdef USE_RULES
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("SHT: Delay Start? var%d <99>=<%s>, max10s?"),i + 1, rules_vars[i]);
// wait for response from rules
/*
uint32_t start_time = millis();
while (TimePassedSince(start_time) < 10000 && (String)rules_vars[i] == "99") {
delay(1);
}
*/
uint32_t end_time = millis() + 10000;
while (!TimeReached(end_time) && (String)rules_vars[i] == "99") {
delay(1);
}
#endif // USE_RULES
}
@ -1383,10 +1389,16 @@ void ShutterUpdateVelocity(uint8_t i)
void ShutterWaitForMotorStart(uint8_t i)
{
/*
uint32_t start_time = Shutter[i].last_stop_time;
while (TimePassedSince(start_time) < ShutterSettings.shutter_motorstop && TimePassedSince(start_time) > 0) {
loop();
}
*/
uint32_t end_time = Shutter[i].last_stop_time + ShutterSettings.shutter_motorstop;
while (!TimeReached(end_time)) {
loop();
}
//AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("SHT: Stoptime done"));
}

View File

@ -654,10 +654,16 @@ void ShutterWaitForMotorStop(uint8_t i)
void ShutterWaitForMotorStart(uint8_t i)
{
/*
uint32_t start_time = Shutter[i].last_stop_time;
while (TimePassedSince(start_time) < Settings->shutter_motorstop && TimePassedSince(start_time) > 0) {
loop();
}
*/
uint32_t end_time = Shutter[i].last_stop_time + Settings->shutter_motorstop;
while (!TimeReached(end_time)) {
loop();
}
//AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("SHT: Stoptime done"));
}
@ -734,10 +740,16 @@ void ShutterAllowPreStartProcedure(uint8_t i) {
#ifdef USE_RULES
AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("SHT: Delay Start? var%d <99>=<%s>, max10s?"),i + 1, rules_vars[i]);
// wait for response from rules
/*
uint32_t start_time = millis();
while (TimePassedSince(start_time) < 10000 && (String)rules_vars[i] == "99") {
delay(1);
}
*/
uint32_t end_time = millis() + 10000;
while (!TimeReached(end_time) && (String)rules_vars[i] == "99") {
delay(1);
}
#endif // USE_RULES
}