#ifndef __CST816_H /* * Copyright © 2022 Band Industries Inc. * Permission is hereby granted, free of charge, to any person obtaining a copy of this * software and associated documentation files (the “Software”), to deal in the Software * without restriction, including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons * to whom the Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all copies or * substantial portions of the Software. * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #define __CST816_H #include #include #ifdef LV_LVGL_H_INCLUDE_SIMPLE #include "lvgl.h" #else #include "lvgl/lvgl.h" #endif #ifdef __cplusplus extern "C" { #endif #define CST816_I2C_SLAVE_ADDR 0x15<<1 #define CST816_PRODUCT_ID_LEN 4 typedef struct { bool inited; uint8_t i2c_dev_addr; } cst816_status_t; /** * @brief Initialize for cst816 communication via I2C * @param dev_addr: Device address on communication Bus (I2C slave address of CST816). * @retval None */ void cst816_init(uint8_t dev_addr); /** * @brief Get the touch screen X and Y positions values. Ignores multi touch * @param drv: * @param data: Store data here * @retval Always false */ bool cst816_read(lv_indev_drv_t *drv, lv_indev_data_t *data); #ifdef __cplusplus } #endif #endif /* __CST816_H */