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

Full configuration descriptor for ra8_ceu_init. More...

#include <ra8_ceu_types.h>

Collaboration diagram for ra8_ceu_config_t:

Data Fields

uint16_t width_px
 Captured image width (CMCYR.HCYL).
uint16_t height_px
 Captured image height (CMCYR.VCYL).
uint16_t x_start_px
 CAMOR.HOFST start offset.
uint16_t y_start_px
 CAMOR.VOFST start offset.
uint16_t x_capture_px
 CAPWR.HWDTH capture width cycles.
uint16_t y_capture_lines
 CAPWR.VWDTH capture line count.
uint16_t dst_stride
 Destination stride bytes (CDWDR).
uint8_t frame_drop
 CAPCR.FDRP[7:0].
uint8_t bytes_per_pixel
 Used to derive scaled stride.
uint32_t interrupts
 CEIER bitmask (k_ra8_ceu_evt_*).
ra8_ceu_capture_format_t capture_format
 CAMCR.JPG.
ra8_ceu_capture_mode_t capture_mode
 CAPCR.CTNCP single/continuous.
ra8_ceu_data_bus_t data_bus
 CAMCR.DTIF.
ra8_ceu_polarity_t hsync_polarity
 CAMCR.HDPOL.
ra8_ceu_polarity_t vsync_polarity
 CAMCR.VDPOL.
ra8_ceu_polarity_t field_polarity
 CAMCR.FLDPOL.
ra8_ceu_input_order_t input_order
 CAMCR.DTARY (image mode).
ra8_ceu_output_format_t output_format
 CDOCR.CDS YCbCr 422/420.
ra8_ceu_burst_mode_t burst_mode
 CAPCR.MTCM bus burst size.
ra8_ceu_field_select_t first_field
 CAIFR.FCI.
ra8_ceu_edge_info_t edge
 CAMCR.DSEL/HDSEL/VDSEL/FLDSEL.
ra8_ceu_byte_swap_t byte_swap
 CDOCR.COBS/COWS/COLS.
ra8_ceu_scale_t scale
 CFLCR + CFSZR scale-down.
bool interlace
 CAIFR.IFS = 1 if true.
bool one_field_only
 CAIFR.CIM = 1 if true.
bool bundle_write
 CDOCR.CBE = 1 if true.
bool low_pass_filter
 CLFCR.LPF = 1 if true.
uint32_t image_area_size
 For data-enable firewall window.

Detailed Description

Full configuration descriptor for ra8_ceu_init.

Every CEU register that has to be programmed at open time is driven from this single struct. Optional features are switched on/off by a flag instead of needing a separate setter call:

  • Set interlace to enable interlace capture (CAIFR.IFS=1).
  • Set bundle_write to enable bundle-write mode (CDOCR.CBE=1).
  • Set low_pass_filter to enable the input LPF (CLFCR.LPF=1).
  • Set scale.h_* or scale.v_* non-zero to enable scale-down.

cppcheck cannot see tests/ so it flags every field as unused; each member is read in ra8_ceu_init in libs/ra8_hal/src/ra8_ceu.c.

Definition at line 265 of file ra8_ceu_types.h.

Field Documentation

◆ bundle_write

bool ra8_ceu_config_t::bundle_write

CDOCR.CBE = 1 if true.

Definition at line 291 of file ra8_ceu_types.h.

Referenced by internal_pack_cdocr().

◆ burst_mode

ra8_ceu_burst_mode_t ra8_ceu_config_t::burst_mode

CAPCR.MTCM bus burst size.

Definition at line 284 of file ra8_ceu_types.h.

Referenced by internal_pack_capcr().

◆ byte_swap

ra8_ceu_byte_swap_t ra8_ceu_config_t::byte_swap

CDOCR.COBS/COWS/COLS.

Definition at line 287 of file ra8_ceu_types.h.

Referenced by internal_pack_cdocr().

◆ bytes_per_pixel

uint8_t ra8_ceu_config_t::bytes_per_pixel

Used to derive scaled stride.

Definition at line 274 of file ra8_ceu_types.h.

◆ capture_format

◆ capture_mode

ra8_ceu_capture_mode_t ra8_ceu_config_t::capture_mode

CAPCR.CTNCP single/continuous.

Definition at line 277 of file ra8_ceu_types.h.

Referenced by internal_pack_capcr(), and ra8_ceu_init().

◆ data_bus

ra8_ceu_data_bus_t ra8_ceu_config_t::data_bus

CAMCR.DTIF.

Definition at line 278 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ dst_stride

uint16_t ra8_ceu_config_t::dst_stride

Destination stride bytes (CDWDR).

Definition at line 272 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_destination().

◆ edge

ra8_ceu_edge_info_t ra8_ceu_config_t::edge

CAMCR.DSEL/HDSEL/VDSEL/FLDSEL.

Definition at line 286 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ field_polarity

ra8_ceu_polarity_t ra8_ceu_config_t::field_polarity

CAMCR.FLDPOL.

Definition at line 281 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ first_field

ra8_ceu_field_select_t ra8_ceu_config_t::first_field

CAIFR.FCI.

Definition at line 285 of file ra8_ceu_types.h.

Referenced by internal_pack_caifr().

◆ frame_drop

uint8_t ra8_ceu_config_t::frame_drop

CAPCR.FDRP[7:0].

Definition at line 273 of file ra8_ceu_types.h.

Referenced by internal_pack_capcr().

◆ height_px

uint16_t ra8_ceu_config_t::height_px

Captured image height (CMCYR.VCYL).

Definition at line 267 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry().

◆ hsync_polarity

ra8_ceu_polarity_t ra8_ceu_config_t::hsync_polarity

CAMCR.HDPOL.

Definition at line 279 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ image_area_size

uint32_t ra8_ceu_config_t::image_area_size

For data-enable firewall window.

Definition at line 293 of file ra8_ceu_types.h.

Referenced by internal_ceu_cfg_valid(), and ra8_ceu_init().

◆ input_order

ra8_ceu_input_order_t ra8_ceu_config_t::input_order

CAMCR.DTARY (image mode).

Definition at line 282 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ interlace

bool ra8_ceu_config_t::interlace

CAIFR.IFS = 1 if true.

Definition at line 289 of file ra8_ceu_types.h.

Referenced by internal_pack_caifr().

◆ interrupts

uint32_t ra8_ceu_config_t::interrupts

CEIER bitmask (k_ra8_ceu_evt_*).

Definition at line 275 of file ra8_ceu_types.h.

Referenced by ra8_ceu_init().

◆ low_pass_filter

bool ra8_ceu_config_t::low_pass_filter

CLFCR.LPF = 1 if true.

Definition at line 292 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_destination().

◆ one_field_only

bool ra8_ceu_config_t::one_field_only

CAIFR.CIM = 1 if true.

Definition at line 290 of file ra8_ceu_types.h.

Referenced by internal_pack_caifr().

◆ output_format

ra8_ceu_output_format_t ra8_ceu_config_t::output_format

CDOCR.CDS YCbCr 422/420.

Definition at line 283 of file ra8_ceu_types.h.

Referenced by internal_pack_cdocr().

◆ scale

ra8_ceu_scale_t ra8_ceu_config_t::scale

CFLCR + CFSZR scale-down.

Definition at line 288 of file ra8_ceu_types.h.

Referenced by internal_pack_cflcr(), and internal_pack_cfszr().

◆ vsync_polarity

ra8_ceu_polarity_t ra8_ceu_config_t::vsync_polarity

CAMCR.VDPOL.

Definition at line 280 of file ra8_ceu_types.h.

Referenced by internal_pack_camcr().

◆ width_px

uint16_t ra8_ceu_config_t::width_px

Captured image width (CMCYR.HCYL).

Definition at line 266 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry(), and ra8_ceu_init().

◆ x_capture_px

uint16_t ra8_ceu_config_t::x_capture_px

CAPWR.HWDTH capture width cycles.

Definition at line 270 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry().

◆ x_start_px

uint16_t ra8_ceu_config_t::x_start_px

CAMOR.HOFST start offset.

Definition at line 268 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry().

◆ y_capture_lines

uint16_t ra8_ceu_config_t::y_capture_lines

CAPWR.VWDTH capture line count.

Definition at line 271 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry().

◆ y_start_px

uint16_t ra8_ceu_config_t::y_start_px

CAMOR.VOFST start offset.

Definition at line 269 of file ra8_ceu_types.h.

Referenced by priv_ra8_ceu_program_geometry().


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