hpm_touch.h 805 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (c) 2021 HPMicro
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. */
  7. #ifndef HPM_TOUCH_H
  8. #define HPM_TOUCH_H
  9. #include "hpm_common.h"
  10. #if defined(CONFIG_TOUCH_FT5406) && (CONFIG_TOUCH_FT5406 == 1)
  11. #include "hpm_ft5406.h"
  12. #define HPM_TOUCH_MAX_POINTS (FT5406_MAX_TOUCH_POINTS)
  13. #elif defined(CONFIG_TOUCH_GT911) && (CONFIG_TOUCH_GT911 == 1)
  14. #include "hpm_gt911.h"
  15. #define HPM_TOUCH_MAX_POINTS (GT911_MAX_TOUCH_POINTS)
  16. #else
  17. #error "unknown touch type, either have CONFIG_FT5406 or CONFIG_GT911 defined"
  18. #endif
  19. typedef struct {
  20. uint16_t x;
  21. uint16_t y;
  22. } touch_point_t;
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. hpm_stat_t touch_init(I2C_Type *i2c_ptr);
  27. hpm_stat_t touch_get_data(touch_point_t *points, uint8_t *num_of_points);
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif /* HPM_TOUCH_H */