Register-map, size, limit, and helper macros.
Macros | |
| #define | MTB_TOUCHPAD_RET_TYPE uint32_t |
| CAPSENSE™ Touchpad I2C Host middleware API return type. | |
| #define | REG_FW_VER (REG_FW_VER_MAJ) |
| Register address for FW version of the I2C Touchpad device. | |
| #define | REG_FW_VER_MAJ 0x00 |
| Register address for major FW version of the I2C Touchpad device. | |
| #define | REG_FW_VER_MIN 0x01 |
| Register address for minor FW version of the I2C Touchpad device. | |
| #define | REG_FW_VER_BLD 0x03 |
| Register address for build FW version of the I2C Touchpad device. | |
| #define | REG_RST_CAUSE 0x05 |
| Register address for reset cause. | |
| #define | REG_CMD 0x06 |
| Register address for command execution. | |
| #define | REG_TEST_STATUS 0x08 |
| Register address for test status. | |
| #define | REG_SHORTED_SNS_ID 0x09 |
| Register address for shorted sensor ID. | |
| #define | REG_INT_SRC_EN 0x0D |
| Register address for interrupt source enable. | |
| #define | REG_INT_STATUS 0x0E |
| Register address for interrupt status. | |
| #define | REG_ERROR_STATUS 0x0F |
| Register address for error status. | |
| #define | REG_SCAN_MODE 0x10 |
| Register address for scan mode configuration. | |
| #define | REG_SHIELD_EN 0x11 |
| Register address for shield enable and disable configuration. | |
| #define | REG_MODE_TIMEOUT_ACT 0x12 |
| Register address for active mode timeout. | |
| #define | REG_MODE_TIMEOUT_ALR 0x16 |
| Register address for alert mode timeout. | |
| #define | REG_SNS_FILT_CFG 0x24 |
| Register address for sensor filter configuration. | |
| #define | REG_SNS_REF_RATE_ACT 0x26 |
| Register address for active mode sensor refresh rate. | |
| #define | REG_SNS_REF_RATE_ALR 0x27 |
| Register address for ALR mode sensor refresh rate. | |
| #define | REG_TCH0_POS (REG_TCH0_POS_X) |
| Base register address for first touch (TCH0) position. | |
| #define | REG_TCH0_POS_X 0x28 |
| Register address for TCH0 X coordinate. | |
| #define | REG_TCH0_POS_Y 0x2A |
| Register address for TCH0 Y coordinate. | |
| #define | REG_TCH0_POS_Z 0x2C |
| Register address for TCH0 Z coordinate. | |
| #define | REG_TCH1_POS (REG_TCH1_POS_X) |
| Base register address for second touch (TCH1) position. | |
| #define | REG_TCH1_POS_X 0x2E |
| Register address for TCH1 X coordinate. | |
| #define | REG_TCH1_POS_Y 0x30 |
| Register address for TCH1 Y coordinate. | |
| #define | REG_TCH1_POS_Z 0x32 |
| Register address for TCH1 Z coordinate. | |
| #define | REG_NUM_TOUCH 0x34 |
| Register address for number of detected touches. | |
| #define | REG_GESTURE_DET 0x35 |
| Register address for gesture detection. | |
| #define | REG_GESTURE_DIR 0x39 |
| Register address for gesture direction. | |
| #define | REG_LIQUID_DETECT_EN 0x3D |
| Register address to enable and disable liquid detection. | |
| #define | REG_LIQUID_DETECTED 0x3E |
| Register address for liquid detection status. | |
| #define | REG_LIQUID_DUTY_CYCLE 0x3F |
| Register address for liquid detection duty cycle. | |
| #define | REG_DONN_EN 0x40 |
| Register address to enable and disable Donn feature. | |
| #define | REG_DONN_DETECT 0x41 |
| Register address for Donn detection status. | |
| #define | REG_STORED_FLAG 0x5F |
| Register address for stored flag. | |
| #define | REG_USER_DATA_LEN 0x60 |
| Register address for user data length. | |
| #define | REG_NUM_SNS 0x62 |
| Register address for number of sensors. | |
| #define | REG_SNS_RAW 0x63 |
| Base register address for sensor raw data. | |
| #define | REG_SNS_BSL(x) |
| Macro to get baseline register address for a sensor index. | |
| #define | REG_SNS_CP_MEASURE(x) |
| Macro to get capacitance measurement register address for a sensor index. | |
| #define | REG_USER_DATA(x) |
| Macro to get user data register address. | |
| #define | REG_SNS_RAW_IDX(x) |
| Macro to get address of raw index for a sensor. | |
| #define | REG_SNS_BSL_IDX(x, y) |
| Macro to get address of baseline for given sensor. | |
| #define | REG_SNS_CP_IDX(x, y) |
| Macro to get address of capacitance for given sensor. | |
| #define | REG_FW_VER_MAJ_SIZE 1 |
| Size of major firmware version register in bytes. | |
| #define | REG_FW_VER_MIN_SIZE 2 |
| Size of minor firmware version register in bytes. | |
| #define | REG_FW_VER_BLD_SIZE 2 |
| Size of build firmware version register in bytes. | |
| #define | REG_RST_CAUSE_SIZE 1 |
| Size of reset cause register in bytes. | |
| #define | REG_CMD_SIZE 2 |
| Size of command register in bytes. | |
| #define | REG_TEST_STATUS_SIZE 1 |
| Size of test status register in bytes. | |
| #define | REG_SHORTED_SNS_ID_SIZE 4 |
| Size of shorted sensor ID register in bytes. | |
| #define | REG_INT_SRC_EN_SIZE 1 |
| Size of interrupt source enable register in bytes. | |
| #define | REG_INT_STATUS_SIZE 1 |
| Size of interrupt status register in bytes. | |
| #define | REG_ERROR_STATUS_SIZE 1 |
| Size of error status register in bytes. | |
| #define | REG_SCAN_MODE_SIZE 1 |
| Size of scan mode register in bytes. | |
| #define | REG_SHIELD_EN_SIZE 1 |
| Size of shield enable register in bytes. | |
| #define | REG_MODE_TIMEOUT_ACT_SIZE 4 |
| Size of active mode timeout register in bytes. | |
| #define | REG_MODE_TIMEOUT_ALR_SIZE 4 |
| Size of ALR mode timeout register in bytes. | |
| #define | REG_SNS_FILT_CFG_SIZE 2 |
| Size of sensor filter configuration register in bytes. | |
| #define | REG_SNS_REF_RATE_ACT_SIZE 1 |
| Size of active mode sensor refresh rate register in bytes. | |
| #define | REG_SNS_REF_RATE_ALR_SIZE 1 |
| Size of ALR mode sensor refresh rate register in bytes. | |
| #define | REG_TCH_XYZ_SIZE_WORD 3 |
| Number of words used for touch XYZ data. | |
| #define | REG_TCH_XYZ_SIZE_BYTES (REG_TCH_XYZ_SIZE_WORD * 2) |
| Size in bytes of touch XYZ data. | |
| #define | REG_TCH0_POS_X_SIZE 2 |
| Size of TCH0 X coordinate register in bytes. | |
| #define | REG_TCH0_POS_Y_SIZE 2 |
| Size of TCH0 Y coordinate register in bytes. | |
| #define | REG_TCH0_POS_Z_SIZE 2 |
| Size of TCH0 Z coordinate register in bytes. | |
| #define | REG_TCH1_POS_X_SIZE 2 |
| Size of TCH1 X coordinate register in bytes. | |
| #define | REG_TCH1_POS_Y_SIZE 2 |
| Size of TCH1 Y coordinate register in bytes. | |
| #define | REG_TCH1_POS_Z_SIZE 2 |
| Size of TCH1 Z coordinate register in bytes. | |
| #define | REG_NUM_TOUCH_SIZE 1 |
| Size of number of touches register in bytes. | |
| #define | REG_GESTURE_DET_SIZE 4 |
| Size of gesture detection register in bytes. | |
| #define | REG_GESTURE_DIR_SIZE 4 |
| Size of gesture direction register in bytes. | |
| #define | REG_LIQUID_DETECT_EN_SIZE 1 |
| Size of liquid detect enable register in bytes. | |
| #define | REG_LIQUID_DETECTED_SIZE 1 |
| Size of liquid detected status register in bytes. | |
| #define | REG_LIQUID_DUTY_CYCLE_SIZE 1 |
| Size of liquid duty cycle register in bytes. | |
| #define | REG_DONN_EN_SIZE 1 |
| Size of Donn enable register in bytes. | |
| #define | REG_DONN_DETECT_SIZE 1 |
| Size of Donn detect register in bytes. | |
| #define | REG_RESERVED_1_SIZE 29 |
| Size of reserved block 1 in bytes. | |
| #define | REG_STORED_FLAG_SIZE 1 |
| Size of stored flag register in bytes. | |
| #define | REG_USER_DATA_LEN_SIZE 2 |
| Size of user data length register in bytes. | |
| #define | REG_NUM_SNS_SIZE 1 |
| Size of number of sensors register in bytes. | |
| #define | SNS_RAW_SIZE 2 |
| Size of raw sensor data per sensor in bytes. | |
| #define | BASELINE_SIZE 2 |
| Size of baseline value per sensor in bytes. | |
| #define | CAPACITANCE_SIZE 4 |
| Size of capacitance value per sensor in bytes. | |
| #define | REG_SNS_RAW_SIZE(x) |
| Total size of raw sensor data for given number of sensors. | |
| #define | REG_SNS_BSL_SIZE(x) |
| Total baseline data size for given number of sensors. | |
| #define | REG_SNS_CP_MEASURE_SIZE(x) |
| Total capacitance data size for given number of sensors. | |
| #define | MTB_TOUCHPAD_INVALID_NUM_SNS 0x00 |
| Invalid number of sensors. | |
| #define | MTB_TOUCHPAD_CLEAR_INT_STATUS 0x00 |
| Clear interrupt pin status. | |
| #define | MTB_TOUCHPAD_INT_SRC_EN_MIN 0x01 |
| Minimum valid value for interrupt source enable register (at least one source must be enabled). | |
| #define | MTB_TOUCHPAD_INT_SRC_EN_MAX 0xFF |
| Maximum valid value for interrupt source enable register (all bits 0-7). | |
| #define | MTB_TOUCHPAD_INT_STATUS_MAX 0xFF |
| Maximum valid value for interrupt status register (all bits 0-7). | |
| #define | MTB_TOUCHPAD_SNS_REFRESH_RATE_ACT_MAX 0xFF |
| SNS_REFRESH_RATE_ACT maximum value. | |
| #define | MTB_TOUCHPAD_SNS_REFRESH_RATE_ACT_MIN 0x01 |
| SNS_REFRESH_RATE_ACT minimum value. | |
| #define | MTB_TOUCHPAD_SNS_REFRESH_RATE_ALR_MAX 0xFF |
| SNS_REFRESH_RATE_ALR maximum value. | |
| #define | MTB_TOUCHPAD_SNS_REFRESH_RATE_ALR_MIN 0x01 |
| SNS_REFRESH_RATE_ALR minimum value. | |
| #define | MTB_TOUCHPAD_LIQUID_DETECT_EN_MAX 0x01 |
| Liquid rejection enabled max value. | |
| #define | MTB_TOUCHPAD_LIQUID_DETECT_EN_MIN 0x00 |
| Liquid rejection enabled min value. | |
| #define | MTB_TOUCHPAD_LIQUID_DUTY_CYCLE_MAX 0x63 |
| Liquid rejection duty cycle max value. | |
| #define | MTB_TOUCHPAD_LIQUID_DUTY_CYCLE_MIN 0x00 |
| Liquid rejection duty cycle min value. | |
| #define | MTB_TOUCHPAD_DONN_EN_MAX 0x01 |
| Donn Enable max value. | |
| #define | MTB_TOUCHPAD_DONN_EN_MIN 0x00 |
| Donn Enable min value. | |
| #define | MTB_TOUCHPAD_FW_VER_SIZE |
| Total size of firmware version registers. | |
| #define | FW_VER_MAJ_IDX 0 |
| Index of major firmware version. | |
| #define | FW_VER_MIN_IDX 1 |
| Index of minor firmware version. | |
| #define | FW_VER_BLD_IDX 3 |
| Index of build firmware version. | |
| #define | MTB_TOUCHPAD_GET_POS_SIZE |
| Total size of coordinates and number of touch register. | |
| #define | TCH0_X_IDX 0 |
| Index of X coordinate for touch 0. | |
| #define | TCH0_Y_IDX 2 |
| Index of Y coordinate for touch 0. | |
| #define | TCH0_Z_IDX 4 |
| Index of Z coordinate for touch 0. | |
| #define | TCH1_X_IDX 6 |
| Index of X coordinate for touch 1. | |
| #define | TCH1_Y_IDX 8 |
| Index of Y coordinate for touch 1. | |
| #define | TCH1_Z_IDX 10 |
| Index of Z coordinate for touch 1. | |
| #define | NUM_TOUCH_IDX 12 |
| Index of number of touch detected. | |
| #define | MTB_TOUCHPAD_TIMEOUT_ENABLED(mode) |
| Checks if timeout is enabled in the given scan mode. | |
| #define | MTB_TOUCHPAD_TIMEOUT_DISABLED(mode) |
| Checks if timeout is disabled in the given scan mode. | |
| #define REG_SNS_BSL | ( | x | ) |
Macro to get baseline register address for a sensor index.
| #define REG_SNS_CP_MEASURE | ( | x | ) |
Macro to get capacitance measurement register address for a sensor index.
| #define REG_USER_DATA | ( | x | ) |
Macro to get user data register address.
| #define REG_SNS_RAW_IDX | ( | x | ) |
Macro to get address of raw index for a sensor.
| #define REG_SNS_BSL_IDX | ( | x, | |
| y ) |
Macro to get address of baseline for given sensor.
| #define REG_SNS_CP_IDX | ( | x, | |
| y ) |
Macro to get address of capacitance for given sensor.
| #define REG_SNS_RAW_SIZE | ( | x | ) |
Total size of raw sensor data for given number of sensors.
| #define REG_SNS_BSL_SIZE | ( | x | ) |
Total baseline data size for given number of sensors.
| #define REG_SNS_CP_MEASURE_SIZE | ( | x | ) |
Total capacitance data size for given number of sensors.
| #define MTB_TOUCHPAD_FW_VER_SIZE |
Total size of firmware version registers.
| #define MTB_TOUCHPAD_GET_POS_SIZE |
Total size of coordinates and number of touch register.
| #define MTB_TOUCHPAD_TIMEOUT_ENABLED | ( | mode | ) |
Checks if timeout is enabled in the given scan mode.
| #define MTB_TOUCHPAD_TIMEOUT_DISABLED | ( | mode | ) |
Checks if timeout is disabled in the given scan mode.