proximity20  2.1.0.0
Data Structures | Macros | Enumerations | Functions
proximity20.h File Reference

This file contains API for Proximity 20 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  proximity20_t
 Proximity 20 Click context object. More...
 
struct  proximity20_cfg_t
 Proximity 20 Click configuration object. More...
 

Macros

#define PROXIMITY20_REG_PS_CONF1   0x00
 Proximity 20 registers list. More...
 
#define PROXIMITY20_REG_PS_CONF2   0x01
 
#define PROXIMITY20_REG_PS_CONF3   0x02
 
#define PROXIMITY20_REG_PS_THDL   0x03
 
#define PROXIMITY20_REG_PS_THDH   0x04
 
#define PROXIMITY20_REG_PS_CANC   0x05
 
#define PROXIMITY20_REG_PS_DATA   0xF8
 
#define PROXIMITY20_REG_INT_FLAG   0xF9
 
#define PROXIMITY20_REG_ID   0xFA
 
#define PROXIMITY20_PS_CONF1_PS_HD_DIS   0x0000
 Proximity 20 PS_CONF1 register settings. More...
 
#define PROXIMITY20_PS_CONF1_PS_HD_EN   0x4000
 
#define PROXIMITY20_PS_CONF1_PS_HD_MASK   0x4000
 
#define PROXIMITY20_PS_CONF1_PS_SP_INT_DIS   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_SP_INT_EN   0x2000
 
#define PROXIMITY20_PS_CONF1_PS_SP_INT_MASK   0x2000
 
#define PROXIMITY20_PS_CONF1_PS_SMART_PERS_DIS   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_SMART_PERS_EN   0x1000
 
#define PROXIMITY20_PS_CONF1_PS_SMART_PERS_MASK   0x1000
 
#define PROXIMITY20_PS_CONF1_PS_PERS_1   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_PERS_2   0x0400
 
#define PROXIMITY20_PS_CONF1_PS_PERS_3   0x0800
 
#define PROXIMITY20_PS_CONF1_PS_PERS_4   0x0C00
 
#define PROXIMITY20_PS_CONF1_PS_PERS_MASK   0x0C00
 
#define PROXIMITY20_PS_CONF1_PS_INT_DIS   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_INT_LOGIC_H   0x0100
 
#define PROXIMITY20_PS_CONF1_PS_INT_TRIG_HL   0x0300
 
#define PROXIMITY20_PS_CONF1_PS_INT_MASK   0x0300
 
#define PROXIMITY20_PS_CONF1_PS_CAL_DIS   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_CAL_EN   0x0080
 
#define PROXIMITY20_PS_CONF1_PS_CAL_MASK   0x0080
 
#define PROXIMITY20_PS_CONF1_PS_ON_DIS   0x0000
 
#define PROXIMITY20_PS_CONF1_PS_ON_EN   0x0001
 
#define PROXIMITY20_PS_CONF1_PS_ON_MASK   0x0001
 
#define PROXIMITY20_PS_CONF2_PS_SENS_NORMAL   0x0000
 Proximity 20 PS_CONF2 register settings. More...
 
#define PROXIMITY20_PS_CONF2_PS_SENS_HIGH   0x2000
 
#define PROXIMITY20_PS_CONF2_PS_SENS_MASK   0x2000
 
#define PROXIMITY20_PS_CONF2_PS_OFFSET_DIS   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_OFFSET_EN   0x1000
 
#define PROXIMITY20_PS_CONF2_PS_OFFSET_MASK   0x1000
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_7_MA   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_9_MA   0x0100
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_11_MA   0x0200
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_12_MA   0x0300
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_15_MA   0x0400
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_17_MA   0x0500
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_19_MA   0x0600
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_20_MA   0x0700
 
#define PROXIMITY20_PS_CONF2_PS_CURRENT_MASK   0x0700
 
#define PROXIMITY20_PS_CONF2_PS_PERIOD_50_MS   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_PERIOD_100_MS   0x0040
 
#define PROXIMITY20_PS_CONF2_PS_PERIOD_200_MS   0x0080
 
#define PROXIMITY20_PS_CONF2_PS_PERIOD_400_MS   0x00C0
 
#define PROXIMITY20_PS_CONF2_PS_PERIOD_MASK   0x00C0
 
#define PROXIMITY20_PS_CONF2_PS_IT_1T   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_IT_2T   0x0010
 
#define PROXIMITY20_PS_CONF2_PS_IT_4T   0x0020
 
#define PROXIMITY20_PS_CONF2_PS_IT_8T   0x0030
 
#define PROXIMITY20_PS_CONF2_PS_IT_MASK   0x0030
 
#define PROXIMITY20_PS_CONF2_PS_MPS_1   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_MPS_2   0x0004
 
#define PROXIMITY20_PS_CONF2_PS_MPS_4   0x0008
 
#define PROXIMITY20_PS_CONF2_PS_MPS_8   0x000C
 
#define PROXIMITY20_PS_CONF2_PS_MPS_MASK   0x000C
 
#define PROXIMITY20_PS_CONF2_PS_ITB_25_US   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_ITB_50_US   0x0002
 
#define PROXIMITY20_PS_CONF2_PS_ITB_MASK   0x0002
 
#define PROXIMITY20_PS_CONF2_PS_GAIN_X1   0x0000
 
#define PROXIMITY20_PS_CONF2_PS_GAIN_X2   0x0001
 
#define PROXIMITY20_PS_CONF2_PS_GAIN_MASK   0x0001
 
#define PROXIMITY20_PS_CONF3_PS_SPERIOD_DIS   0x0000
 Proximity 20 PS_CONF3 register settings. More...
 
#define PROXIMITY20_PS_CONF3_PS_SPERIOD_6_25_MS   0x4000
 
#define PROXIMITY20_PS_CONF3_PS_SPERIOD_12_5_MS   0x8000
 
#define PROXIMITY20_PS_CONF3_PS_SPERIOD_25_MS   0xC000
 
#define PROXIMITY20_PS_CONF3_PS_SPERIOD_MASK   0xC000
 
#define PROXIMITY20_PS_CONF3_PS_SC_DIS   0x0000
 
#define PROXIMITY20_PS_CONF3_PS_SC_EN   0x1C00
 
#define PROXIMITY20_PS_CONF3_PS_SC_MASK   0x1C00
 
#define PROXIMITY20_PS_CONF3_PS_TRIG_OFF   0x0000
 
#define PROXIMITY20_PS_CONF3_PS_TRIG_ON   0x0020
 
#define PROXIMITY20_PS_CONF3_PS_TRIG_MASK   0x0020
 
#define PROXIMITY20_PS_CONF3_PS_MODE_AUTO   0x0000
 
#define PROXIMITY20_PS_CONF3_PS_MODE_FORCE   0x0010
 
#define PROXIMITY20_PS_CONF3_PS_MODE_MASK   0x0010
 
#define PROXIMITY20_INT_FLAG_PS_SPFLAG   0x1000
 Proximity 20 INT_FLAG register settings. More...
 
#define PROXIMITY20_INT_FLAG_PS_IF_CLOSE   0x0200
 
#define PROXIMITY20_INT_FLAG_PS_IF_AWAY   0x0100
 
#define PROXIMITY20_DEVICE_ID_U2   0x0129
 Proximity 20 ID setting. More...
 
#define PROXIMITY20_DEVICE_ID_U3   0x0128
 
#define PROXIMITY20_DEVICE_ADDRESS_U2   0x51
 Proximity 20 device address setting. More...
 
#define PROXIMITY20_DEVICE_ADDRESS_U3   0x60
 
#define PROXIMITY20_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  proximity20_return_value_t { PROXIMITY20_OK = 0, PROXIMITY20_ERROR = -1 }
 Proximity 20 Click return value data. More...
 

Functions

void proximity20_cfg_setup (proximity20_cfg_t *cfg)
 Proximity 20 configuration object setup function. More...
 
err_t proximity20_init (proximity20_t *ctx, proximity20_cfg_t *cfg)
 Proximity 20 initialization function. More...
 
err_t proximity20_default_cfg (proximity20_t *ctx)
 Proximity 20 default configuration function. More...
 
err_t proximity20_write_register (proximity20_t *ctx, uint8_t reg, uint16_t data_in)
 Proximity 20 write register function. More...
 
err_t proximity20_read_register (proximity20_t *ctx, uint8_t reg, uint16_t *data_out)
 Proximity 20 read register function. More...
 
err_t proximity20_set_device_address (proximity20_t *ctx, uint8_t dev_addr)
 Proximity 20 set device address function. More...
 
err_t proximity20_check_communication (proximity20_t *ctx)
 Proximity 20 check communication function. More...
 
err_t proximity20_read_proximity (proximity20_t *ctx, uint16_t *ps_data_u2, uint16_t *ps_data_u3)
 Proximity 20 read proximity function. More...
 
void proximity20_enable_device (proximity20_t *ctx)
 Proximity 20 enable device function. More...
 
void proximity20_disable_device (proximity20_t *ctx)
 Proximity 20 disable device function. More...
 
uint8_t proximity20_get_int_pin (proximity20_t *ctx)
 Proximity 20 get int pin function. More...
 

Detailed Description

This file contains API for Proximity 20 Click Driver.

Enumeration Type Documentation

◆ proximity20_return_value_t

Proximity 20 Click return value data.

Predefined enum values for driver return values.

Enumerator
PROXIMITY20_OK 
PROXIMITY20_ERROR