Release 260111
This commit is contained in:
21
panda/board/drivers/simple_watchdog.h
Normal file
21
panda/board/drivers/simple_watchdog.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#include "simple_watchdog_declarations.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();
|
||||
}
|
||||
Reference in New Issue
Block a user