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

One GoodIX GT911 touch device on the modelled I2C bus. More...

Data Fields

uint16_t reg_ptr
 Active 16-bit register pointer.
uint8_t ptr_bytes
 Pointer bytes captured this write (0..2).
bool click_pending
 A contact is armed and unread.
uint16_t click_x
 Armed contact X.
uint16_t click_y
 Armed contact Y.
uint32_t reported
 Contacts the firmware has drained.
uint16_t seq_x [k_gt911_seq_max]
 Queued raw-point X sequence.
uint16_t seq_y [k_gt911_seq_max]
 Queued raw-point Y sequence.
uint8_t seq_len
 Points queued in the FIFO.
uint8_t seq_pos
 Next queued point to arm.

Detailed Description

One GoodIX GT911 touch device on the modelled I2C bus.

Holds the current 16-bit register pointer (set MSB-first by the write phase) and one armed contact. A status read reports buffer-ready + one point while a contact is armed; the point0 read returns its x/y and clears the contact (counted in reported), so a tap is delivered exactly once – matching the real GT911, which drops the frame once the controller drains and acks it.

The seq_* fields hold an optional injected raw-point SEQUENCE (loaded via board_periph_touch_seq_push). While the queue is non-empty a status read auto-arms the head point, so a multi-tap flow (e.g. touch_cal's five-target calibration) drains one distinct raw point per frame with no per-chunk re-arm – the model latches the next queued touch exactly as the real GT911 latches the next physical touch after the current frame is acked.

Definition at line 227 of file board_periph_i2c.c.

Field Documentation

◆ click_pending

bool gt911_state_t::click_pending

◆ click_x

uint16_t gt911_state_t::click_x

Armed contact X.

Definition at line 231 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq(), and internal_gt911_read_point0().

◆ click_y

uint16_t gt911_state_t::click_y

Armed contact Y.

Definition at line 232 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq(), and internal_gt911_read_point0().

◆ ptr_bytes

uint8_t gt911_state_t::ptr_bytes

Pointer bytes captured this write (0..2).

Definition at line 229 of file board_periph_i2c.c.

Referenced by internal_gt911_stop(), and internal_gt911_write().

◆ reg_ptr

uint16_t gt911_state_t::reg_ptr

Active 16-bit register pointer.

Definition at line 228 of file board_periph_i2c.c.

Referenced by internal_gt911_read(), and internal_gt911_write().

◆ reported

uint32_t gt911_state_t::reported

Contacts the firmware has drained.

Definition at line 233 of file board_periph_i2c.c.

Referenced by internal_gt911_read_point0().

◆ seq_len

uint8_t gt911_state_t::seq_len

Points queued in the FIFO.

Definition at line 236 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq().

◆ seq_pos

uint8_t gt911_state_t::seq_pos

Next queued point to arm.

Definition at line 237 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq().

◆ seq_x

uint16_t gt911_state_t::seq_x[k_gt911_seq_max]

Queued raw-point X sequence.

Definition at line 234 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq().

◆ seq_y

uint16_t gt911_state_t::seq_y[k_gt911_seq_max]

Queued raw-point Y sequence.

Definition at line 235 of file board_periph_i2c.c.

Referenced by internal_gt911_arm_next_from_seq().


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