ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_epaper_cfg_t Struct Reference

Configuration descriptor for ra8_epaper_init. More...

#include <ra8_epaper.h>

Collaboration diagram for ra8_epaper_cfg_t:

Data Fields

ra8_spi_bus_ops_t bus
 Injected SPI transfer seam (app-bound).
ra8_epaper_waveform_cfg_t waveform
 Panel's LUT waveform mode numbers.
uint16_t reset_pin
 (port<<8)|pin – panel /RESET line.
uint16_t busy_pin
 (port<<8)|pin – panel HRDY input.
uint16_t panel_width
 Native panel width in pixels.
uint16_t panel_height
 Native panel height in pixels.

Detailed Description

Configuration descriptor for ra8_epaper_init.

The driver reaches the panel exclusively through the injected bus seam (ra8_spi_bus_ops_t), so different carrier boards may pair the panel with either SPI implementation (SPI_B or SCI Simple-SPI) – the app initialises the chosen peripheral in mode 0 at up to the IT8951's 24 MHz ceiling and binds the seam, typically via ra8_io_spi_bus_as_ops(). The reset / busy GPIO pins are encoded as ra8_port_pin_t packed (port<<8 | pin) values to avoid a dependency on ra8_gpio_constants.h here.

waveform carries the panel's LUT mode numbers and is mandatory: a zero-initialised waveform map is rejected by ra8_epaper_init, so a board descriptor cannot accidentally inherit another panel's mode numbering. Derive it from the controller-reported LUT version with ra8_epaper_waveform_cfg_for_lut.

Invariant
bus.xfer8 is non-NULL and the panel dimensions are in 1 .. 4096.
waveform satisfies ra8_epaper_waveform_cfg_t's invariants.
Example:
cfg.panel_width = 1448U;
cfg.panel_height = 1072U;
ra8_err_t ra8_epaper_waveform_cfg_for_lut(const char *lut_version, ra8_epaper_waveform_cfg_t *out_cfg)
Fill a waveform map from a controller-reported LUT version.
ra8_err_t ra8_io_spi_bus_as_ops(const ra8_io_spi_bus_t *bus, ra8_spi_bus_ops_t *out)
Expose a bound bus through the Ring-3 seam ra8_spi_bus_ops_t.
Configuration descriptor for ra8_epaper_init.
Definition ra8_epaper.h:304
uint16_t panel_height
Native panel height in pixels.
Definition ra8_epaper.h:310
uint16_t panel_width
Native panel width in pixels.
Definition ra8_epaper.h:309
ra8_epaper_waveform_cfg_t waveform
Panel's LUT waveform mode numbers.
Definition ra8_epaper.h:306
ra8_spi_bus_ops_t bus
Injected SPI transfer seam (app-bound).
Definition ra8_epaper.h:305
See also
ra8_epaper_waveform_cfg_for_lut

Definition at line 304 of file ra8_epaper.h.

Field Documentation

◆ bus

ra8_spi_bus_ops_t ra8_epaper_cfg_t::bus

Injected SPI transfer seam (app-bound).

Definition at line 305 of file ra8_epaper.h.

Referenced by ra8_epaper_validate_cfg().

◆ busy_pin

uint16_t ra8_epaper_cfg_t::busy_pin

(port<<8)|pin – panel HRDY input.

Definition at line 308 of file ra8_epaper.h.

◆ panel_height

uint16_t ra8_epaper_cfg_t::panel_height

Native panel height in pixels.

Definition at line 310 of file ra8_epaper.h.

Referenced by ra8_epaper_geometry_agrees(), and ra8_epaper_validate_cfg().

◆ panel_width

uint16_t ra8_epaper_cfg_t::panel_width

Native panel width in pixels.

Definition at line 309 of file ra8_epaper.h.

Referenced by ra8_epaper_geometry_agrees(), and ra8_epaper_validate_cfg().

◆ reset_pin

uint16_t ra8_epaper_cfg_t::reset_pin

(port<<8)|pin – panel /RESET line.

Definition at line 307 of file ra8_epaper.h.

◆ waveform

ra8_epaper_waveform_cfg_t ra8_epaper_cfg_t::waveform

Panel's LUT waveform mode numbers.

Definition at line 306 of file ra8_epaper.h.

Referenced by ra8_epaper_validate_cfg().


The documentation for this struct was generated from the following file: