StatusCode software_timer_start(SoftTimer *timer)
Starts an initialized software timer.
Definition: software_timer.c:28
TimerHandle_t SoftTimerId
Redefine FreeRTOS TimerHandle_t to SoftTimerId.
Definition: software_timer.h:30
StatusCode software_watchdog_init(SoftwareWatchdog *watchdog, uint32_t period_ms, SoftTimerCallback fault_callback)
Initializes the software watchdog timer.
Definition: software_timer.c:72
void(* SoftTimerCallback)(SoftTimerId id)
Software timer callback function.
Definition: software_timer.h:33
uint32_t software_timer_remaining_time(SoftTimer *timer)
Gets the remaining time on a software timer.
Definition: software_timer.c:63
StatusCode software_timer_cancel(SoftTimer *timer)
Cancels a running software timer.
Definition: software_timer.c:43
StatusCode software_watchdog_stop(SoftwareWatchdog *watchdog)
Stops and disables the watchdog timer.
Definition: software_timer.c:92
StatusCode software_watchdog_kick(SoftwareWatchdog *watchdog)
"Kicks" (resets) the watchdog timer to prevent timeout
Definition: software_timer.c:84
StatusCode software_timer_reset(SoftTimer *timer)
Restarts a software timer.
Definition: software_timer.c:51
StatusCode software_timer_init_and_start(uint32_t duration_ms, SoftTimerCallback callback, SoftTimer *timer)
Initializes and starts a software timer.
Definition: software_timer.c:38
StatusCode software_timer_init(uint32_t duration_ms, SoftTimerCallback callback, SoftTimer *timer)
Creates a new software timer without starting it.
Definition: software_timer.c:17
bool software_timer_inuse(SoftTimer *timer)
Checks if a software timer is currently active.
Definition: software_timer.c:59
StatusCode
StatusCodes for various errors.
Definition: status.h:27
Soft timer storage.
Definition: software_timer.h:38
Software Watchdog Timer structure Uses a SoftTimer internally to track timeouts.
Definition: software_timer.h:47
SoftTimerCallback fault_callback
Definition: software_timer.h:50
SoftTimer timer
Definition: software_timer.h:48
uint32_t period_ms
Definition: software_timer.h:49