123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (c) 2006-2023, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2023-05-26 Chushicheng the first version
- */
- #ifndef __DRV_GT911_H
- #define __DRV_GT911_H
- #include <rtdevice.h>
- typedef enum
- {
- GT911_INT_MODE_IRQ_RISE = 0x00U,
- GT911_INT_MODE_IRQ_FALL = 0x01U,
- GT911_INT_MODE_POLL = 0x03U,
- } gt911_int_mode_t;
- typedef struct
- {
- rt_uint8_t id;
- rt_uint16_t pos_x;
- rt_uint16_t pos_y;
- rt_uint16_t size;
- } gt911_point_t;
- typedef struct
- {
- rt_uint8_t num_pos;
- gt911_point_t pos[5];
- } gt911_input_t;
- typedef struct
- {
- rt_uint8_t *tx_data;
- rt_uint8_t *rx_data;
- rt_uint16_t tx_len;
- rt_uint16_t rx_len;
- } gt911_i2c_xfer_t;
- typedef rt_err_t (*gt911_ops_reset_t)(void *handle);
- typedef rt_err_t (*gt911_ops_i2c_xfer_t)(void *handle, gt911_i2c_xfer_t *xfer);
- typedef struct
- {
- gt911_ops_reset_t reset;
- gt911_ops_i2c_xfer_t xfer;
- } gt911_ops_t;
- typedef struct
- {
- rt_uint16_t pos_x_max;
- rt_uint16_t pos_y_max;
- rt_uint8_t pos_max;
- rt_uint8_t fw_version;
- gt911_int_mode_t int_mode;
- gt911_ops_t ops;
- void *user_data;
- } gt911_t;
- typedef struct
- {
- struct rt_device parent;
- struct rt_i2c_bus_device *bus;
- gt911_t gt911;
- } capt_t;
- rt_err_t gt911_ctp_read(gt911_t *ctp, gt911_input_t *input);
- int drv_capt_hw_init(void);
- #endif /* __DRV_GT911_H */
|