70typedef enum : uint8_t {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_TEST_HELPER
Mark a symbol as externally-linked but only callable from tests.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Injected I2C-bus seam consumed by Ring-3 I2C device drivers.
void(* ra8_touch_event_fn_t)(void *ctx)
Touch-event callback signature.
ra8_err_t ra8_touch_close(void)
Tear the driver down and detach any registered handler.
ra8_err_t ra8_touch_open(const ra8_touch_cfg_t *cfg)
Bring up the touch IC over the injected I2C bus seam.
ra8_err_t ra8_touch_read(ra8_touch_point_t *out_points, uint8_t max_count, uint8_t *got_count)
Drain the current touch frame.
void ra8_touch_dispatch_irq(void)
Test-callable IRQ dispatch shim.
ra8_err_t ra8_touch_attach_handler(ra8_touch_event_fn_t fn, void *ctx)
Register a touch event callback.
ra8_touch_limits_t
Static-allocation caps for the touch driver.
@ k_ra8_touch_irq_pin_unset
Sentinel for "no IRQ pin attached".
@ k_ra8_touch_max_points
Hard cap (matches GT911 capacity).
ra8_err_t ra8_touch_calibrate(void)
Run any backend-specific calibration routine.
Caller-filled I2C controller-transfer seam (write / read / write-then-read).
Configuration descriptor for ra8_touch_open.
uint8_t max_points
Cap on touches reported (clamped to 5).
ra8_i2c_bus_ops_t bus
Injected I2C transfer seam (app-bound).
uint8_t target_7b
7-bit GT911 address (0x5D or 0x14).
uint8_t irq_pin
IRQ pin 0..31, or k_ra8_touch_irq_pin_unset for polling-only.
One decoded touch contact.
uint16_t x
Panel X coordinate.
uint16_t y
Panel Y coordinate.
uint8_t track_id
Persistent contact id (0..15).
uint8_t pressure
Approximate pressure / contact-area, 0..255.