HPM SDK
HPMicro Software Development Kit
hpm_gt9xx.h File Reference
#include "board.h"
#include "hpm_common.h"
#include "hpm_i2c_drv.h"

Go to the source code of this file.

Data Structures

struct  gt9xx_touch_point_t
 
struct  gt9xx_touch_data_t
 
struct  gt9xx_context_t
 

Macros

#define GT9XX_NO_AUTO_PROBE   0
 
#define GT9XX_I2C_ADDR0   (0x14U)
 
#define GT9XX_I2C_ADDR1   (0x5DU)
 
#define GT9XX_PRODUCT_ID   (0x313139U)
 
#define GT9XX_CMD   (0x8040U)
 
#define GT9XX_CMD_READ_COORD_STAT   (0U)
 
#define GT9XX_CMD_READ_RAW_DATA   (1U)
 
#define GT9XX_CMD_SOFT_RESET   (2U)
 
#define GT9XX_CMD_READ_SCREEN_OFF   (5U)
 
#define GT9XX_CONFIG   (0x8047U)
 
#define GT9XX_ID_B0   (0x8140U)
 
#define GT9XX_ID_B1   (0x8141U)
 
#define GT9XX_ID_B2   (0x8142U)
 
#define GT9XX_ID_B4   (0x8143U)
 
#define GT9XX_FW_VERSION_L   (0x8144U)
 
#define GT9XX_FW_VERSION_H   (0x8145U)
 
#define GT9XX_TOUCH_XL   (0x8146U)
 
#define GT9XX_TOUCH_XH   (0x8147U)
 
#define GT9XX_TOUCH_YL   (0x8148U)
 
#define GT9XX_TOUCH_YH   (0x8149U)
 
#define GT9XX_VENDOR_ID   (0x814AU)
 
#define GT9XX_STATUS   (0x814EU)
 
#define GT9XX_GET_STATUS_NUM_OF_POINTS(x)   ((x) & 0xFU)
 
#define GT9XX_GET_STATUS_LARGE_DETECT(x)   (((x) & 0x40U) >> 6)
 
#define GT9XX_GET_STATUS_BUFFER_STAT(x)   (((x) & 0x80U) >> 7)
 
#define GT9XX_FIRST_POINT   (0x814FU)
 
#define GT9XX_MAX_TOUCH_POINTS   (5U)
 
#define GT9XX_CONFIG_DATA_SIZE   (186U)
 
#define GT9XX_CONFIG_DATA_CONFIG_VERSION   (0U)
 
#define GT9XX_CONFIG_DATA_RESOLUTION_XL   (1U)
 
#define GT9XX_CONFIG_DATA_RESOLUTION_XH   (2U)
 
#define GT9XX_CONFIG_DATA_RESOLUTION_YL   (3U)
 
#define GT9XX_CONFIG_DATA_RESOLUTION_YH   (4U)
 
#define GT9XX_CONFIG_DATA_TOUCH_NUMBER   (5U)
 
#define GT9XX_CONFIG_DATA_MODULE_SWITCH1   (6U)
 

Functions

hpm_stat_t gt9xx_init (gt9xx_context_t *context, uint16_t width, uint16_t height)
 
hpm_stat_t gt9xx_read_touch_data (gt9xx_context_t *context, gt9xx_touch_data_t *touch_data)
 
hpm_stat_t gt9xx_read_data (gt9xx_context_t *context, uint16_t addr, uint8_t *buf, uint32_t size)
 
hpm_stat_t gt9xx_write_register (gt9xx_context_t *context, uint16_t reg, uint8_t val)
 
hpm_stat_t gt9xx_read_register (gt9xx_context_t *context, uint16_t reg, uint8_t *buf)
 
hpm_stat_t gt9xx_read_config (gt9xx_context_t *context, uint8_t *buf, uint8_t size)
 

Macro Definition Documentation

◆ GT9XX_CMD

#define GT9XX_CMD   (0x8040U)

◆ GT9XX_CMD_READ_COORD_STAT

#define GT9XX_CMD_READ_COORD_STAT   (0U)

◆ GT9XX_CMD_READ_RAW_DATA

#define GT9XX_CMD_READ_RAW_DATA   (1U)

◆ GT9XX_CMD_READ_SCREEN_OFF

#define GT9XX_CMD_READ_SCREEN_OFF   (5U)

◆ GT9XX_CMD_SOFT_RESET

#define GT9XX_CMD_SOFT_RESET   (2U)

◆ GT9XX_CONFIG

#define GT9XX_CONFIG   (0x8047U)

◆ GT9XX_CONFIG_DATA_CONFIG_VERSION

#define GT9XX_CONFIG_DATA_CONFIG_VERSION   (0U)

◆ GT9XX_CONFIG_DATA_MODULE_SWITCH1

#define GT9XX_CONFIG_DATA_MODULE_SWITCH1   (6U)

◆ GT9XX_CONFIG_DATA_RESOLUTION_XH

#define GT9XX_CONFIG_DATA_RESOLUTION_XH   (2U)

◆ GT9XX_CONFIG_DATA_RESOLUTION_XL

#define GT9XX_CONFIG_DATA_RESOLUTION_XL   (1U)

◆ GT9XX_CONFIG_DATA_RESOLUTION_YH

#define GT9XX_CONFIG_DATA_RESOLUTION_YH   (4U)

◆ GT9XX_CONFIG_DATA_RESOLUTION_YL

#define GT9XX_CONFIG_DATA_RESOLUTION_YL   (3U)

◆ GT9XX_CONFIG_DATA_SIZE

#define GT9XX_CONFIG_DATA_SIZE   (186U)

◆ GT9XX_CONFIG_DATA_TOUCH_NUMBER

#define GT9XX_CONFIG_DATA_TOUCH_NUMBER   (5U)

◆ GT9XX_FIRST_POINT

#define GT9XX_FIRST_POINT   (0x814FU)

◆ GT9XX_FW_VERSION_H

#define GT9XX_FW_VERSION_H   (0x8145U)

◆ GT9XX_FW_VERSION_L

#define GT9XX_FW_VERSION_L   (0x8144U)

◆ GT9XX_GET_STATUS_BUFFER_STAT

#define GT9XX_GET_STATUS_BUFFER_STAT (   x)    (((x) & 0x80U) >> 7)

◆ GT9XX_GET_STATUS_LARGE_DETECT

#define GT9XX_GET_STATUS_LARGE_DETECT (   x)    (((x) & 0x40U) >> 6)

◆ GT9XX_GET_STATUS_NUM_OF_POINTS

#define GT9XX_GET_STATUS_NUM_OF_POINTS (   x)    ((x) & 0xFU)

◆ GT9XX_I2C_ADDR0

#define GT9XX_I2C_ADDR0   (0x14U)

◆ GT9XX_I2C_ADDR1

#define GT9XX_I2C_ADDR1   (0x5DU)

◆ GT9XX_ID_B0

#define GT9XX_ID_B0   (0x8140U)

◆ GT9XX_ID_B1

#define GT9XX_ID_B1   (0x8141U)

◆ GT9XX_ID_B2

#define GT9XX_ID_B2   (0x8142U)

◆ GT9XX_ID_B4

#define GT9XX_ID_B4   (0x8143U)

◆ GT9XX_MAX_TOUCH_POINTS

#define GT9XX_MAX_TOUCH_POINTS   (5U)

◆ GT9XX_NO_AUTO_PROBE

#define GT9XX_NO_AUTO_PROBE   0

◆ GT9XX_PRODUCT_ID

#define GT9XX_PRODUCT_ID   (0x313139U)

◆ GT9XX_STATUS

#define GT9XX_STATUS   (0x814EU)

◆ GT9XX_TOUCH_XH

#define GT9XX_TOUCH_XH   (0x8147U)

◆ GT9XX_TOUCH_XL

#define GT9XX_TOUCH_XL   (0x8146U)

◆ GT9XX_TOUCH_YH

#define GT9XX_TOUCH_YH   (0x8149U)

◆ GT9XX_TOUCH_YL

#define GT9XX_TOUCH_YL   (0x8148U)

◆ GT9XX_VENDOR_ID

#define GT9XX_VENDOR_ID   (0x814AU)

Function Documentation

◆ gt9xx_init()

hpm_stat_t gt9xx_init ( gt9xx_context_t context,
uint16_t  width,
uint16_t  height 
)

◆ gt9xx_read_config()

hpm_stat_t gt9xx_read_config ( gt9xx_context_t context,
uint8_t *  buf,
uint8_t  size 
)

◆ gt9xx_read_data()

hpm_stat_t gt9xx_read_data ( gt9xx_context_t context,
uint16_t  addr,
uint8_t *  buf,
uint32_t  size 
)

◆ gt9xx_read_register()

hpm_stat_t gt9xx_read_register ( gt9xx_context_t context,
uint16_t  reg,
uint8_t *  buf 
)

◆ gt9xx_read_touch_data()

hpm_stat_t gt9xx_read_touch_data ( gt9xx_context_t context,
gt9xx_touch_data_t touch_data 
)

◆ gt9xx_write_register()

hpm_stat_t gt9xx_write_register ( gt9xx_context_t context,
uint16_t  reg,
uint8_t  val 
)