diff options
| author | Jan200101 <sentrycraft123@gmail.com> | 2025-08-03 16:02:05 +0200 |
|---|---|---|
| committer | Jan200101 <sentrycraft123@gmail.com> | 2025-08-03 16:02:05 +0200 |
| commit | b2d6fc09e228626e1e43ff42e6910bb7eec5954a (patch) | |
| tree | 97abc2129f2ec10170d5aca5a9b9fbeb7dda5579 /src | |
| parent | 908e46ee4905c14766aff39f9ddb693e3b0d5207 (diff) | |
| download | pico-relay-b2d6fc09e228626e1e43ff42e6910bb7eec5954a.tar.gz pico-relay-b2d6fc09e228626e1e43ff42e6910bb7eec5954a.zip | |
rework sleeping logic so that status isn't requested often
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -23,8 +23,8 @@ static int no_response_counter = 0; static err_t error; absolute_time_t wifi_connected_time; -// 2 minutes -#define SLEEP_TIME (5 * 1000) +#define SHORT_SLEEP_TIME (5*1000) // 5 secs, needs to be under 8 for watchdog +#define SLEEP_TIME (5*60*1000) // 5 mins #define LEVEL_START 95.0 #define LEVEL_END 85.0 @@ -177,9 +177,16 @@ int main() last_state = state; } - watchdog_update(); - LogInfo("sleeping..."); - sleep_ms(SLEEP_TIME); + absolute_time_t until = make_timeout_time_ms(SLEEP_TIME); + while (true) + { + LogInfo("sleeping..."); + watchdog_update(); + if (time_reached(until)) + break; + + sleep_ms(SHORT_SLEEP_TIME); + } set_led(!get_led()); busy_wait_ms(100); @@ -194,6 +201,6 @@ int main() // toggle the light on and off to signify something went wrong while (true) { set_led(!get_led()); - busy_wait_ms(1000); + busy_wait_ms(750); } } |
