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_lvd_disable_elc_event(ra8_lvd_channel_t channel)
Disable the ELC event-out path for an m channel.
ra8_err_t ra8_lvd_cancel_deep_standby_path(void)
Clear PVDmCR0.RI on every m channel so Deep Software Standby modes 2 and 3 are reachable.
ra8_err_t ra8_lvd_attach_channel_handler(ra8_lvd_channel_t channel, ra8_lvd_event_fn_t fn, void *ctx)
Attach a per-channel callback (overrides the shared callback).
ra8_err_t ra8_lvd_channel_deinit(ra8_lvd_channel_t channel)
Tear one channel back down to its reset state.
ra8_err_t ra8_lvd_enable_cmpe(ra8_lvd_channel_t channel)
Drive PVDmCR0.CMPE / PVDnCR0.CMPE high for a channel.
ra8_err_t ra8_lvd_clear_status(ra8_lvd_channel_t channel)
Clear the latched DET flag on one channel (write-0-to-clear).
ra8_err_t ra8_lvd_disable_reset(ra8_lvd_channel_t channel)
Drop the reset enable bit (RIE for m, RE for n).
ra8_err_t ra8_lvd_get_status(ra8_lvd_channel_t channel, ra8_lvd_status_t *out)
Read the DET and MON flags for one channel.
ra8_err_t ra8_lvd_set_irq_edge(ra8_lvd_channel_t channel, ra8_lvd_edge_t edge)
Live update of PVDmCR1.IDTSEL[1:0] (edge select) for an m channel.
ra8_err_t ra8_lvd_enable_irq(ra8_lvd_channel_t channel)
Enable interrupt-on-cross for a monitor m channel.
ra8_err_t ra8_lvd_relock_n_channels(void)
Permanently re-lock PVD4/PVD5 by writing any value to PVDLR.
ra8_err_t ra8_lvd_configure_for_standby(ra8_lvd_channel_t channel)
Configure a channel for Software / Deep Software Standby use.
ra8_err_t ra8_lvd_set_threshold(ra8_lvd_channel_t channel, ra8_lvd_pvdlvl_t threshold)
Change a channel's threshold without tearing the rest of its config.
ra8_err_t ra8_lvd_set_negate_mode(ra8_lvd_channel_t channel, ra8_lvd_negate_t negate)
Update PVDmCR0.RN reset-negate timing on an m channel.
ra8_err_t ra8_lvd_set_irq_kind(ra8_lvd_channel_t channel, ra8_lvd_irq_type_t kind)
Live update of PVDmCR1.IRQSEL (NMI vs maskable) on an m channel.
uint32_t ra8_lvd_filter_delay_us(ra8_lvd_loco_div_t div, uint32_t loco_hz)
Compute the required "2s + 3 LOCO cycles" wait in microseconds.
ra8_err_t ra8_lvd_set_filter(ra8_lvd_channel_t channel, ra8_lvd_loco_div_t filter_div, bool filter_en)
Tune the digital filter (FSAMP[1:0] + DFDIS) on one channel.
ra8_err_t ra8_lvd_disable_irq(ra8_lvd_channel_t channel)
Drop PVDmCR0.RIE for one channel.
ra8_err_t ra8_lvd_enable_reset(ra8_lvd_channel_t channel)
Enable the reset path for a channel.
void ra8_lvd_dispatch(ra8_lvd_channel_t channel)
Demux a PVD ISR – invoke the registered callback for channel.
ra8_err_t ra8_lvd_channel_init(ra8_lvd_channel_t channel, const ra8_lvd_cfg_t *cfg)
Configure one PVD channel from a full descriptor.
ra8_err_t ra8_lvd_set_hysteresis_mode(ra8_lvd_channel_t channel, ra8_lvd_hysteresis_t hyst)
Update PVDmFCR.RHSEL / PVDnFCR.RHSEL hysteresis-band selector.
ra8_err_t ra8_lvd_set_security(uint32_t mask)
Update PVDSAR.NONSEC0 / NONSEC1 to expose PVD1/PVD2 to non-secure.
ra8_err_t ra8_lvd_enable_elc_event(ra8_lvd_channel_t channel)
Enable the ELC event-out path for an m channel.
ra8_err_t ra8_lvd_attach_handler(ra8_lvd_event_fn_t fn, void *ctx)
Attach a single shared callback for every PVD channel.
ra8_err_t ra8_lvd_disable_cmpe(ra8_lvd_channel_t channel)
Drop PVDmCR0.CMPE / PVDnCR0.CMPE for a channel.
ra8_err_t ra8_lvd_unlock_n_channels(void)
Unlock PVD4/PVD5 control registers via PVDLR.
Programmable Voltage Detection (PVD / LVD) HAL types.
ra8_lvd_loco_div_t
PVDmCR0.FSAMP[1:0] / PVDnCR0.FSAMP[1:0] sampling-clock divider.
ra8_lvd_negate_t
PVDmCR0.RN value – reset deassertion timing.
ra8_lvd_hysteresis_t
PVDmFCR.RHSEL / PVDnFCR.RHSEL value.
ra8_lvd_irq_type_t
PVDmCR1.IRQSEL value – NMI vs maskable interrupt.
void(* ra8_lvd_event_fn_t)(void *ctx, ra8_lvd_channel_t channel)
PVD threshold-crossing callback.
ra8_lvd_pvdlvl_t
PVDLVL[4:0] threshold encoding for PVDmCMPCR / PVDnCMPCR.
ra8_lvd_edge_t
PVDmCR1.IDTSEL[1:0] edge selector for monitor m channels.
ra8_lvd_channel_t
Voltage-monitor channel selector.
Configuration descriptor for ra8_lvd_channel_init.