237typedef enum : uint8_t {
ra8_err_t ra8_canfd_enter_stop(uint8_t channel)
Put the CANFD channel into MSTP-gated stop.
ra8_err_t ra8_canfd_deinit(uint8_t channel)
Put the CANFD channel back into reset.
ra8_err_t ra8_canfd_filter_set(uint16_t filter_id, uint32_t accept_id, uint32_t mask, uint8_t dlc)
Programme one Global Acceptance-Filter-List (GAFL) entry.
ra8_err_t ra8_canfd_transmit(uint8_t channel, const ra8_canfd_frame_t *frame)
Queue a frame into the TX message buffer and trigger transmission.
void ra8_canfd_dispatch(uint8_t channel)
Dispatch a CANFD event for a channel – snapshot + fire callback.
void(* ra8_canfd_event_fn_t)(void *ctx, uint8_t channel, uint32_t status_mask)
CANFD event callback.
ra8_err_t ra8_canfd_clear_status(uint8_t channel, uint32_t mask)
Clear error flags in CFDCnERFL.
ra8_err_t ra8_canfd_set_bitrate(uint8_t channel, uint32_t bitrate_bps, uint32_t data_bitrate_bps)
Programme nominal (and optional data) bit-timing registers.
ra8_err_t ra8_canfd_receive(uint8_t channel, ra8_canfd_frame_t *out_frame)
Poll the RX FIFO for the next available frame.
ra8_err_t ra8_canfd_get_error_state(uint8_t channel, uint8_t *tx_err, uint8_t *rx_err)
Read the TX and RX error counters.
ra8_err_t ra8_canfd_set_brs(uint8_t channel, uint32_t fast_bitrate)
Configure the CAN-FD bit-rate-switch (BRS) data-phase rate.
ra8_canfd_afl_capacity_t
Per-channel Acceptance-Filter-List capacity used by ra8_canfd_set_accept_filter.
@ k_ra8_canfd_afl_rule_capacity
One 16-entry AFL page (page 0).
ra8_err_t ra8_canfd_set_tdc(uint8_t channel, const ra8_canfd_tdc_cfg_t *cfg)
Configure Transmitter Delay Compensation on a CANFD channel.
ra8_err_t ra8_canfd_set_accept_filter(uint8_t channel, const ra8_canfd_afl_rule_t *rules, uint8_t count)
Program the channel Acceptance-Filter-List from a rule array.
ra8_err_t ra8_canfd_init(uint8_t channel)
Take a CANFD channel out of reset into operation mode.
ra8_err_t ra8_canfd_set_test_mode(uint8_t channel, ra8_ctms_mode_t mode)
Enable a CFDC[0].CTR test mode (basic / listen-only / loopback).
ra8_err_t ra8_canfd_exit_stop(uint8_t channel)
Exit MSTP-gated stop.
ra8_err_t ra8_canfd_get_status(uint8_t channel, uint32_t *out_mask)
Read the channel status register (CFDCnSTS).
ra8_err_t ra8_canfd_attach_handler(ra8_canfd_event_fn_t fn, void *ctx)
Attach a callback for CANFD events (shared across channels).
ra8_err_t ra8_canfd_set_iso_mode(bool enable)
Select ISO 11898-1 vs non-ISO CAN-FD framing.
CANFD controller register layout for the Renesas RA8D2.
@ k_ra8_canfd_data_bytes_max
CAN-FD payload cap in bytes.
ra8_ctms_mode_t
Channel Test Mode Select values (CFDC[0].CTR.CTMS[1:0]).
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
One Acceptance-Filter-List (AFL) rule: hardware ID/mask match plus an RX-FIFO routing target.
uint32_t id
Right-aligned accept ID (11- or 29-bit).
uint8_t target_rx
Destination RX FIFO index (0..1).
uint32_t mask
ID bit mask: 1 = must match, 0 = don't care.
bool extended
true = 29-bit extended ID, false = 11-bit std.
bool rtr
true = match remote frames, false = data frames.
A single CAN / CAN-FD frame as seen by the driver public API.
uint8_t is_fd
0 = classic CAN, 1 = CAN-FD.
uint8_t is_brs
1 = bit-rate switch in data phase.
uint32_t id
Arbitration-ID field.
uint8_t dlc
DLC code (0..15).
uint8_t data[k_ra8_canfd_data_bytes_max]
Payload bytes.
uint8_t is_extended
0 = 11-bit ID, 1 = 29-bit ID.
Transmitter Delay Compensation (TDC) configuration for one CANFD channel.
bool enable
true = enable TDC (FDCFG.TDE = 1).
bool manual
true = use TDCO offset (FDCOC = 1), false = measured FDSTS.TDCR.
uint8_t offset
TDCO offset in time quanta (0..k_ra8_canfd_tdc_offset_max).