9#ifndef NEXUS_WATCHDOG_H
10#define NEXUS_WATCHDOG_H
17#define NX_RESET_POWER_ON 1u
18#define NX_RESET_PIN 2u
19#define NX_RESET_SOFTWARE 4u
20#define NX_RESET_IWDG 8u
21#define NX_RESET_WWDG 16u
22#define NX_RESET_LOW_POWER 32u
23#define NX_RESET_BROWNOUT 64u
78 uint32_t timeout_us,
bool debug_freeze,
Small vendor-independent result vocabulary.
nx_result_t
Operation result; success at submission means admission only.
Shared read-only methods using one provider state.
nx_result_t(* enable)(void *context, uint32_t timeout_us, bool debug_freeze, nx_watchdog_state_t *state)
nx_result_t(* state)(const void *context, nx_watchdog_state_t *state)
nx_result_t(* feed)(void *context)
Immutable interface pointing to caller-owned state.
const nx_watchdog_ops_t * ops
Hardware-selected timeout bounds, including declared LSI uncertainty.
uint32_t minimum_timeout_us
uint32_t maximum_timeout_us
nx_result_t nx_watchdog_port_state(const nx_watchdog_port_t *port, nx_watchdog_state_t *state)
Query current watchdog effect and timeout uncertainty.
nx_result_t nx_watchdog_port_feed(const nx_watchdog_port_t *port)
Feed an enabled IWDG without changing product health policy.
struct nx_watchdog_port nx_watchdog_port_t
nx_result_t nx_watchdog_port_enable(const nx_watchdog_port_t *port, uint32_t timeout_us, bool debug_freeze, nx_watchdog_state_t *state)
Enable IWDG with reviewed bounds; activation is irreversible.
uint32_t nx_reset_cause(void)
Read latched boot reset causes captured before clearing flags.