proximity5 2.0.0.0
proximity5.h File Reference

This file contains API for Proximity 5 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  proximity5_t
 Click ctx object definition. More...
 
struct  proximity5_cfg_t
 Click configuration structure definition. More...
 
union  als_conf1_t
 Click calibration unions. More...
 
union  als_conf2_t
 
union  als_thdh_l_m_t
 
union  als_thdl_l_m_t
 
union  als_data_l_m_t
 
union  ps_conf1_t
 
union  ps_conf2_t
 
union  ps_conf3_t
 
union  ps_ms_t
 
union  ps_canc_l_m_t
 
union  ps_thdl_l_m_t
 
union  ps_thdh_l_m_t
 
union  ps1_data_l_m_t
 
union  ps2_data_l_m_t
 
union  ps3_data_l_m_t
 
union  white_data_l_m_t
 
union  int_flag_t
 
union  id_l_m_t
 

Macros

#define PROXIMITY5_MAP_MIKROBUS(cfg, mikrobus)
 
#define PROXIMITY5_RETVAL   uint8_t
 
#define PROXIMITY5_OK   0x00
 
#define PROXIMITY5_INIT_ERROR   0xFF
 
#define ALS_SD_ON   0
 
#define ALS_SD_OFF   1
 
#define ALS_INTEN   1
 
#define ALS_INT_DIS   0
 
#define ALS_PERS_1   1
 
#define ALS_PERS_2   2
 
#define ALS_PERS_4   4
 
#define ALS_PERS_8   8
 
#define ALS_IT_50_ms   0
 
#define ALS_IT_100_ms   1
 
#define ALS_IT_200_ms   2
 
#define ALS_IT_400_ms   3
 
#define ALS_IT_800_ms   7
 
#define ALS_WHITE_SD_ON   0
 
#define ALS_WHITE_SD_OFF   1
 
#define PS_DUTY_1_40   0
 
#define PS_DUTY_1_80   1
 
#define PS_DUTY_1_160   2
 
#define PS_DUTY_1_320   3
 
#define PS_PERS_1   0
 
#define PS_PERS_2   1
 
#define PS_PERS_3   2
 
#define PS_PERS_4   3
 
#define PS_IT_1T   0
 
#define PS_IT_1T5   1
 
#define PS_IT_2T   2
 
#define PS_IT_2T5   3
 
#define PS_IT_3T   4
 
#define PS_IT_3T5   5
 
#define PS_IT_4T   6
 
#define PS_IT_8T   7
 
#define PS_SD_ON   0
 
#define PS_SD_OFF   1
 
#define GEST_INT_EN   1
 
#define GEST_INT_DIS   0
 
#define GEST_MODE_EN   1
 
#define GEST_MODE_DIS   0
 
#define PS_GAIN_TWO_STEP   1
 
#define PS_GAIN_SINGLX8   2
 
#define PS_GAIN_SINGLX1   3
 
#define PS_HD_12BIT   0
 
#define PS_HD_16BIT   1
 
#define PS_NS_TWO_STEPX4   0
 
#define PS_NS_TWO_STEP   1
 
#define PS_INT_DIS   0
 
#define PS_INT_CLOS   1
 
#define PS_INT_AWAY   2
 
#define PS_INT_CLOS_AWAY   3
 
#define LED_I_LOW_DIS   0
 
#define LED_I_LOW_EN   1
 
#define IRED_SEL_IRED1   0
 
#define IRED_SEL_IRED2   1
 
#define IRED_SEL_IRED3   2
 
#define PS_SMART_PERS_DIS   0
 
#define PS_SMART_PERS_EN   1
 
#define PS_AF_DIS   0
 
#define PS_AF_EN   1
 
#define PS_TRIG_DIS   0
 
#define PS_TRIG_EN   1
 
#define PS_MS_INT   0
 
#define PS_MS_LOG_OUT   1
 
#define PS_SC_EN_ON   1
 
#define PS_SC_EN_OFF   0
 
#define PS_SC_CUR_1X   0
 
#define PS_SC_CUR_2X   1
 
#define PS_SC_CUR_4X   2
 
#define PS_SC_CUR_8X   3
 
#define PS_SP_TYP   0
 
#define PS_SP_TYPX1_5   1
 
#define PS_SPO_00h   0
 
#define PS_SPO_FFh   1
 
#define LED_I_50MA   0
 
#define LED_I_75MA   1
 
#define LED_I_100MA   2
 
#define LED_I_120MA   3
 
#define LED_I_140MA   4
 
#define LED_I_160MA   5
 
#define LED_I_180MA   6
 
#define LED_I_200MA   7
 
#define CMD_ALS_CONF1   0x00
 
#define CMD_ALS_CONF2   0x00
 
#define CMD_ALS_CONF1_2   0x00
 
#define CMD_ALS_THDH_L   0x01
 
#define CMD_ALS_THDH_H   0x01
 
#define CMD_ALS_THDH_L_M   0x01
 
#define CMD_ALS_THDL_L   0x02
 
#define CMD_ALS_THDL_H   0x02
 
#define CMD_ALS_THDL_L_M   0x02
 
#define CMD_PS_CONF1   0x03
 
#define CMD_PS_CONF2   0x03
 
#define CMD_PS_CONF1_2   0x03
 
#define CMD_PS_CONF3   0x04
 
#define CMD_PS_MS   0x04
 
#define CMD_PS_CONF3_MS   0x04
 
#define CMD_PS_CANC_L   0x05
 
#define CMD_PS_CANC_M   0x05
 
#define CMD_PS_CANC_L_M   0x05
 
#define CMD_PS_THDH_L   0x06
 
#define CMD_PS_THDH_M   0x06
 
#define CMD_PS_THDH_L_M   0x06
 
#define CMD_PS_THDL_L   0x07
 
#define CMD_PS_THDL_M   0x07
 
#define CMD_PS_THDL_L_M   0x07
 
#define CMD_PS1_DATA_L   0x08
 
#define CMD_PS1_DATA_M   0x08
 
#define CMD_PS1_DATA_L_M   0x08
 
#define CMD_PS2_DATA_L   0x09
 
#define CMD_PS2_DATA_M   0x09
 
#define CMD_PS2_DATA_L_M   0x09
 
#define CMD_PS3_DATA_L   0x0A
 
#define CMD_PS3_DATA_M   0x0A
 
#define CMD_PS3_DATA_L_M   0x0A
 
#define CMD_ALS_DATA_L   0x0B
 
#define CMD_ALS_DATA_M   0x0B
 
#define CMD_ALS_DATA_L_M   0x0B
 
#define CMD_WHITE_DATA_L   0x0C
 
#define CMD_WHITE_DATA_M   0x0C
 
#define CMD_WHITE_DATA_L_M   0x0C
 
#define RESERVED   0x0D
 
#define CMD_INT_FLAG   0x0D
 
#define CMD_ID_L   0x0E
 
#define CMD_ID_M   0x0E
 
#define CMD_ID_L_M   0x0E
 
#define PROXIMITY5_ADDR   0x60
 

Functions

void proximity5_cfg_setup (proximity5_cfg_t *cfg)
 Config Object Initialization function.
 
PROXIMITY5_RETVAL proximity5_init (proximity5_t *ctx, proximity5_cfg_t *cfg)
 Initialization function.
 
void proximity5_default_cfg (proximity5_t *ctx)
 Click Default Configuration function.
 
void proximity5_generic_write (proximity5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void proximity5_generic_read (proximity5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
uint16_t proximity5_read_reg (proximity5_t *ctx, uint8_t addr)
 16bit read function.
 
uint16_t proximity5_get_id (proximity5_t *ctx)
 16bit read function.
 
void proximity5_get_values (proximity5_t *ctx, uint16_t *prox_val)
 Proximity value get function.
 

Detailed Description

This file contains API for Proximity 5 Click driver.