61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
/**
|
|
* @file XPT2046.h
|
|
*
|
|
*/
|
|
|
|
#ifndef XPT2046_H
|
|
#define XPT2046_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************
|
|
* INCLUDES
|
|
*********************/
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
|
#include "lvgl.h"
|
|
#else
|
|
#include "lvgl/lvgl.h"
|
|
#endif
|
|
|
|
/*********************
|
|
* DEFINES
|
|
*********************/
|
|
#define XPT2046_IRQ CONFIG_LV_TOUCH_PIN_IRQ
|
|
|
|
#define XPT2046_AVG 4
|
|
#define XPT2046_X_MIN CONFIG_LV_TOUCH_X_MIN
|
|
#define XPT2046_Y_MIN CONFIG_LV_TOUCH_Y_MIN
|
|
#define XPT2046_X_MAX CONFIG_LV_TOUCH_X_MAX
|
|
#define XPT2046_Y_MAX CONFIG_LV_TOUCH_Y_MAX
|
|
#define XPT2046_X_INV CONFIG_LV_TOUCH_INVERT_X
|
|
#define XPT2046_Y_INV CONFIG_LV_TOUCH_INVERT_Y
|
|
#define XPT2046_XY_SWAP CONFIG_LV_TOUCH_XY_SWAP
|
|
#define XPT2046_TOUCH_THRESHOLD 400 // Threshold for touch detection
|
|
#define XPT2046_TOUCH_IRQ CONFIG_LV_TOUCH_DETECT_IRQ
|
|
#define XPT2046_TOUCH_IRQ_PRESS CONFIG_LV_TOUCH_DETECT_IRQ_PRESSURE
|
|
#define XPT2046_TOUCH_PRESS CONFIG_LV_TOUCH_DETECT_PRESSURE
|
|
|
|
/**********************
|
|
* TYPEDEFS
|
|
**********************/
|
|
|
|
/**********************
|
|
* GLOBAL PROTOTYPES
|
|
**********************/
|
|
void xpt2046_init(void);
|
|
bool xpt2046_read(lv_indev_drv_t * drv, lv_indev_data_t * data);
|
|
|
|
/**********************
|
|
* MACROS
|
|
**********************/
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* XPT2046_H */
|