proximity6 2.0.0.0
proximity6.h File Reference

This file contains API for Proximity 6 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  proximity6_t
 Click ctx object definition. More...
 
struct  proximity6_cfg_t
 Click configuration structure definition. More...
 
struct  proximity6_data_t
 Click axis data structure definition. More...
 

Macros

#define PROXIMITY6_MAP_MIKROBUS(cfg, mikrobus)
 
#define PROXIMITY6_OK   0
 
#define PROXIMITY6_ERROR   -1
 
#define PROXIMITY6_REG_DATA_REGISTER_X1   0x00
 
#define PROXIMITY6_REG_DATA_REGISTER_X2   0x01
 
#define PROXIMITY6_REG_DATA_REGISTER_Y1   0x02
 
#define PROXIMITY6_REG_DATA_REGISTER_Y2   0x03
 
#define PROXIMITY6_REG_DATA_REGISTER_SAMPLE_I   0x04
 
#define PROXIMITY6_REG_DATA_REGISTER_SAMPLE_X   0x05
 
#define PROXIMITY6_REG_DATA_REGISTER_SAMPLE_Y   0x06
 
#define PROXIMITY6_REG_RESERVED1   0x07
 
#define PROXIMITY6_REG_ID_VERSION   0x08
 
#define PROXIMITY6_REG_SLAVE_ADDRESS   0x09
 
#define PROXIMITY6_REG_OSC_CAL_OUT   0x0A
 
#define PROXIMITY6_REG_RESERVED2   0x0C
 
#define PROXIMITY6_REG_SW_RESET   0x0F
 
#define PROXIMITY6_REG_ADC_CONTROL_RESERVED1   0x10
 
#define PROXIMITY6_REG_ADC_CONTROL_RESERVED2   0x11
 
#define PROXIMITY6_REG_AFE_TRIM   0x12
 
#define PROXIMITY6_REG_AFE_MUX_TEST   0x13
 
#define PROXIMITY6_REG_RESERVED3   0x14
 
#define PROXIMITY6_REG_LED_TRIM   0x16
 
#define PROXIMITY6_REG_OS32K   0x18
 
#define PROXIMITY6_REG_OS32M_BYPASS   0x19
 
#define PROXIMITY6_REG_OS32M_TRIM   0x1A
 
#define PROXIMITY6_REG_ADC_SPACING   0x1B
 
#define PROXIMITY6_REG_INT_PIN   0x1C
 
#define PROXIMITY6_REG_INT_PIN_POL   0x1D
 
#define PROXIMITY6_REG_I2C   0x1E
 
#define PROXIMITY6_REG_FIFO_TH   0x1F
 
#define PROXIMITY6_REG_LED_OFFSET_WIDTH_GEST   0x20
 
#define PROXIMITY6_REG_LED_PERIOD_PULSES_GEST   0x21
 
#define PROXIMITY6_REG_LED_OFFSET_WIDTH_PROX   0x22
 
#define PROXIMITY6_REG_LED_PERIOD_PULSES_PROX   0x23
 
#define PROXIMITY6_REG_LED_MASK   0x24
 
#define PROXIMITY6_REG_AFE_CONT_GEST   0x25
 
#define PROXIMITY6_REG_AFE_CONT_PROX   0x26
 
#define PROXIMITY6_REG_AFE_MASK   0x27
 
#define PROXIMITY6_REG_GEST_DI_TH   0x28
 
#define PROXIMITY6_REG_ORIENTATION   0x29
 
#define PROXIMITY6_REG_PROX_TH_ON1   0x2A
 
#define PROXIMITY6_REG_PROX_TH_OFF1   0x2B
 
#define PROXIMITY6_REG_PROX_TH_ON2   0x2C
 
#define PROXIMITY6_REG_PROX_TH_OFF2   0x2D
 
#define PROXIMITY6_REG_PROX_TH_ON1_OFF1_HIGH   0x2E
 
#define PROXIMITY6_REG_PROX_TH_ON2_OFF2_HIGH   0x2F
 
#define PROXIMITY6_REG_TEST_MODE   0x30
 
#define PROXIMITY6_REG_POWER_DOWN_CONT   0x32
 
#define PROXIMITY6_REG_GAIN_CONT1   0x38
 
#define PROXIMITY6_REG_GAIN_CONT2   0x39
 
#define PROXIMITY6_REG_CH1_OFFSET   0x3A
 
#define PROXIMITY6_REG_CH2_OFFSET   0x3B
 
#define PROXIMITY6_REG_CH3_OFFSET   0x3C
 
#define PROXIMITY6_REG_CH4_OFFSET   0x3D
 
#define PROXIMITY6_REG_SLOPE_TH   0x3E
 
#define PROXIMITY6_REG_FREQ   0x40
 
#define PROXIMITY6_REG_LED_REF   0x41
 
#define PROXIMITY6_REG_OP_TIME   0x42
 
#define PROXIMITY6_REG_AFE_TIME   0x43
 
#define PROXIMITY6_REG_DSAMPLE_TIME   0x44
 
#define PROXIMITY6_REG_OPERATION_CONTROL   0x45
 
#define PROXIMITY6_REG_DEC_MODE   0x46
 
#define PROXIMITY6_REG_INT_MASK   0x48
 
#define PROXIMITY6_REG_INT_STATUS   0x49
 
#define PROXIMITY6_REG_I2C_STATUS   0x4A
 
#define PROXIMITY6_REG_DATA_BUFFER_OUT   0x60
 
#define PROXIMITY6_REG_DEBUG_X1L   0x68
 
#define PROXIMITY6_REG_DEBUG_X2L   0x69
 
#define PROXIMITY6_REG_DEBUG_Y1L   0x6A
 
#define PROXIMITY6_REG_DEBUG_Y2L   0x6B
 
#define PROXIMITY6_REG_DEBUG_X1H   0x6C
 
#define PROXIMITY6_REG_DEBUG_X2H   0x6D
 
#define PROXIMITY6_REG_DEBUG_Y1H   0x6E
 
#define PROXIMITY6_REG_DEBUG_Y2H   0x6F
 
#define PROXIMITY6_STANDBY_MODE   0
 
#define PROXIMITY6_PROXIMITY_MODE   1
 
#define PROXIMITY6_SAMPLE_MODE   2
 
#define PROXIMITY6_IDLE_MODE   3
 

Functions

void proximity6_cfg_setup (proximity6_cfg_t *cfg)
 Config Object Initialization function.
 
err_t proximity6_init (proximity6_t *ctx, proximity6_cfg_t *cfg)
 Initialization function.
 
err_t proximity6_default_cfg (proximity6_t *ctx)
 Click Default Configuration function.
 
err_t proximity6_generic_write (proximity6_t *ctx, uint8_t reg, uint16_t *data_buf, uint8_t len)
 Generic write function.
 
err_t proximity6_generic_read (proximity6_t *ctx, uint8_t reg, uint16_t *data_out, uint8_t len)
 Generic read function.
 
err_t proximity6_set_mode (proximity6_t *ctx, uint8_t select_mode)
 Mode Set function.
 
err_t proximity6_read_data (proximity6_t *ctx, proximity6_data_t *axis_out)
 Data Read function.
 
uint8_t proximity6_check_interrupt (proximity6_t *ctx)
 Interrupt Check function.
 

Detailed Description

This file contains API for Proximity 6 Click driver.