proxfusion3 2.0.0.0
proxfusion3.h File Reference

This file contains API for ProxFusion 3 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  proxfusion3_t
 ProxFusion 3 Click context object. More...
 
struct  proxfusion3_cfg_t
 ProxFusion 3 Click configuration object. More...
 

Macros

#define PROXFUSION3_DEVICE_INFO   0x00
 ProxFusion 3 description register.
 
#define PROXFUSION3_SYS_FLAGS   0x02
 ProxFusion 3 Flags register.
 
#define PROXFUSION3_GESTURE_FLAGS   0x03
 ProxFusion 3 Slider flags register.
 
#define PROXFUSION3_CH_PROX_STATE   0x04
 ProxFusion 3 Channel Prox and Touch Flags register.
 
#define PROXFUSION3_CH_TOUCH_STATE   0x05
 
#define PROXFUSION3_ACF_CH0   0x08
 ProxFusion 3 Channel Counts Bytes register.
 
#define PROXFUSION3_ACF_CH1   0x0A
 
#define PROXFUSION3_ACF_CH2   0x0C
 
#define PROXFUSION3_ACF_CH3   0x0E
 
#define PROXFUSION3_ACF_CH4   0x10
 
#define PROXFUSION3_ACF_CH5   0x12
 
#define PROXFUSION3_ACF_CH6   0x14
 
#define PROXFUSION3_ACF_CH7   0x16
 
#define PROXFUSION3_LTA_CH0   0x09
 ProxFusion 3 Channel LTA Bytes register.
 
#define PROXFUSION3_LTA_CH1   0x0B
 
#define PROXFUSION3_LTA_CH2   0x0D
 
#define PROXFUSION3_LTA_CH3   0x0F
 
#define PROXFUSION3_LTA_CH4   0x11
 
#define PROXFUSION3_LTA_CH5   0x13
 
#define PROXFUSION3_LTA_CH6   0x15
 
#define PROXFUSION3_LTA_CH7   0x17
 
#define PROXFUSION3_DELTA_CH0   0x18
 ProxFusion 3 Channel Delta Bytes register.
 
#define PROXFUSION3_DELTA_CH1   0x19
 
#define PROXFUSION3_DELTA_CH2   0x1A
 
#define PROXFUSION3_DELTA_CH3   0x1B
 
#define PROXFUSION3_DELTA_CH4   0x1C
 
#define PROXFUSION3_DELTA_CH5   0x1D
 
#define PROXFUSION3_DELTA_CH6   0x1E
 
#define PROXFUSION3_DELTA_CH7   0x1F
 
#define PROXFUSION3_REFDELTA_CH0   0x20
 ProxFusion 3 Reference Channel Delta Bytes register.
 
#define PROXFUSION3_REFDELTA_CH1   0x21
 
#define PROXFUSION3_REFDELTA_CH2   0x22
 
#define PROXFUSION3_REFDELTA_CH3   0x23
 
#define PROXFUSION3_REFDELTA_CH4   0x24
 
#define PROXFUSION3_REFDELTA_CH5   0x25
 
#define PROXFUSION3_REFDELTA_CH6   0x26
 
#define PROXFUSION3_REFDELTA_CH7   0x27
 
#define PROXFUSION3_COORDINATES   0x30
 ProxFusion 3 Slider coordinates register.
 
#define PROXFUSION3_CAP_ABS_BASE   0x31
 ProxFusion 3 Capacitance Measurement Variables register.
 
#define PROXFUSION3_CAP_ABS_CS   0x32
 
#define PROXFUSION3_CAP_ABS_CS_CAP0   0x33
 
#define PROXFUSION3_CAP_ABS_CS_CAP1   0x34
 
#define PROXFUSION3_PMU_SETTINGS   0x80
 ProxFusion 3 Power mode settings Bytes register.
 
#define PROXFUSION3_ACTIVE_CHANNELS   0x81
 
#define PROXFUSION3_CH_RESEED   0x82
 
#define PROXFUSION3_REPORT_RATES   0x83
 ProxFusion 3 Report Rate Bytes register.
 
#define PROXFUSION3_ULP_MODE_RATES   0x84
 
#define PROXFUSION3_TIMEOUT_PERIODS   0x85
 
#define PROXFUSION3_GEN_SETINGS   0x86
 ProxFusion 3 General Settings register.
 
#define PROXFUSION3_REF_SETTINGS   0x87
 
#define PROXFUSION3_EVENT_SETTINGS   0x88
 
#define PROXFUSION3_SLIDER0_CH   0x89
 ProxFusion 3 Gesture Settings register.
 
#define PROXFUSION3_TAP_SETTINGS   0x8A
 
#define PROXFUSION3_SWIPE_SETTINGS   0x8B
 
#define PROXFUSION3_CH0_SETTINGS   0x8C
 ProxFusion 3 Channel settings register.
 
#define PROXFUSION3_CH1_SETTINGS   0x93
 
#define PROXFUSION3_CH3_SETTINGS   0x9A
 
#define PROXFUSION3_CH4_SETTINGS   0xA1
 
#define PROXFUSION3_CH5_SETTINGS   0xA8
 
#define PROXFUSION3_CH6_SETTINGS   0xAF
 
#define PROXFUSION3_CH7_SETTINGS   0xB6
 
#define PROXFUSION3_CH8_SETTINGS   0xBD
 
#define PROXFUSION3_CHx_REF_ASSOC   0x92
 
#define PROXFUSION3_CH6_PROX_SETTINGS   0xB7
 
#define PROXFUSION3_CH6_ATI_MIRROR   0xB9
 
#define PROXFUSION3_CH7_ATI_MIRROR   0xC0
 
#define PROXFUSION3_ATI_TARGETS   0x8E
 
#define PROXFUSION3_ENG_DIRECT_ADDRESS   0xF0
 ProxFusion 3 Engineering settings register.
 
#define PROXFUSION3_ENG_DIRECT_DATA   0xF1
 
#define PROXFUSION3_ENG_I2C_SETTINGS   0xF2
 
#define PROXFUSION3_ENG_LAST_CONV_LSB   0xF3
 
#define PROXFUSION3_ENG_LAST_CONV_MSB   0xF4
 
#define PROXFUSION3_ENG_PXS_DETECTION   0xF5
 
#define PROXFUSION3_PRODUCT_NUM   0x4F
 ProxFusion 3 description setting.
 
#define PROXFUSION3_SW_NUM_V1   0x02
 
#define PROXFUSION3_SW_NUM_V2   0x03
 
#define PROXFUSION3_NP_SEG_ACTIVE_BIT   0x01
 ProxFusion 3 System Flags Byte Bits setting.
 
#define PROXFUSION3_GO_TO_NP_BIT   0x02
 
#define PROXFUSION3_IN_ATI_BIT   0x04
 
#define PROXFUSION3_NP_MODE_BITS   0x00
 
#define PROXFUSION3_LP_MODE_BITS   0x08
 
#define PROXFUSION3_ULP_MODE_BITS   0x10
 
#define PROXFUSION3_HALT_MODE_BITS   0x18
 
#define PROXFUSION3_SHOW_RESET_BIT   0x80
 
#define PROXFUSION3_PROX_EVENT_BIT   0x01
 ProxFusion 3 Event Byte Bits setting.
 
#define PROXFUSION3_TOUCH_EVENT_BIT   0x02
 
#define PROXFUSION3_DEEP_EVENT_BIT   0x04
 
#define PROXFUSION3_GESTURE_EVENT_BIT   0x08
 
#define PROXFUSION3_MOV_EVENT_BIT   0x10
 
#define PROXFUSION3_REF_EVENT_BIT   0x20
 
#define PROXFUSION3_SYS_EVENT_BIT   0x40
 
#define PROXFUSION3_LP_EVENT_BIT   0x80
 
#define PROXFUSION3_TAP0_BIT   0x01
 ProxFusion 3 Gesture Byte Bits setting.
 
#define PROXFUSION3_HOLD0_BIT   0x02
 
#define PROXFUSION3_SWIPE_UP_BIT   0x04
 
#define PROXFUSION3_SWIPE_DOWN_BIT   0x08
 
#define PROXFUSION3_TAP1_BIT   0x10
 
#define PROXFUSION3_HOLD1_BIT   0x20
 
#define PROXFUSION3_SWIPE_LEFT_BIT   0x40
 
#define PROXFUSION3_SWIPE_RIGHT_BIT   0x80
 
#define PROXFUSION3_ACK_RESET_BIT   0x01
 ProxFusion 3 Utility Bits setting.
 
#define PROXFUSION3_SOFT_RESET_BIT   0x02
 
#define PROXFUSION3_REDO_ATI_BIT   0x04
 
#define PROXFUSION3_EVENT_MODE_BIT   0x20
 
#define PROXFUSION3_DISABLE_CH6_ATI   0xA0
 ProxFusion 3 Setting Bits setting.
 
#define PROXFUSION3_ENABLE_ABSCAP_UI   0x08
 
#define PROXFUSION3_ENABLE_4MHZ_FOSC   0x80
 
#define PROXFUSION3_DISABLE_AUTO_MODE   0x20
 
#define PROXFUSION3_PMU_GENERAL_SETTINGS   0x41
 ProxFusion 3 Channel select, Power mode & System setting.
 
#define PROXFUSION3_I2C_GENERAL_SETTINGS   0x00
 
#define PROXFUSION3_SYS_CHB_ACTIVE   0xFF
 
#define PROXFUSION3_ACF_LTA_FILTER_SETTINGS   0xC4
 
#define PROXFUSION3_LTA_CHB_RESEED_ENABLED   0xFF
 
#define PROXFUSION3_UIS_GLOBAL_EVENTS_MASK   0x00
 
#define PROXFUSION3_PMU_REPORT_RATE_NP   0x10
 ProxFusion 3 Report Rates and Timing setting.
 
#define PROXFUSION3_PMU_REPORT_RATE_LP   0xA0
 
#define PROXFUSION3_PMU_REPORT_RATE_ULP   0x0D
 
#define PROXFUSION3_PMU_MODE_TIMOUT   0x0A
 
#define PROXFUSION3_I2C_WINDOW_TIMEOUT   0x14
 
#define PROXFUSION3_LTA_HALT_TIMEOUT   0x14
 
#define PROXFUSION3_PXS_GENERAL_SETTINGS0   0x00
 ProxFusion 3 Global setting.
 
#define PROXFUSION3_PXS_GENERAL_SETTINGS1   0x00
 
#define PROXFUSION3_UIS_ABSOLUTE_CAPACITANCE   0x00
 
#define PROXFUSION3_UIS_DCF_GENERAL_SETTINGS   0x11
 
#define PROXFUSION3_GEM_CHB_BLOCK_NFOLLOW   0x00
 
#define PROXFUSION3_MOV_CHB_MOVEMENT_CHANNEL   0x00
 
#define PROXFUSION3_UIS_CHB_SLIDER0   0x78
 
#define PROXFUSION3_UIS_CHB_SLIDER1   0x06
 
#define PROXFUSION3_UIS_GESTURE_TAP_TIMEOUT   0x40
 
#define PROXFUSION3_UIS_GESTURE_SWIPE_TIMEOUT   0xBB
 
#define PROXFUSION3_UIS_GESTURE_THRESHOLD   0x80
 
#define PROXFUSION3_LTA_CHB_RESEED   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH0   0xFF
 ProxFusion 3 CH0 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH0   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH0   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH0   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH0   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH0   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH0   0x2C
 
#define PROXFUSION3_ATI_PCC_CH0   0xCD
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH0   0x04
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH0   0x09
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH0   0x10
 
#define PROXFUSION3_PXS_HYSTERESIS_CH0   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH0   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH0   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH1   0x3A
 ProxFusion 3 CH1 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH1   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH1   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH1   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH1   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH1   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH1   0x29
 
#define PROXFUSION3_ATI_PCC_CH1   0xC6
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH1   0x04
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH1   0x09
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH1   0x10
 
#define PROXFUSION3_PXS_HYSTERESIS_CH1   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH1   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH1   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH2   0xC5
 ProxFusion 3 CH2 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH2   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH2   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH2   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH2   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH2   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH2   0x29
 
#define PROXFUSION3_ATI_PCC_CH2   0xC0
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH2   0x04
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH2   0x09
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH2   0x10
 
#define PROXFUSION3_PXS_HYSTERESIS_CH2   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH2   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH2   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH3   0x90
 ProxFusion 3 CH3 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH3   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH3   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH3   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH3   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH3   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH3   0x1E
 
#define PROXFUSION3_ATI_PCC_CH3   0xC8
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH3   0x0A
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH3   0x10
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH3   0x30
 
#define PROXFUSION3_PXS_HYSTERESIS_CH3   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH3   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH3   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH4   0x42
 ProxFusion 3 CH4 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH4   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH4   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH4   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH4   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH4   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH4   0x1E
 
#define PROXFUSION3_ATI_PCC_CH4   0xCA
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH4   0x0A
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH4   0x10
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH4   0x30
 
#define PROXFUSION3_PXS_HYSTERESIS_CH4   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH4   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH4   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH5   0x21
 ProxFusion 3 CH5 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH5   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH5   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH5   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH5   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH5   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH5   0x1E
 
#define PROXFUSION3_ATI_PCC_CH5   0xD0
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH5   0x0A
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH5   0x10
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH5   0x30
 
#define PROXFUSION3_PXS_HYSTERESIS_CH5   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH5   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH5   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH6   0x0C
 ProxFusion 3 CH6 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH6   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH6   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH6   0x40
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH6   0x06
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH6   0x90
 
#define PROXFUSION3_ATI_MIRROR_CH6   0x26
 
#define PROXFUSION3_ATI_PCC_CH6   0xCB
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH6   0x0A
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH6   0x10
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH6   0x30
 
#define PROXFUSION3_PXS_HYSTERESIS_CH6   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH6   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH6   0x00
 
#define PROXFUSION3_PXS_CRXSEL_CH7   0x01
 ProxFusion 3 CH7 Settings setting.
 
#define PROXFUSION3_PXS_CTXSEL_CH7   0xFF
 
#define PROXFUSION3_PXS_PROXCTRL_CH7   0xA3
 
#define PROXFUSION3_PXS_PROXCFG0_CH7   0xDE
 
#define PROXFUSION3_PXS_PROXCFG1_TESTREG0_CH7   0x01
 
#define PROXFUSION3_ATI_BASE_AND_TARGET_CH7   0xD0
 
#define PROXFUSION3_ATI_MIRROR_CH7   0x57
 
#define PROXFUSION3_ATI_PCC_CH7   0x60
 
#define PROXFUSION3_PXS_PROX_THRESHOLD_CH7   0x0A
 
#define PROXFUSION3_PXS_TOUCH_THRESHOLD_CH7   0x08
 
#define PROXFUSION3_PXS_DEEP_THRESHOLD_CH7   0x1A
 
#define PROXFUSION3_PXS_HYSTERESIS_CH7   0x04
 
#define PROXFUSION3_DCF_CHB_ASSOCIATION_CH7   0x00
 
#define PROXFUSION3_DCF_WEIGHT_CH7   0x00
 
#define PROXFUSION3_CH0_CRX   0x8C
 ProxFusion 3 CRX selection for Channels setting.
 
#define PROXFUSION3_CH1_CRX   0x93
 
#define PROXFUSION3_CH2_CRX   0x9A
 
#define PROXFUSION3_CH3_CRX   0xA1
 
#define PROXFUSION3_CH4_CRX   0xA8
 
#define PROXFUSION3_CH5_CRX   0xAF
 
#define PROXFUSION3_CH6_CRX   0xB6
 
#define PROXFUSION3_CH7_CRX   0xBD
 
#define PROXFUSION3_TOUCH_NUMB_1   0x13
 ProxFusion 3 touch number data.
 
#define PROXFUSION3_TOUCH_NUMB_2   0x27
 
#define PROXFUSION3_TOUCH_NUMB_3   0x4E
 
#define PROXFUSION3_TOUCH_NUMB_4   0x0C
 
#define PROXFUSION3_TOUCH_NUMB_5   0x30
 
#define PROXFUSION3_TOUCH_NUMB_6   0x70
 
#define PROXFUSION3_TOUCH_NUMB_7   0x60
 
#define PROXFUSION3_TOUCH_NUMB_8   0x40
 
#define PROXFUSION3_TOUCH_CRX_0   0x01
 ProxFusion 3 channel of touch.
 
#define PROXFUSION3_TOUCH_CRX_1   0x02
 
#define PROXFUSION3_TOUCH_CRX_2   0x04
 
#define PROXFUSION3_TOUCH_CRX_3   0x08
 
#define PROXFUSION3_TOUCH_CRX_4   0x10
 
#define PROXFUSION3_TOUCH_CRX_5   0x20
 
#define PROXFUSION3_TOUCH_CRX_6   0x40
 
#define PROXFUSION3_TOUCH_CRX_7   0x80
 
#define PROXFUSION3_TOUCH_POS_NO_TOUCH   0x00
 ProxFusion 3 position of touch.
 
#define PROXFUSION3_TOUCH_POS_1   0x01
 
#define PROXFUSION3_TOUCH_POS_2   0x02
 
#define PROXFUSION3_TOUCH_POS_3   0x03
 
#define PROXFUSION3_TOUCH_POS_4   0x04
 
#define PROXFUSION3_TOUCH_POS_5   0x05
 
#define PROXFUSION3_TOUCH_POS_6   0x06
 
#define PROXFUSION3_TOUCH_POS_7   0x07
 
#define PROXFUSION3_TOUCH_POS_8   0x08
 
#define PROXFUSION3_CH0_PT_T   0x90
 ProxFusion 3 Channel Prox and Touch Threshold settings register.
 
#define PROXFUSION3_CH1_PT_T   0x97
 
#define PROXFUSION3_CH2_PT_T   0x9E
 
#define PROXFUSION3_CH3_PT_T   0xA5
 
#define PROXFUSION3_CH4_PT_T   0xAC
 
#define PROXFUSION3_CH5_PT_T   0xB3
 
#define PROXFUSION3_CH6_PT_T   0xBA
 
#define PROXFUSION3_CH7_PT_T   0xC1
 
#define PROXFUSION3_CH0_DT_T   0x91
 ProxFusion 3 Channel Deep Touch Threshold settings register.
 
#define PROXFUSION3_CH1_DT_T   0x98
 
#define PROXFUSION3_CH2_DT_T   0x9F
 
#define PROXFUSION3_CH3_DT_T   0xA6
 
#define PROXFUSION3_CH4_DT_T   0xAD
 
#define PROXFUSION3_CH5_DT_T   0xB4
 
#define PROXFUSION3_CH6_DT_T   0xBB
 
#define PROXFUSION3_CH7_DT_T   0xC2
 
#define PROXFUSION3_EVENT_NO_TOUCH   0x00
 ProxFusion 3 Check touch event.
 
#define PROXFUSION3_EVENT_TOUCH   0x01
 
#define PROXFUSION3_SET_DEV_ADDR   0x44
 ProxFusion 3 device address setting.
 
#define PROXFUSION3_SET_PIN_STATE_LOW   0x00
 ProxFusion 3 pin setting function.
 
#define PROXFUSION3_SET_PIN_STATE_HIGH   0x01
 
#define PROXFUSION3_PROX_THRESHOLD   10
 ProxFusion 3 threshold setting.
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH0   22
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH1   20
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH2   10
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH3   10
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH4   22
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH5   20
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH6   12
 
#define PROXFUSION3_TOUCH_THRESHOLD_CH7   10
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH0   32
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH1   26
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH2   26
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH3   26
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH4   32
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH5   26
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH6   26
 
#define PROXFUSION3_DEEP_TOUCH_THRESHOLD_CH7   26
 
#define PROXFUSION3_TOUCH_CH_RX_THRESHOLD_7   16384
 
#define PROXFUSION3_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Functions

void proxfusion3_cfg_setup (proxfusion3_cfg_t *cfg)
 ProxFusion 3 configuration object setup function.
 
err_t proxfusion3_init (proxfusion3_t *ctx, proxfusion3_cfg_t *cfg)
 ProxFusion 3 initialization function.
 
err_t proxfusion3_default_cfg (proxfusion3_t *ctx)
 ProxFusion 3 default configuration function.
 
void proxfusion3_set_state_int_pin (proxfusion3_t *ctx, uint8_t pin_state)
 ProxFusion 3 INT pin setting function.
 
uint8_t proxfusion3_get_state_gp_pin (proxfusion3_t *ctx)
 ProxFusion 3 get state of GP pin function.
 
err_t proxfusion3_generic_write (proxfusion3_t *ctx, uint8_t reg, uint8_t *tx_buf, uint8_t tx_len)
 ProxFusion 3 I2C writing function.
 
err_t proxfusion3_generic_read (proxfusion3_t *ctx, uint8_t reg, uint8_t *rx_buf, uint8_t rx_len)
 ProxFusion 3 I2C reading function.
 
void proxfusion3_write_reg (proxfusion3_t *ctx, uint8_t reg, uint16_t tx_data)
 ProxFusion 3 I2C register writing function.
 
uint16_t proxfusion3_read_reg (proxfusion3_t *ctx, uint8_t reg)
 ProxFusion 3 I2C register reading function.
 
err_t proxfusion3_get_version_info (proxfusion3_t *ctx, uint8_t *product_number, uint8_t *software_version)
 ProxFusion 3 get version info data function.
 
void proxfusion3_sw_reset (proxfusion3_t *ctx)
 ProxFusion 3 software reset function.
 
void proxfusion3_enable_channels (proxfusion3_t *ctx)
 ProxFusion 3 enable channels function.
 
void proxfusion3_channel_remap (proxfusion3_t *ctx)
 ProxFusion 3 channel remap function.
 
void proxfusion3_adjust_touch_thresholds (proxfusion3_t *ctx)
 ProxFusion 3 adjust touch thresholds function.
 
void proxfusion3_adjust_deep_touch_thresholds (proxfusion3_t *ctx)
 ProxFusion 3 adjust deep touch thresholds function.
 
void proxfusion3_auto_tune (proxfusion3_t *ctx)
 ProxFusion 3 auto tune function.
 
void proxfusion3_set_event (proxfusion3_t *ctx, uint8_t event)
 ProxFusion 3 set event function.
 
float proxfusion3_get_absolute_measurement (proxfusion3_t *ctx)
 ProxFusion 3 get absolute measurement function.
 
uint16_t proxfusion3_read_channel_delta (proxfusion3_t *ctx, uint8_t channel)
 ProxFusion 3 read channel delta function.
 
uint8_t proxfusion3_check_touch_event (proxfusion3_t *ctx)
 ProxFusion 3 check touch event function.
 
uint8_t proxfusion3_get_touch (proxfusion3_t *ctx)
 ProxFusion 3 get touch function.
 
void proxfusion3_en_abs_cap (proxfusion3_t *ctx)
 ProxFusion 3 enables the absolute capacitiance function.
 
void proxfusion3_set_even_mode (proxfusion3_t *ctx, uint8_t mode)
 ProxFusion 3 set even mode function.
 
uint8_t proxfusion3_get_events (proxfusion3_t *ctx)
 ProxFusion 3 get events function.
 
uint8_t proxfusion3_get_gestures (proxfusion3_t *ctx)
 ProxFusion 3 get gestures function.
 

Detailed Description

This file contains API for ProxFusion 3 Click Driver.