mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-18 12:33:43 +08:00
e6f1167410
version: sunnypilot v2026.003.000 (dev)
date: 2026-09-14T15:43:50
master commit: a5f44653d7
22 lines
533 B
C
22 lines
533 B
C
#include "board/drivers/drivers.h"
|
|
|
|
static simple_watchdog_state_t wd_state;
|
|
|
|
void simple_watchdog_kick(void) {
|
|
uint32_t ts = microsecond_timer_get();
|
|
|
|
uint32_t et = get_ts_elapsed(ts, wd_state.last_ts);
|
|
if (et > wd_state.threshold) {
|
|
print("WD timeout 0x"); puth(et); print("\n");
|
|
fault_occurred(wd_state.fault);
|
|
}
|
|
|
|
wd_state.last_ts = ts;
|
|
}
|
|
|
|
void simple_watchdog_init(uint32_t fault, uint32_t threshold) {
|
|
wd_state.fault = fault;
|
|
wd_state.threshold = threshold;
|
|
wd_state.last_ts = microsecond_timer_get();
|
|
}
|