12 #include <picofuse/hid/event.h> 31 #define DEV_FT6236_I2C_ADDR_DEFAULT 0x38u 37 #define DEV_FT6236_MAX_POINTS 2u 276 uint32_t polling_interval_ms,
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.
void dev_ft6236_poll(dev_ft6236_t *ft6236)
Poll the controller, invoking the callback for each touch slot whose state actually changed...
Touch-oriented HID event payload.
dev_ft6236_t * dev_ft6236_init(hw_deviceio_t *device, const dev_ft6236_config_t *config)
Initialize an FT6236-compatible touch controller over I2C.
Hardware abstraction headers for on-board peripherals.
bool dev_ft6236_irq_active(const dev_ft6236_t *ft6236)
Report whether the FT6236 interrupt line is currently asserted.
hw_gpio_t * int_pin
Optional interrupt GPIO handle.
bool dev_ft6236_has_interrupt_pin(const dev_ft6236_t *ft6236)
Report whether an interrupt pin was configured for this handle.
struct hid_device_t hid_device_t
HID child-device descriptor tracked by a HID instance.
struct hid_t hid_t
Opaque HID instance handle.
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.
void(* dev_ft6236_callback_t)(dev_ft6236_t *ft6236, const hid_touch_t *touch, void *userdata)
Touch event callback invoked from dev_ft6236_poll().
Optional FT6236 initialization options.
hid_device_t * dev_ft6236_register_hid(hid_t *instance, dev_ft6236_t *ft6236, uint32_t polling_interval_ms, void *userdata)
Register an FT6236 controller as a HID touchscreen source.
void dev_ft6236_deinit(dev_ft6236_t *ft6236)
Deinitialize an FT6236 controller.
void dev_ft6236_set_callback(dev_ft6236_t *ft6236, dev_ft6236_callback_t callback, void *userdata)
Set (or replace) the callback invoked from dev_ft6236_poll().