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

Configuration descriptor passed into display_init. More...

#include <ra8_display_pal.h>

Collaboration diagram for display_cfg_t:

Data Fields

const display_backend_iface_tiface
 Backend vtable (one of the k_display_backend_* consts).
void * framebuffer
 Application framebuffer storage (caller owns).
uint32_t framebuffer_bytes
 Size of the framebuffer buffer in bytes.
uint16_t width_px
 Visible framebuffer width in pixels.
uint16_t height_px
 Visible framebuffer height in pixels.
display_pixfmt_t pixfmt
 Pixel format of framebuffer.
const void * panel_timing
 Panel RGB timing for parallel-RGB backends, opaque here so the generic PAL stays HAL-agnostic.

Detailed Description

Configuration descriptor passed into display_init.

The caller fills this with the backend they want, the framebuffer storage they want the backend to use, and the geometry the application is targeting. Each backend validates the fields and returns an error on mismatch (e.g. an LCD backend rejects a 1bpp grey format).

Invariant
iface, framebuffer are non-NULL.
framebuffer_bytes >= stride_bytes * height_px.
Since
0.1.0

Definition at line 240 of file ra8_display_pal.h.

Field Documentation

◆ framebuffer

void* display_cfg_t::framebuffer

Application framebuffer storage (caller owns).

Definition at line 244 of file ra8_display_pal.h.

Referenced by internal_eink_snapshot(), internal_eink_validate_cfg(), internal_lcd_bringup_panel(), internal_lcd_snapshot(), and internal_lcd_validate_cfg().

◆ framebuffer_bytes

uint32_t display_cfg_t::framebuffer_bytes

Size of the framebuffer buffer in bytes.

Definition at line 246 of file ra8_display_pal.h.

Referenced by internal_eink_validate_cfg(), and internal_lcd_validate_cfg().

◆ height_px

uint16_t display_cfg_t::height_px

◆ iface

const display_backend_iface_t* display_cfg_t::iface

Backend vtable (one of the k_display_backend_* consts).

Definition at line 242 of file ra8_display_pal.h.

Referenced by display_init().

◆ panel_timing

const void* display_cfg_t::panel_timing

Panel RGB timing for parallel-RGB backends, opaque here so the generic PAL stays HAL-agnostic.

The LCD/GLCDC backend casts it to const ra8_glcdc_timing_t*; the board's BSP supplies it (e.g. &s_ra8_panel_ek_ra8d2_timing). Leave nullptr for backends that do not drive panel timing (host window, e-ink).

Definition at line 260 of file ra8_display_pal.h.

Referenced by internal_eink_init(), internal_eink_validate_cfg(), internal_lcd_bringup_panel(), and internal_lcd_validate_cfg().

◆ pixfmt

display_pixfmt_t display_cfg_t::pixfmt

Pixel format of framebuffer.

Definition at line 252 of file ra8_display_pal.h.

Referenced by internal_eink_validate_cfg(), and internal_lcd_validate_cfg().

◆ width_px

uint16_t display_cfg_t::width_px

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