| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #ifndef LUAT_TP_H
- #define LUAT_TP_H
- #include "luat_mcu.h"
- #include "luat_rtos.h"
- #include "luat_i2c.h"
- #define LUAT_TP_TOUCH_MAX 10
- typedef struct luat_tp_config luat_tp_config_t;
- typedef struct luat_tp_opts luat_tp_opts_t;
- enum{
- LUAT_TP_ROTATE_0 = 0,
- LUAT_TP_ROTATE_90,
- LUAT_TP_ROTATE_180,
- LUAT_TP_ROTATE_270,
- };
- typedef struct{
- uint32_t timestamp;
- uint16_t x_coordinate;
- uint16_t y_coordinate;
- uint8_t event;
- uint8_t track_id;
- uint8_t width;
- } luat_tp_data_t;
- typedef struct luat_tp_config{
- char* name;
- luat_ei2c_t* soft_i2c;
- uint8_t address;
- uint8_t i2c_id;
- uint8_t pin_rst;
- uint8_t pin_int;
- uint8_t swap_xy;
- uint8_t direction; // 旋转方向(软件控制)
- uint8_t refresh_rate;
- uint8_t tp_num;
- uint8_t int_type;
- int16_t w;
- int16_t h;
- void* luat_cb;
- luat_tp_opts_t* opts;
- int (*callback)(luat_tp_config_t* luat_tp_config, luat_tp_data_t* luat_tp_data);
- luat_tp_data_t tp_data[LUAT_TP_TOUCH_MAX];
- luat_rtos_task_handle task_handle;
- } luat_tp_config_t;
- typedef struct luat_tp_opts {
- const char* name;
- int (*init)(luat_tp_config_t* luat_tp_config);
- int (*read)(luat_tp_config_t* luat_tp_config, uint8_t* data);
- void (*read_done)(luat_tp_config_t* luat_tp_config);
- void (*deinit)(luat_tp_config_t* luat_tp_config);
- } luat_tp_opts_t;
- typedef enum{
- TP_EVENT_TYPE_NONE = 0,
- TP_EVENT_TYPE_DOWN,
- TP_EVENT_TYPE_UP,
- TP_EVENT_TYPE_MOVE
- } luat_tp_event_type_t;
- extern luat_tp_opts_t tp_config_gt911;
- extern luat_tp_opts_t tp_config_gt9157;
- extern luat_tp_opts_t tp_config_jd9261t;
- extern luat_tp_opts_t tp_config_jd9261t_inited;
- extern luat_tp_opts_t tp_config_ft3x68;
- extern luat_tp_opts_t tp_config_cst820;
- extern luat_tp_opts_t tp_config_cst92xx;
- extern luat_tp_opts_t tp_config_pc;
- int luat_tp_init(luat_tp_config_t* luat_tp_config);
- int luat_tp_irq_enable(luat_tp_config_t* luat_tp_config, uint8_t enabled);
- #endif
|