ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_iwdt.h
Go to the documentation of this file.
1
26
27#pragma once
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#include <stdint.h>
34
35#include "ra8_err.h"
36
52
59typedef void (*ra8_iwdt_event_fn_t)(void* ctx, uint16_t status_mask);
60
66[[nodiscard]] ra8_err_t ra8_iwdt_init(void);
67
84
91[[nodiscard]] ra8_err_t ra8_iwdt_get_status(uint16_t* out_mask);
92
104[[nodiscard]] ra8_err_t ra8_iwdt_clear_status(void);
105
123[[nodiscard]] ra8_err_t ra8_iwdt_get_counter(uint16_t* out_counter);
124
132[[nodiscard]] ra8_err_t ra8_iwdt_attach_handler(ra8_iwdt_event_fn_t fn, void* ctx);
133
147void ra8_iwdt_dispatch(void);
148
149#ifdef __cplusplus
150}
151#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
void ra8_iwdt_dispatch(void)
Dispatch an IWDT NMI event – snapshot status + fire callback.
Definition ra8_iwdt.c:141
ra8_iwdt_status_mask_t
IWDTSR status bits exposed to callers.
Definition ra8_iwdt.h:47
@ k_ra8_iwdt_status_none
RA8 iwdt status none.
Definition ra8_iwdt.h:48
@ k_ra8_iwdt_status_refresh
IWDTSR.REFEF bit 15.
Definition ra8_iwdt.h:50
@ k_ra8_iwdt_status_underflow
IWDTSR.UNDFF bit 14.
Definition ra8_iwdt.h:49
ra8_err_t ra8_iwdt_init(void)
Initialise the IWDT driver layer.
Definition ra8_iwdt.c:69
void(* ra8_iwdt_event_fn_t)(void *ctx, uint16_t status_mask)
IWDT NMI underflow event callback.
Definition ra8_iwdt.h:59
ra8_err_t ra8_iwdt_attach_handler(ra8_iwdt_event_fn_t fn, void *ctx)
Attach a handler for the IWDT NMI event.
Definition ra8_iwdt.c:133
ra8_err_t ra8_iwdt_get_status(uint16_t *out_mask)
Read the IWDTSR status bits (UNDFF / REFEF only).
Definition ra8_iwdt.c:100
ra8_err_t ra8_iwdt_get_counter(uint16_t *out_counter)
Read the live 14-bit IWDT down-counter (CNTVAL).
Definition ra8_iwdt.c:124
void ra8_iwdt_refresh_deferred(void)
Refresh the IWDT counter via a wrapper function.
Definition ra8_iwdt.c:94
ra8_err_t ra8_iwdt_clear_status(void)
Clear the underflow / refresh-error flags via IWDTSR write.
Definition ra8_iwdt.c:110