|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
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. | |
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.
| bool gt911_state_t::click_pending |
A contact is armed and unread.
Definition at line 230 of file board_periph_i2c.c.
Referenced by internal_gt911_arm_next_from_seq(), internal_gt911_read_point0(), internal_gt911_read_status(), and internal_gt911_write().
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().