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

One pin served by a real ICU external-interrupt channel. More...

Data Fields

void(* handler )(void *arg)
 Vendored callback to invoke.
void * arg
 Opaque argument for handler.
ra8_port_pin_t pin
 Packed pin the channel watches.
uint8_t irq_num
 ICU external-interrupt channel, 0..15.
bool used
 True while the row is occupied.

Detailed Description

One pin served by a real ICU external-interrupt channel.

The trampoline installed with the HAL receives this row as its context, so it can reach the vendored callback without a search. The row also carries the channel number, which teardown needs and the vendored driver never learns.

Invariant
used is true exactly when handler is non-null.
irq_num is 0..15 while used is true.
Example:
struct ra8_esp_hosted_gpio_irq_row ra8_esp_hosted_gpio_irq_row_t
See also
priv_ra8_esp_hosted_gpio_bind
Since
0.1.0

Definition at line 171 of file ra8_esp_hosted_gpio.c.

Field Documentation

◆ arg

void* ra8_esp_hosted_gpio_irq_row::arg

Opaque argument for handler.

Definition at line 173 of file ra8_esp_hosted_gpio.c.

Referenced by internal_isr_trampoline().

◆ handler

void(* ra8_esp_hosted_gpio_irq_row::handler) (void *arg)

Vendored callback to invoke.

Definition at line 172 of file ra8_esp_hosted_gpio.c.

Referenced by internal_isr_trampoline().

◆ irq_num

uint8_t ra8_esp_hosted_gpio_irq_row::irq_num

ICU external-interrupt channel, 0..15.

Definition at line 175 of file ra8_esp_hosted_gpio.c.

◆ pin

ra8_port_pin_t ra8_esp_hosted_gpio_irq_row::pin

Packed pin the channel watches.

Definition at line 174 of file ra8_esp_hosted_gpio.c.

◆ used

bool ra8_esp_hosted_gpio_irq_row::used

True while the row is occupied.

Definition at line 176 of file ra8_esp_hosted_gpio.c.


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