Solar panel
Loading...
Searching...
No Matches
ft5xx6.h File Reference

FT5xx6 Touch Controller Driver. More...

#include "drv_i2c_master.h"
#include "drv_digital_in.h"
#include "drv_name.h"
#include "tp.h"

Go to the source code of this file.

Classes

struct  ft5xx6_gest_item_t
 FT5xx6 Gesture Item Definition. More...
 
struct  ft5xx6_controller_t
 FT5xx6 Gesture Items. More...
 
struct  ft5xx6_cfg_t
 FT5xx6 Configuration Object. More...
 
struct  ft5xx6_t
 FT5xx6 Context Object. More...
 

Macros

#define FT5XX6_REG_DEVICE_MODE   0x0
 FT5xx6 Device Mode Register.
 
#define FT5XX6_REG_GEST_ID   0x1
 FT5xx6 Gesture ID Register.
 
#define FT5XX6_REG_TD_STATUS   0x2
 FT5xx6 Status Register.
 
#define FT5XX6_REG_TOUCH1_XH   0x3
 FT5xx6 Touch1 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_XL   0x4
 FT5xx6 Touch1 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH1_YH   0x5
 FT5xx6 Touch1 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_YL   0x6
 FT5xx6 Touch1 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_XH   0x9
 FT5xx6 Touch2 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_XL   0xA
 FT5xx6 Touch2 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_YH   0xB
 FT5xx6 Touch2 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_YL   0xC
 FT5xx6 Touch2 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_XH   0xF
 FT5xx6 Touch3 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_XL   0x10
 FT5xx6 Touch3 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_YH   0x11
 FT5xx6 Touch3 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_YL   0x12
 FT5xx6 Touch3 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_XH   0x15
 FT5xx6 Touch4 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_XL   0x16
 FT5xx6 Touch4 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_YH   0x17
 FT5xx6 Touch4 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_YL   0x18
 FT5xx6 Touch4 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_XH   0x1B
 FT5xx6 Touch5 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_XL   0x1C
 FT5xx6 Touch5 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_YH   0x1D
 FT5xx6 Touch5 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_YL   0x1E
 FT5xx6 Touch5 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH_DET_TH   0x80
 FT5xx6 Touch Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_PEAK_DET_TH   0x81
 FT5xx6 Touch Peak Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_TH_CAL   0x82
 FT5xx6 Touch Threshold Calibration Register.
 
#define FT5XX6_REG_TOUCH_TH_WATER   0x83
 FT5xx6 Touch Threshold Water Register.
 
#define FT5XX6_REG_TOUCH_TH_TEMP_COMP   0x84
 FT5xx6 Touch Threshold Temperature Compensation Register.
 
#define FT5XX6_REG_POWER_CTRL_MODE   0x86
 FT5xx6 Power Control Register.
 
#define FT5XX6_REG_MONITOR_STATUS_TMR   0x87
 FT5xx6 Timer Status Monitor Register.
 
#define FT5XX6_REG_MONITOR_ACT_PERIOD   0x88
 FT5xx6 Actual Period Monitor Register.
 
#define FT5XX6_REG_ENTER_IDLE_TIMER   0x89
 FT5xx6 Enter Idle Timer Register.
 
#define FT5XX6_REG_AUTO_CALIB_MODE   0xA0
 FT5xx6 Auto Calibration Register.
 
#define FT5XX6_REG_LIB_VERSION_H   0xA1
 FT5xx6 Version MSB Register.
 
#define FT5XX6_REG_LIB_VERSION_L   0xA2
 FT5xx6 Version LSB Register.
 
#define FT5XX6_REG_LIB_CHIP_VENDOR_ID   0xA3
 FT5xx6 Chip Vendor ID Register.
 
#define FT5XX6_REG_IVT_TO_HOST_STATUS   0xA4
 FT5xx6 IVT To Host Status Register.
 
#define FT5XX6_REG_POWER_CONSUME_MODE   0xA5
 FT5xx6 Power Consume Register.
 
#define FT5XX6_REG_FW_ID   0xA6
 FT5xx6 FW ID Register.
 
#define FT5XX6_REG_RUNNING_STATE   0xA7
 FT5xx6 Running State Register.
 
#define FT5XX6_REG_CTPM_VENDOR_ID   0xA8
 FT5xx6 CTPM Vendor ID Register.
 
#define FT5XX6_REG_ERROR_ID   0xA9
 FT5xx6 Error ID Register.
 
#define FT5XX6_REG_CONFIGURE_CAL_MODE   0xAA
 FT5xx6 Calibration Mode Configuration Register.
 
#define FT5XX6_REG_BIG_AREA_TH   0xAE
 FT5xx6 Big Area Threshold Register.
 
#define FT5XX6_INT_MODE_POLLING   0
 FT5xx6 Interrupt Polling Mode Setting.
 
#define FT5XX6_INT_MODE_TRIGGER   1
 FT5xx6 Interrupt Trigger Mode Setting.
 
#define FT5XX6_I2C_ADDR   0x38
 FT5xx6 Slave Address Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MIN   1
 FT5xx6 Data Transfer Limits Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MAX   256
 
#define FT5XX6_GESTURE_ITEMS_MAX   7
 FT5xx6 Gesture Items Limit Setting.
 
#define FT5XX6_EVENT_PRESS_DET   0x80
 FT5xx6 Touch Pressure Event.
 
#define FT5XX6_MASK_PRESS_COORD   0xFFF
 FT5xx6 Touch Coordinates Mask.
 
#define FT5XX6_MASK_PRESS_EVENT   0xC0
 FT5xx6 Touch Event Mask.
 
#define FT5XX6_MASK_PRESS_DET   0xC0
 FT5xx6 Touch Detection Mask.
 
#define FT5XX6_MASK_TP_NUM   0xF
 FT5xx6 TP Number Mask.
 
#define FT5XX6_OFFSET_PRESS_EVENT   6
 FT5xx6 Touch Event Offset.
 
#define FT5XX6_OFFSET_PRESS_ID   4
 FT5xx6 Touch ID Offset.
 
#define FT5XX6_OFFSET_DEV_MODE   4
 FT5xx6 Device Mode Offset.
 
#define FT5XX6_OFFSET_TOUCH_READING   6
 FT5xx6 Touch Reading Offset.
 
#define FT5XX6_MAP_PINS(cfg)
 FT5xx6 Pin Mapping.
 

Enumerations

enum  ft5xx6_dev_mode_t { FT5XX6_DEV_MODE_NORMAL , FT5XX6_DEV_MODE_SYS_INFO , FT5XX6_DEV_MODE_TEST = 4 }
 FT5xx6 Device Mode Settings. More...
 
enum  ft5xx6_run_mode_t {
  FT5XX6_RUN_MODE_CFG , FT5XX6_RUN_MODE_WORK , FT5XX6_RUN_MODE_CAL , FT5XX6_RUN_MODE_FACT ,
  FT5XX6_RUN_MODE_AUTO_CAL
}
 FT5xx6 Run Mode Settings. More...
 

Functions

void ft5xx6_cfg_setup (ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
 FT5xx6 Configuration Object Setup Function.
 
tp_err_t ft5xx6_init (ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
 FT5xx6 Initialization Function.
 
void ft5xx6_default_cfg (ft5xx6_t *ctx)
 FT5xx6 Default Configuration Function.
 
void ft5xx6_generic_write (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
 FT5xx6 Generic Write Function.
 
uint8_t ft5xx6_generic_read_single (ft5xx6_t *ctx, uint8_t reg_addr)
 FT5xx6 Generic Single Read Function.
 
tp_err_t ft5xx6_generic_read_multiple (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
 FT5xx6 Generic Multiple Read Function.
 
void ft5xx6_dev_mode_setup (ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
 FT5xx6 Device Mode Setup Function.
 
void ft5xx6_run_mode_setup (ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
 FT5xx6 Run Mode Setup Function.
 
tp_event_t ft5xx6_press_detect (ft5xx6_t *ctx)
 FT5xx6 Touch Pressure Detect Function.
 
void ft5xx6_press_coordinates (ft5xx6_t *ctx, tp_touch_item_t *touch_item)
 FT5xx6 Pressure Coordinates Check Function.
 
void ft5xx6_gesture (ft5xx6_t *ctx, tp_event_t *event)
 FT5xx6 Gesture Check Function.
 
tp_err_t ft5xx6_process (ft5xx6_t *ctx)
 FT5xx6 Process Function.
 

Variables

const ft5xx6_controller_t FT5X06_CONTROLLER
 FT5x06 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X16_CONTROLLER
 FT5x16 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X26_CONTROLLER
 FT5x26 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X46_CONTROLLER
 FT5x46 Touch Controllers Descriptor.
 

Detailed Description

FT5xx6 Touch Controller Driver.

Definition in file ft5xx6.h.

Enumeration Type Documentation

◆ ft5xx6_dev_mode_t

FT5xx6 Device Mode Settings.

Device mode definition for FT5xx6 series touch controllers.

Enumerator
FT5XX6_DEV_MODE_NORMAL 

Normal mode.

FT5XX6_DEV_MODE_SYS_INFO 

System info mode.

FT5XX6_DEV_MODE_TEST 

Device test mode.

Definition at line 523 of file ft5xx6.h.

◆ ft5xx6_run_mode_t

FT5xx6 Run Mode Settings.

Run mode definition for FT5xx6 series touch controllers.

Enumerator
FT5XX6_RUN_MODE_CFG 

Config mode.

FT5XX6_RUN_MODE_WORK 

Working mode.

FT5XX6_RUN_MODE_CAL 

Calibration mode.

FT5XX6_RUN_MODE_FACT 

Factory mode.

FT5XX6_RUN_MODE_AUTO_CAL 

Auto calibration mode.

Definition at line 535 of file ft5xx6.h.

Variable Documentation

◆ FT5X06_CONTROLLER

const ft5xx6_controller_t FT5X06_CONTROLLER
extern

FT5x06 Touch Controllers Descriptor.

Specified descriptor that describe events of the gesture for each controller from FT5x06 series touch controllers.

FT5x06 Touch Controllers Descriptor.

Events code definition depending on the family of touch controller.

Definition at line 53 of file ft5xx6.c.

◆ FT5X16_CONTROLLER

const ft5xx6_controller_t FT5X16_CONTROLLER
extern

FT5x16 Touch Controllers Descriptor.

Specified descriptor that describe events of the gesture for each controller from FT5x16 series touch controllers.

Definition at line 66 of file ft5xx6.c.

◆ FT5X26_CONTROLLER

const ft5xx6_controller_t FT5X26_CONTROLLER
extern

FT5x26 Touch Controllers Descriptor.

Specified descriptor that describe events of the gesture for each controller from FT5x26 series touch controllers.

Definition at line 79 of file ft5xx6.c.

◆ FT5X46_CONTROLLER

const ft5xx6_controller_t FT5X46_CONTROLLER
extern

FT5x46 Touch Controllers Descriptor.

Specified descriptor that describe events of the gesture for each controller from FT5x46 series touch controllers.

Definition at line 92 of file ft5xx6.c.