33 #define DEV_FT6236_I2C_ADDR_DEFAULT 0x38u 39 #define DEV_FT6236_MAX_POINTS 2u 148 uint8_t *out_touch_count);
uint16_t x
X coordinate, in panel pixels.
struct hw_deviceio_t hw_deviceio_t
Opaque device I/O handle.
struct hw_gpio_t hw_gpio_t
GPIO logical pin structure.
struct dev_ft6236_t dev_ft6236_t
Opaque FT6236 handle.
dev_ft6236_touch_event_t
Touch contact state reported by dev_ft6236_poll().
Contact lifted - no longer touching.
dev_ft6236_touch_event_t event
Contact state for this touch slot.
Hardware abstraction headers for on-board peripherals.
An existing contact moved.
uint8_t id
Touch/track ID assigned by the controller.
bool dev_ft6236_irq_active(const dev_ft6236_t *ft6236)
Report whether the FT6236 interrupt line is currently asserted.
#define DEV_FT6236_MAX_POINTS
Maximum number of simultaneous touch contacts reported by FT6236.
bool dev_ft6236_poll(dev_ft6236_t *ft6236, dev_ft6236_touch_t touches[DEV_FT6236_MAX_POINTS], uint8_t *out_touch_count)
Poll the controller and parse the latest touch frame.
uint16_t y
Y coordinate, in panel pixels.
bool irq_active_low
True when the interrupt pin is active low.
void dev_ft6236_default_config(dev_ft6236_config_t *config)
Fill an FT6236 config struct with safe defaults.
Optional FT6236 initialization options.
dev_ft6236_t * dev_ft6236_init(hw_deviceio_t *device, hw_gpio_t *int_pin, const dev_ft6236_config_t *config)
Initialize an FT6236-compatible touch controller over I2C.
void dev_ft6236_deinit(dev_ft6236_t *ft6236)
Deinitialize an FT6236 controller.