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

One pin under software edge detection. More...

Data Fields

ra8_port_pin_t pin
 Packed pin being sampled.
void(* handler )(void *arg)
 Vendored callback to invoke.
void * arg
 Opaque argument for handler.
uint8_t sense
 Edge selector, ra8_icu_irqmd_t.
uint8_t last_level
 Level seen by the previous sample.
bool used
 True while the row is occupied.

Detailed Description

One pin under software edge detection.

The stored level is what makes the detector an edge detector rather than a level poller: it is seeded at registration from a live read, so the first sampling pass compares against reality and cannot invent an edge that never happened.

Invariant
used is true exactly when handler is non-null.
sense is 0..3, using the ra8_icu_irqmd_t encoding.
last_level is 0 or 1.
Example:
struct ra8_esp_hosted_gpio_edge_row ra8_esp_hosted_gpio_edge_row_t
See also
priv_ra8_esp_hosted_gpio_edge_register
Since
0.1.0

Definition at line 112 of file ra8_esp_hosted_gpio_edge.c.

Field Documentation

◆ arg

void* ra8_esp_hosted_gpio_edge_row::arg

Opaque argument for handler.

Definition at line 115 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().

◆ handler

void(* ra8_esp_hosted_gpio_edge_row::handler) (void *arg)

Vendored callback to invoke.

Definition at line 114 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().

◆ last_level

uint8_t ra8_esp_hosted_gpio_edge_row::last_level

Level seen by the previous sample.

Definition at line 117 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().

◆ pin

ra8_port_pin_t ra8_esp_hosted_gpio_edge_row::pin

Packed pin being sampled.

Definition at line 113 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().

◆ sense

uint8_t ra8_esp_hosted_gpio_edge_row::sense

Edge selector, ra8_icu_irqmd_t.

Definition at line 116 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().

◆ used

bool ra8_esp_hosted_gpio_edge_row::used

True while the row is occupied.

Definition at line 118 of file ra8_esp_hosted_gpio_edge.c.

Referenced by priv_ra8_esp_hosted_gpio_edge_poll_once().


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