proxfusion 2.0.0.0
proxfusion.h File Reference

This file contains API for ProxFusion Click driver. More...

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

Go to the source code of this file.

Data Structures

struct  proxfusion_t
 Click ctx object definition. More...
 
struct  proxfusion_cfg_t
 Click configuration structure definition. More...
 

Macros

#define PROXFUSION_MAP_MIKROBUS(cfg, mikrobus)
 
#define PROXFUSION_OK   0
 
#define PROXFUSION_ERROR   -1
 
#define PROXFUSION_REG_PR_NUMBER   0x00
 
#define PROXFUSION_REG_SW_NUMBER   0x01
 
#define PROXFUSION_REG_HW_NUMBER   0x02
 
#define PROXFUSION_PR_OK   0x41
 
#define PROXFUSION_SW_IQS620_OK   0x04
 
#define PROXFUSION_SW_IQS620A_OK   0x08
 
#define PROXFUSION_HW_OK   0x82
 
#define PROXFUSION_FREG_SYSTEM   0x10
 
#define PROXFUSION_FREG_GLOBAL_EVENTS   0x11
 
#define PROXFUSION_FREG_UI   0x12
 
#define PROXFUSION_FREG_SAR_HYSTERESIS_UI   0x13
 
#define PROXFUSION_FREG_HALL_EFFECT_UI   0x16
 
#define PROXFUSION_REG_CH_0_LSB   0x20
 
#define PROXFUSION_REG_CH_0_MSB   0x21
 
#define PROXFUSION_REG_CH_1_LSB   0x22
 
#define PROXFUSION_REG_CH_1_MSB   0x23
 
#define PROXFUSION_REG_CH_2_LSB   0x24
 
#define PROXFUSION_REG_CH_2_MSB   0x25
 
#define PROXFUSION_REG_CH_3_LSB   0x26
 
#define PROXFUSION_REG_CH_3_MSB   0x27
 
#define PROXFUSION_REG_CH_4_LSB   0x28
 
#define PROXFUSION_REG_CH_4_MSB   0x29
 
#define PROXFUSION_REG_CH_5_LSB   0x2A
 
#define PROXFUSION_REG_CH_5_MSB   0x2B
 
#define PROXFUSION_REG_LTA_CH_0_LSB   0x30
 
#define PROXFUSION_REG_LTA_CH_0_MSB   0x31
 
#define PROXFUSION_REG_LTA_CH_1_LSB   0x32
 
#define PROXFUSION_REG_LTA_CH_1_MSB   0x33
 
#define PROXFUSION_REG_LTA_CH_2_LSB   0x34
 
#define PROXFUSION_REG_LTA_CH_2_MSB   0x35
 
#define PROXFUSION_REG_SETTINGS_0_0   0x40
 
#define PROXFUSION_REG_SETTINGS_0_1   0x41
 
#define PROXFUSION_REG_SETTINGS_0_2   0x42
 
#define PROXFUSION_REG_SETTINGS_1_0   0x43
 
#define PROXFUSION_REG_SETTINGS_1_1   0x44
 
#define PROXFUSION_REG_SETTINGS_1_2   0x45
 
#define PROXFUSION_REG_SETTINGS_2_0   0x46
 
#define PROXFUSION_REG_SETTINGS_2_1   0x47
 
#define PROXFUSION_REG_SETTINGS_2_2   0x48
 
#define PROXFUSION_REG_SETTINGS_3_0   0x49
 
#define PROXFUSION_REG_SETTINGS_3_1   0x4A
 
#define PROXFUSION_REG_SETTINGS_3_2   0x4B
 
#define PROXFUSION_REG_SETTINGS_4   0x50
 
#define PROXFUSION_REG_SETTINGS_5   0x51
 
#define PROXFUSION_REG_COMPENSATION_CH_0   0x52
 
#define PROXFUSION_REG_COMPENSATION_CH_1   0x53
 
#define PROXFUSION_REG_COMPENSATION_CH_2   0x54
 
#define PROXFUSION_REG_MULTIPLIERS_CH_0   0x55
 
#define PROXFUSION_REG_MULTIPLIERS_CH_1   0x56
 
#define PROXFUSION_REG_MULTIPLIERS_CH_2   0x57
 
#define PROXFUSION_REG_PROX_CH_0   0x60
 
#define PROXFUSION_REG_TOUCH_CH_0   0x61
 
#define PROXFUSION_REG_PROX_CH_1   0x62
 
#define PROXFUSION_REG_TOUCH_CH_1   0x63
 
#define PROXFUSION_REG_PROX_CH_2   0x64
 
#define PROXFUSION_REG_TOUCH_CH_2   0x65
 
#define PROXFUSION_REG_UI_HALY_TIME   0x66
 
#define PROXFUSION_REG_SAR_SETTINGS_CH0   0x70
 
#define PROXFUSION_REG_SAR_SETTINGS_CH1   0x71
 
#define PROXFUSION_REG_QRD_THRESHOLD   0x72
 
#define PROXFUSION_REG_FILTER_HALT_THRESHOLD   0x73
 
#define PROXFUSION_REG_PROX_THRESHOLD   0x74
 
#define PROXFUSION_REG_HYS_UI_SETTINGS   0x80
 
#define PROXFUSION_REG_HYS_FILTER_THRESHOLD   0x81
 
#define PROXFUSION_REG_HYS_PROX_THRESHOLD   0x82
 
#define PROXFUSION_REG_HYS_TOUCH_THRESHOLD   0x83
 
#define PROXFUSION_REG_HALL_SETTINGS_0   0x90
 
#define PROXFUSION_REG_HALL_SETTINGS_1   0x91
 
#define PROXFUSION_REG_HALL_COMPENSATION_4_5   0x92
 
#define PROXFUSION_REG_HALL_MULTIPLIERS_4_5   0x93
 
#define PROXFUSION_REG_HALL_SWITCH_UI   0xA0
 
#define PROXFUSION_REG_HALL_SWITCH_PROX   0xA1
 
#define PROXFUSION_REG_HALL_SWITCH_TOUCH   0xA2
 
#define PROXFUSION_REG_I2C_SETTINGS   0xDA
 
#define PROXFUSION_SYSTEM_RESET   ( 0x02 << 6 )
 
#define PROXFUSION_SYSTEM_ATI_RESET   ( 0x02 )
 
#define PROXFUSION_EVENT_MODE_0   ( 0x00 << 5 )
 
#define PROXFUSION_EVENT_MODE_1   ( 0x01 << 5 )
 
#define PROXFUSION_CLOCK_16MHz   ( 0x00 << 4 )
 
#define PROXFUSION_CLOCK_4MHz   ( 0x01 << 4 )
 
#define PROXFUSION_ATI_DESABLED   ( 0x00 << 3 )
 
#define PROXFUSION_ATI_ENABLED   ( 0x01 << 3 )
 
#define PROXFUSION_ATI_BAND_1_8   ( 0x00 << 3 )
 
#define PROXFUSION_ATI_BAND_1_16   ( 0x01 << 3 )
 
#define PROXFUSION_MASK_SAR_ACTIVE   0x80
 
#define PROXFUSION_MASK_PMU_EVENT   0x40
 
#define PROXFUSION_MASK_SYS_EVENT   0x20
 
#define PROXFUSION_MASK_TEMP_EVENT   0x10
 
#define PROXFUSION_MASK_HYSTERESIS_EVENT   0x08
 
#define PROXFUSION_MASK_HALL_EVENT   0x04
 
#define PROXFUSION_MASK_SAR_EVENT   0x02
 
#define PROXFUSION_MASK_PROX_SENSE_EVENT   0x01
 
#define PROXFUSION_SLAVE_ADDRESS   0x44
 

Functions

void proxfusion_cfg_setup (proxfusion_cfg_t *cfg)
 Config Object Initialization function.
 
err_t proxfusion_init (proxfusion_t *ctx, proxfusion_cfg_t *cfg)
 Initialization function.
 
err_t proxfusion_default_cfg (proxfusion_t *ctx)
 Click Default Configuration function.
 
err_t proxfusion_generic_write (proxfusion_t *ctx, uint8_t reg, uint8_t *data_buffer, uint8_t len)
 Generic write function.
 
err_t proxfusion_generic_read (proxfusion_t *ctx, uint8_t reg, uint8_t *data_buffer, uint8_t len)
 Generic read function.
 
uint8_t proxfusion_get_touch (proxfusion_t *ctx)
 Touch event.
 
err_t proxfusion_set_system_reg (proxfusion_t *ctx, uint8_t cfg)
 Sets system register.
 
err_t proxfusion_set_event_reg (proxfusion_t *ctx, uint8_t cfg)
 Selecting events.
 

Detailed Description

This file contains API for ProxFusion Click driver.