49typedef enum : uint8_t {
60typedef enum : uint8_t {
86typedef enum : uint16_t {
113typedef enum : uint8_t {
133typedef enum : uint8_t {
150typedef enum : uint8_t {
161typedef enum : uint8_t {
516typedef enum : uint8_t {
535typedef enum : uint8_t {
ra8_err_t ra8_adc_read_group_results(uint8_t group, uint16_t *out_buf, uint8_t *out_count)
Drain conversion results for every channel mapped to a group.
ra8_err_t ra8_adc_start_group(uint8_t group)
Kick a scan group via the per-group ADSTR register.
ra8_err_t ra8_adc_read_internal_channel(ra8_adc_internal_chan_t chan, uint16_t *out_raw)
Blocking single conversion of an internal / extended-analog channel.
ra8_adc_internal_chan_t
Internal / extended-analog channels readable through the HAL.
@ k_ra8_adc_chan_temperature
On-chip die-temperature sensor.
@ k_ra8_adc_chan_int_ref_volt
Internal reference voltage.
ra8_err_t ra8_adc_init_configured(const ra8_adc_cfg_t *cfg)
Initialise ADC_B with a full config descriptor.
ra8_err_t ra8_adc_attach_handler(ra8_adc_complete_fn_t fn, void *ctx)
Attach a conversion-complete callback.
void(* ra8_adc_complete_fn_t)(void *ctx, uint16_t result)
Conversion-complete callback.
ra8_adc_resolution_t
ADDOPCRCn.ADPRC per-channel conversion-resolution (data-format) selector.
@ k_ra8_adc_res_12bit
12-bit conversion result (ADPRC = 0b10).
@ k_ra8_adc_res_14bit
14-bit conversion result (ADPRC = 0b01).
@ k_ra8_adc_res_10bit
10-bit conversion result (ADPRC = 0b11).
@ k_ra8_adc_res_16bit
16-bit conversion result (ADPRC = 0b00).
ra8_err_t ra8_adc_set_oversampling(uint8_t channel, ra8_adc_oversample_t mode)
Programme ADDOPCRB[ch].AVEMD/ADC for a per-channel averaging mode.
ra8_err_t ra8_adc_self_diagnose(ra8_adc_selfdiag_mode_t mode, uint16_t *out_code, bool *out_pass)
Run an ADC_B built-in self-diagnosis pass on A/D unit 0.
ra8_err_t ra8_adc_read_channel(uint8_t channel, uint16_t *out_raw)
Blocking single-channel sample.
ra8_err_t ra8_adc_configure_scan_group(uint8_t group, const ra8_adc_scan_group_cfg_t *cfg)
Configure scan group group with a list of channels + trigger.
ra8_err_t ra8_adc_set_resolution(ra8_adc_resolution_t resolution)
Change the ADC conversion resolution at runtime.
ra8_err_t ra8_adc_exit_stop(void)
Exit MSTP-gated stop.
ra8_adc_trigger_t
ADCSR trigger mode.
@ k_ra8_adc_trig_elc
ELC event routed trigger.
@ k_ra8_adc_trig_external
External trigger pin.
@ k_ra8_adc_trig_software
Software trigger (write ADST).
ra8_err_t ra8_adc_get_status(uint16_t *out_mask)
Read the ADC status bits (ADCSR.ADST / ADIE).
ra8_adc_oversample_t
Per-channel ADADC.AVEMD/ADC oversampling configuration.
@ k_ra8_adc_oversample_off
Single sample, no averaging.
@ k_ra8_adc_oversample_64x
64-sample average.
@ k_ra8_adc_oversample_4x
4-sample average.
@ k_ra8_adc_oversample_16x
16-sample average.
ra8_err_t ra8_adc_enter_stop(void)
Put ADC_B into MSTP-gated stop.
ra8_adc_status_mask_t
ADCSR status mask.
@ k_ra8_adc_status_none
RA8 ADC status none.
@ k_ra8_adc_status_ie
ADCSR.ADIE.
@ k_ra8_adc_status_busy
ADCSR.ADST (conversion in flight).
ra8_adc_trigger_src_t
Per-scan-group trigger source.
@ k_ra8_adc_trig_src_software
SW kick (default).
@ k_ra8_adc_trig_src_elc
ELC event mux.
@ k_ra8_adc_trig_src_gpt
GPT compare-match.
@ k_ra8_adc_trig_src_pin
Hardware trigger pin.
ra8_err_t ra8_adc_set_compare_window(uint8_t channel, uint16_t low, uint16_t high)
Programme a window comparator for a single channel.
ra8_adc_priority_t
Scan-group priority class (FSP scan_group_priority).
@ k_ra8_adc_priority_high
RA8 ADC priority high.
@ k_ra8_adc_priority_low
RA8 ADC priority low.
ra8_err_t ra8_adc_init(void)
Legacy init – 14-bit right-aligned, software trigger.
ra8_err_t ra8_adc_deinit(void)
Tear down the ADC_B peripheral.
ra8_adc_scan_group_caps_t
Per-scan-group capacity limits for the ADC scan model.
@ k_ra8_adc_scan_group_max_channels
Maximum channels per scan group.
ra8_err_t ra8_adc_clear_status(void)
Clear the ADCSR.ADST busy bit (abort in-flight conversion).
ra8_err_t ra8_adc_set_continuous_scan(uint8_t group, bool enable)
Switch a scan group between one-shot and continuous (free-running).
void ra8_adc_dispatch_cnv_end(uint8_t channel)
Dispatch conversion-complete – read result + fire callback.
ra8_err_t ra8_adc_stop_group(uint8_t group)
Stop a scan group: clear ADSTR[group] and write ADSTOPR.
ra8_adc_selfdiag_mode_t
ADC_B built-in self-diagnosis modes (HUM Ch 53.3.11 p 3411-3414).
@ k_ra8_adc_selfdiag_mode_3
Positive full-scale.
@ k_ra8_adc_selfdiag_mode_2
Negative full-scale.
@ k_ra8_adc_selfdiag_mode_1
Zero-differential reference.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Configuration descriptor for ra8_adc_init_configured.
bool right_aligned
True -> right-align.
ra8_adc_trigger_t trigger
Trigger source.
bool scan_mode
True -> continuous scan.
ra8_adc_resolution_t resolution
16 / 14 / 12 / 10 bit.
Configuration for a single scan group.
uint8_t num_channels
1..8.
uint8_t channels[k_ra8_adc_scan_group_max_channels]
Physical-channel list.
ra8_adc_trigger_src_t trigger
Trigger source.
ra8_adc_priority_t priority
Priority class.