|
@ -99,6 +99,10 @@ bool Power::is_power_needed() { |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifndef POWER_TIMEOUT |
|
|
|
|
|
#define POWER_TIMEOUT 0 |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
void Power::check() { |
|
|
void Power::check() { |
|
|
static millis_t nextPowerCheck = 0; |
|
|
static millis_t nextPowerCheck = 0; |
|
|
millis_t ms = millis(); |
|
|
millis_t ms = millis(); |
|
@ -106,7 +110,7 @@ void Power::check() { |
|
|
nextPowerCheck = ms + 2500UL; |
|
|
nextPowerCheck = ms + 2500UL; |
|
|
if (is_power_needed()) |
|
|
if (is_power_needed()) |
|
|
power_on(); |
|
|
power_on(); |
|
|
else if (!lastPowerOn || ELAPSED(ms, lastPowerOn + SEC_TO_MS(POWER_TIMEOUT))) |
|
|
else if (!lastPowerOn || (POWER_TIMEOUT > 0 && ELAPSED(ms, lastPowerOn + SEC_TO_MS(POWER_TIMEOUT)))) |
|
|
power_off(); |
|
|
power_off(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|