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

Go to the source code of this file.

Data Structures

struct  ft5406_touch_point_t
 
struct  ft5406_touch_data_t
 
struct  ft5406_context_t
 
struct  ft5406_sys_info_t
 

Macros

#define FT5406_I2C_ADDR   (0x38U)
 
#define FT5406_DEVICE_MODE   (0U)
 
#define FT5406_GEST_ID   (0x1U)
 
#define FT5406_TD_STATUS   (0x2U)
 
#define FT5406_TOUCH1_XH   (0x3U)
 
#define FT5406_TOUCH1_XL   (0x4U)
 
#define FT5406_TOUCH1_YH   (0x5U)
 
#define FT5406_TOUCH1_YL   (0x6U)
 
#define FT5406_TOUCH2_XH   (0x9U)
 
#define FT5406_TOUCH2_XL   (0xAU)
 
#define FT5406_TOUCH2_YH   (0xBU)
 
#define FT5406_TOUCH2_YL   (0xCU)
 
#define FT5406_TOUCH3_XH   (0xFU)
 
#define FT5406_TOUCH3_XL   (0x10U)
 
#define FT5406_TOUCH3_YH   (0x11U)
 
#define FT5406_TOUCH3_YL   (0x12U)
 
#define FT5406_TOUCH4_XH   (0x15U)
 
#define FT5406_TOUCH4_XL   (0x16U)
 
#define FT5406_TOUCH4_YH   (0x17U)
 
#define FT5406_TOUCH4_YL   (0x18U)
 
#define FT5406_TOUCH5_XH   (0x1BU)
 
#define FT5406_TOUCH5_XL   (0x1CU)
 
#define FT5406_TOUCH5_YH   (0x1DU)
 
#define FT5406_TOUCH5_YL   (0x1EU)
 
#define FT5406_ID_G_THGROUP   (0x80U)
 
#define FT5406_ID_G_THPEAK   (0x81U)
 
#define FT5406_ID_G_THCAL   (0x82U)
 
#define FT5406_ID_G_THWARTER   (0x83U)
 
#define FT5406_ID_G_THTEMP   (0x84U)
 
#define FT5406_ID_G_CTRL   (0x86U)
 
#define FT5406_ID_G_TIME_ENTER_MONITOR   (0x87U)
 
#define FT5406_ID_G_PERIODACTIVE   (0x88U)
 
#define FT5406_ID_G_PERIODMONITOR   (0x89U)
 
#define FT5406_ID_G_AUTO_CLB_MODE   (0xA0U)
 
#define FT5406_ID_G_LIB_VERSION_H   (0xA1U)
 
#define FT5406_ID_G_LIB_VERSION_L   (0xA2U)
 
#define FT5406_ID_G_CIPHER   (0xA3U)
 
#define FT5406_ID_G_MODE   (0xA4U)
 
#define FT5406_ID_G_PMODE   (0xA5U)
 
#define FT5406_ID_G_FIRM_ID   (0xA6U)
 
#define FT5406_ID_G_STATE   (0xA7U)
 
#define FT5406_ID_G_FT5201ID   (0xA8U)
 
#define FT5406_ID_G_ERR   (0xA9U)
 
#define FT5406_ID_G_CLB   (0xAAU)
 
#define FT5406_ID_G_B_AREA_TH   (0xAEU)
 
#define FT5406_DEVICE_MODE_NORMAL   (0)
 
#define FT5406_DEVICE_MODE_SYS_INFO   (1U)
 
#define FT5406_DEVICE_MODE_TEST   (2U)
 
#define FT5406_STATUS_CONFIGURE   (0)
 
#define FT5406_STATUS_WORK   (1U)
 
#define FT5406_STATUS_CALIBRATION   (2U)
 
#define FT5406_STATUS_FACTORY   (3U)
 
#define FT5406_STATUS_AUTO_CALIBRATION   (4U)
 
#define FT5406_GESTURE_NO_GESTURE   (0)
 
#define FT5406_GESTURE_MOVE_UP   (0x10U)
 
#define FT5406_GESTURE_MOVE_LEFT   (0x14U)
 
#define FT5406_GESTURE_MOVE_DOWN   (0x18U)
 
#define FT5406_GESTURE_MOVE_RIGHT   (0x1CU)
 
#define FT5406_GESTURE_ZOOM_IN   (0x48U)
 
#define FT5406_GESTURE_ZOOM_OUT   (0x49U)
 
#define FT5406_MAX_TOUCH_POINTS   (5U)
 

Functions

hpm_stat_t ft5406_init (ft5406_context_t *context)
 
hpm_stat_t ft5406_set_mode (ft5406_context_t *context, uint8_t mode)
 
hpm_stat_t ft5406_get_sys_info (ft5406_context_t *context, ft5406_sys_info_t *info)
 
hpm_stat_t ft5406_read_touch_data (ft5406_context_t *context, ft5406_touch_data_t *touch_data)
 
hpm_stat_t ft5406_read_data (ft5406_context_t *context, uint8_t addr, uint8_t *buf, uint32_t size)
 
hpm_stat_t ft5406_write_register (ft5406_context_t *context, uint8_t reg, uint8_t val)
 
hpm_stat_t ft5406_read_register (ft5406_context_t *context, uint8_t reg, uint8_t *buf)
 

Macro Definition Documentation

◆ FT5406_DEVICE_MODE

#define FT5406_DEVICE_MODE   (0U)

◆ FT5406_DEVICE_MODE_NORMAL

#define FT5406_DEVICE_MODE_NORMAL   (0)

◆ FT5406_DEVICE_MODE_SYS_INFO

#define FT5406_DEVICE_MODE_SYS_INFO   (1U)

◆ FT5406_DEVICE_MODE_TEST

#define FT5406_DEVICE_MODE_TEST   (2U)

◆ FT5406_GEST_ID

#define FT5406_GEST_ID   (0x1U)

◆ FT5406_GESTURE_MOVE_DOWN

#define FT5406_GESTURE_MOVE_DOWN   (0x18U)

◆ FT5406_GESTURE_MOVE_LEFT

#define FT5406_GESTURE_MOVE_LEFT   (0x14U)

◆ FT5406_GESTURE_MOVE_RIGHT

#define FT5406_GESTURE_MOVE_RIGHT   (0x1CU)

◆ FT5406_GESTURE_MOVE_UP

#define FT5406_GESTURE_MOVE_UP   (0x10U)

◆ FT5406_GESTURE_NO_GESTURE

#define FT5406_GESTURE_NO_GESTURE   (0)

◆ FT5406_GESTURE_ZOOM_IN

#define FT5406_GESTURE_ZOOM_IN   (0x48U)

◆ FT5406_GESTURE_ZOOM_OUT

#define FT5406_GESTURE_ZOOM_OUT   (0x49U)

◆ FT5406_I2C_ADDR

#define FT5406_I2C_ADDR   (0x38U)

◆ FT5406_ID_G_AUTO_CLB_MODE

#define FT5406_ID_G_AUTO_CLB_MODE   (0xA0U)

◆ FT5406_ID_G_B_AREA_TH

#define FT5406_ID_G_B_AREA_TH   (0xAEU)

◆ FT5406_ID_G_CIPHER

#define FT5406_ID_G_CIPHER   (0xA3U)

◆ FT5406_ID_G_CLB

#define FT5406_ID_G_CLB   (0xAAU)

◆ FT5406_ID_G_CTRL

#define FT5406_ID_G_CTRL   (0x86U)

◆ FT5406_ID_G_ERR

#define FT5406_ID_G_ERR   (0xA9U)

◆ FT5406_ID_G_FIRM_ID

#define FT5406_ID_G_FIRM_ID   (0xA6U)

◆ FT5406_ID_G_FT5201ID

#define FT5406_ID_G_FT5201ID   (0xA8U)

◆ FT5406_ID_G_LIB_VERSION_H

#define FT5406_ID_G_LIB_VERSION_H   (0xA1U)

◆ FT5406_ID_G_LIB_VERSION_L

#define FT5406_ID_G_LIB_VERSION_L   (0xA2U)

◆ FT5406_ID_G_MODE

#define FT5406_ID_G_MODE   (0xA4U)

◆ FT5406_ID_G_PERIODACTIVE

#define FT5406_ID_G_PERIODACTIVE   (0x88U)

◆ FT5406_ID_G_PERIODMONITOR

#define FT5406_ID_G_PERIODMONITOR   (0x89U)

◆ FT5406_ID_G_PMODE

#define FT5406_ID_G_PMODE   (0xA5U)

◆ FT5406_ID_G_STATE

#define FT5406_ID_G_STATE   (0xA7U)

◆ FT5406_ID_G_THCAL

#define FT5406_ID_G_THCAL   (0x82U)

◆ FT5406_ID_G_THGROUP

#define FT5406_ID_G_THGROUP   (0x80U)

◆ FT5406_ID_G_THPEAK

#define FT5406_ID_G_THPEAK   (0x81U)

◆ FT5406_ID_G_THTEMP

#define FT5406_ID_G_THTEMP   (0x84U)

◆ FT5406_ID_G_THWARTER

#define FT5406_ID_G_THWARTER   (0x83U)

◆ FT5406_ID_G_TIME_ENTER_MONITOR

#define FT5406_ID_G_TIME_ENTER_MONITOR   (0x87U)

◆ FT5406_MAX_TOUCH_POINTS

#define FT5406_MAX_TOUCH_POINTS   (5U)

◆ FT5406_STATUS_AUTO_CALIBRATION

#define FT5406_STATUS_AUTO_CALIBRATION   (4U)

◆ FT5406_STATUS_CALIBRATION

#define FT5406_STATUS_CALIBRATION   (2U)

◆ FT5406_STATUS_CONFIGURE

#define FT5406_STATUS_CONFIGURE   (0)

◆ FT5406_STATUS_FACTORY

#define FT5406_STATUS_FACTORY   (3U)

◆ FT5406_STATUS_WORK

#define FT5406_STATUS_WORK   (1U)

◆ FT5406_TD_STATUS

#define FT5406_TD_STATUS   (0x2U)

◆ FT5406_TOUCH1_XH

#define FT5406_TOUCH1_XH   (0x3U)

◆ FT5406_TOUCH1_XL

#define FT5406_TOUCH1_XL   (0x4U)

◆ FT5406_TOUCH1_YH

#define FT5406_TOUCH1_YH   (0x5U)

◆ FT5406_TOUCH1_YL

#define FT5406_TOUCH1_YL   (0x6U)

◆ FT5406_TOUCH2_XH

#define FT5406_TOUCH2_XH   (0x9U)

◆ FT5406_TOUCH2_XL

#define FT5406_TOUCH2_XL   (0xAU)

◆ FT5406_TOUCH2_YH

#define FT5406_TOUCH2_YH   (0xBU)

◆ FT5406_TOUCH2_YL

#define FT5406_TOUCH2_YL   (0xCU)

◆ FT5406_TOUCH3_XH

#define FT5406_TOUCH3_XH   (0xFU)

◆ FT5406_TOUCH3_XL

#define FT5406_TOUCH3_XL   (0x10U)

◆ FT5406_TOUCH3_YH

#define FT5406_TOUCH3_YH   (0x11U)

◆ FT5406_TOUCH3_YL

#define FT5406_TOUCH3_YL   (0x12U)

◆ FT5406_TOUCH4_XH

#define FT5406_TOUCH4_XH   (0x15U)

◆ FT5406_TOUCH4_XL

#define FT5406_TOUCH4_XL   (0x16U)

◆ FT5406_TOUCH4_YH

#define FT5406_TOUCH4_YH   (0x17U)

◆ FT5406_TOUCH4_YL

#define FT5406_TOUCH4_YL   (0x18U)

◆ FT5406_TOUCH5_XH

#define FT5406_TOUCH5_XH   (0x1BU)

◆ FT5406_TOUCH5_XL

#define FT5406_TOUCH5_XL   (0x1CU)

◆ FT5406_TOUCH5_YH

#define FT5406_TOUCH5_YH   (0x1DU)

◆ FT5406_TOUCH5_YL

#define FT5406_TOUCH5_YL   (0x1EU)

Function Documentation

◆ ft5406_get_sys_info()

hpm_stat_t ft5406_get_sys_info ( ft5406_context_t context,
ft5406_sys_info_t info 
)

◆ ft5406_init()

hpm_stat_t ft5406_init ( ft5406_context_t context)

◆ ft5406_read_data()

hpm_stat_t ft5406_read_data ( ft5406_context_t context,
uint8_t  addr,
uint8_t *  buf,
uint32_t  size 
)

◆ ft5406_read_register()

hpm_stat_t ft5406_read_register ( ft5406_context_t context,
uint8_t  reg,
uint8_t *  buf 
)

◆ ft5406_read_touch_data()

hpm_stat_t ft5406_read_touch_data ( ft5406_context_t context,
ft5406_touch_data_t touch_data 
)

◆ ft5406_set_mode()

hpm_stat_t ft5406_set_mode ( ft5406_context_t context,
uint8_t  mode 
)

◆ ft5406_write_register()

hpm_stat_t ft5406_write_register ( ft5406_context_t context,
uint8_t  reg,
uint8_t  val 
)