57typedef enum : uint8_t {
137typedef enum : uint8_t {
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
ra8_err_t ra8_rtc_clock_init(ra8_rtc_clk_src_t src)
Bring up and select the RTC count source (HUM Fig 26.3).
ra8_err_t ra8_rtc_set_alarm(const ra8_rtc_datetime_t *alarm)
Programme the alarm-match registers (hour/minute/second).
void(* ra8_rtc_event_fn_t)(void *ctx, uint8_t status_mask)
RTC event callback.
ra8_err_t ra8_rtc_init(void)
Start the RTC in 24-hour calendar mode.
ra8_err_t ra8_rtc_deinit(void)
Tear down the RTC (stop counter + disable IRQs).
ra8_err_t ra8_rtc_clear_status(uint8_t mask)
Clear RCR1 IRQ enable bits.
ra8_rtc_clk_src_t
RTC count-source selection (RCR4.RCKSEL encoding).
@ k_ra8_rtc_clk_subclock
RCKSEL=0: 32.768 kHz sub-clock crystal (SOSC).
@ k_ra8_rtc_clk_loco
RCKSEL=1: internal LOCO (~32.768 kHz, crystal-free).
ra8_err_t ra8_rtc_set(const ra8_rtc_datetime_t *dt)
Write the calendar registers.
ra8_rtc_irq_mask_t
RCR1 IRQ enable bits.
@ k_ra8_rtc_irq_periodic
RCR1.PIE.
@ k_ra8_rtc_irq_carry
RCR1.CIE.
@ k_ra8_rtc_irq_alarm
RCR1.AIE.
@ k_ra8_rtc_irq_none
RA8 rtc IRQ none.
ra8_err_t ra8_rtc_get(ra8_rtc_datetime_t *out)
Read the calendar registers.
ra8_err_t ra8_rtc_exit_stop(void)
Restart the RTC counter from stop.
ra8_err_t ra8_rtc_get_status(uint8_t *out_mask)
Read RCR1 IRQ enable bits.
ra8_err_t ra8_rtc_set_irq_enable(uint8_t mask)
Enable one or more RTC IRQ sources via RCR1.
ra8_err_t ra8_rtc_attach_handler(ra8_rtc_event_fn_t fn, void *ctx)
Attach a callback for the RTC alarm / periodic event.
void ra8_rtc_dispatch(void)
Dispatch an RTC event – snapshot RCR1 + fire callback.
ra8_err_t ra8_rtc_enter_stop(void)
Stop the RTC counter for low-power mode.
Calendar date + time decoded from BCD.