add 24hr restart proc
This commit is contained in:
parent
33b231583b
commit
c99f619fe5
1 changed files with 11 additions and 0 deletions
11
node1.c
11
node1.c
|
|
@ -11,6 +11,7 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <hardware/watchdog.h>
|
||||||
|
|
||||||
// 5 sec loop is for testing
|
// 5 sec loop is for testing
|
||||||
// #define LOOP_INTERVAL_MS 5000
|
// #define LOOP_INTERVAL_MS 5000
|
||||||
|
|
@ -48,6 +49,14 @@ void comms_led_update() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Callback to reset the Pico after 24 hours
|
||||||
|
static bool cb_24h(__unused struct repeating_timer *t) {
|
||||||
|
printf("Restarting Pico after 24 hours...\n");
|
||||||
|
watchdog_enable(1, 1); // 1 ms timeout, reset on next loop
|
||||||
|
while (1) { tight_loop_contents(); } // Wait for reset
|
||||||
|
return false; // Not reached
|
||||||
|
}
|
||||||
|
|
||||||
static mqtt_client_config mqtt_config;
|
static mqtt_client_config mqtt_config;
|
||||||
|
|
||||||
static pms5003_config pms_config;
|
static pms5003_config pms_config;
|
||||||
|
|
@ -142,6 +151,8 @@ int main() {
|
||||||
|
|
||||||
struct repeating_timer timer_30;
|
struct repeating_timer timer_30;
|
||||||
add_repeating_timer_ms(LOOP_INTERVAL_MS, cb_30, NULL, &timer_30);
|
add_repeating_timer_ms(LOOP_INTERVAL_MS, cb_30, NULL, &timer_30);
|
||||||
|
struct repeating_timer timer_24h;
|
||||||
|
add_repeating_timer_ms(86400000, cb_24h, NULL, &timer_24h);
|
||||||
while (true) {
|
while (true) {
|
||||||
comms_led_update();
|
comms_led_update();
|
||||||
sleep_us(100);
|
sleep_us(100);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue