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

This file contains API for Proximity 21 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  proximity21_data_t
 Proximity 21 Click results data object. More...
 
struct  proximity21_t
 Proximity 21 Click context object. More...
 
struct  proximity21_cfg_t
 Proximity 21 Click configuration object. More...
 

Macros

#define PROXIMITY21_REG_I2C_SLAVE_ADDRESS   0x0001
 Proximity 21 register list. More...
 
#define PROXIMITY21_REG_VHV_CONFIG_TIMEOUT   0x0008
 
#define PROXIMITY21_REG_XTALK_PLANE_OFFSET_KCPS   0x0016
 
#define PROXIMITY21_REG_XTALK_X_PLANE_GRADIENT_KCPS   0x0018
 
#define PROXIMITY21_REG_XTALK_Y_PLANE_GRADIENT_KCPS   0x001A
 
#define PROXIMITY21_REG_RANGE_OFFSET_MM   0x001E
 
#define PROXIMITY21_REG_INNER_OFFSET_MM   0x0020
 
#define PROXIMITY21_REG_OUTER_OFFSET_MM   0x0022
 
#define PROXIMITY21_REG_GPIO_HV_MUX_CTRL   0x0030
 
#define PROXIMITY21_REG_GPIO_TIO_HV_STATUS   0x0031
 
#define PROXIMITY21_REG_SYSTEM_INTERRUPT   0x0046
 
#define PROXIMITY21_REG_RANGE_CONFIG_A   0x005E
 
#define PROXIMITY21_REG_RANGE_CONFIG_B   0x0061
 
#define PROXIMITY21_REG_RANGE_CONFIG_SIGMA_THRESH   0x0064
 
#define PROXIMITY21_REG_MIN_COUNT_RATE_RTN_LIMIT_MCPS   0x0066
 
#define PROXIMITY21_REG_INTERMEASUREMENT_MS   0x006C
 
#define PROXIMITY21_REG_THRESH_HIGH   0x0072
 
#define PROXIMITY21_REG_THRESH_LOW   0x0074
 
#define PROXIMITY21_REG_SYSTEM_INTERRUPT_CLEAR   0x0086
 
#define PROXIMITY21_REG_SYSTEM_START   0x0087
 
#define PROXIMITY21_REG_RESULT_RANGE_STATUS   0x0089
 
#define PROXIMITY21_REG_RESULT_SPAD_NB   0x008C
 
#define PROXIMITY21_REG_RESULT_SIGNAL_RATE   0x008E
 
#define PROXIMITY21_REG_RESULT_AMBIENT_RATE   0x0090
 
#define PROXIMITY21_REG_RESULT_SIGMA   0x0092
 
#define PROXIMITY21_REG_RESULT_DISTANCE   0x0096
 
#define PROXIMITY21_REG_RESULT_OSC_CALIBRATE_VAL   0x00DE
 
#define PROXIMITY21_REG_FIRMWARE_SYSTEM_STATUS   0x00E5
 
#define PROXIMITY21_REG_MODEL_ID   0x010F
 
#define PROXIMITY21_RANGE_STATUS_VALID   0
 Proximity 21 range status setting. More...
 
#define PROXIMITY21_RANGE_STATUS_SIGMA_HIGH   1
 
#define PROXIMITY21_RANGE_STATUS_SIGMA_LOW   2
 
#define PROXIMITY21_RANGE_STATUS_DISTANCE_LOW   3
 
#define PROXIMITY21_RANGE_STATUS_PHASE_LIMIT   4
 
#define PROXIMITY21_RANGE_STATUS_HW_FAIL   5
 
#define PROXIMITY21_RANGE_STATUS_WRAP_CHECK   6
 
#define PROXIMITY21_RANGE_STATUS_PHASE_NO_MATCH   7
 
#define PROXIMITY21_RANGE_STATUS_PROCESSING_FAIL   8
 
#define PROXIMITY21_RANGE_STATUS_CROSSTALK_FAIL   9
 
#define PROXIMITY21_RANGE_STATUS_INTERRUPT_ERROR   10
 
#define PROXIMITY21_RANGE_STATUS_MERGED_TARGET   11
 
#define PROXIMITY21_RANGE_STATUS_SIGNAL_TOO_LOW   12
 
#define PROXIMITY21_RANGE_STATUS_ERROR   255
 
#define PROXIMITY21_DEVICE_ID   0xECAA
 Proximity 21 device ID setting. More...
 
#define PROXIMITY21_DEVICE_ADDRESS   0x29
 Proximity 21 device address setting. More...
 
#define PROXIMITY21_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  proximity21_return_value_t { PROXIMITY21_OK = 0, PROXIMITY21_ERROR = -1 }
 Proximity 21 Click return value data. More...
 

Functions

void proximity21_cfg_setup (proximity21_cfg_t *cfg)
 Proximity 21 configuration object setup function. More...
 
err_t proximity21_init (proximity21_t *ctx, proximity21_cfg_t *cfg)
 Proximity 21 initialization function. More...
 
err_t proximity21_default_cfg (proximity21_t *ctx)
 Proximity 21 default configuration function. More...
 
err_t proximity21_reg_write_bytes (proximity21_t *ctx, uint16_t reg, uint8_t *data_in, uint8_t len)
 Proximity 21 reg write bytes function. More...
 
err_t proximity21_reg_read_bytes (proximity21_t *ctx, uint16_t reg, uint8_t *data_out, uint8_t len)
 Proximity 21 reg read bytes function. More...
 
err_t proximity21_reg_write_byte (proximity21_t *ctx, uint16_t reg, uint8_t data_in)
 Proximity 21 reg write byte function. More...
 
err_t proximity21_reg_read_byte (proximity21_t *ctx, uint16_t reg, uint8_t *data_out)
 Proximity 21 reg read byte function. More...
 
err_t proximity21_reg_write_word (proximity21_t *ctx, uint16_t reg, uint16_t data_in)
 Proximity 21 reg write word function. More...
 
err_t proximity21_reg_read_word (proximity21_t *ctx, uint16_t reg, uint16_t *data_out)
 Proximity 21 reg read word function. More...
 
err_t proximity21_reg_write_dword (proximity21_t *ctx, uint16_t reg, uint32_t data_in)
 Proximity 21 reg write dword function. More...
 
err_t proximity21_reg_read_dword (proximity21_t *ctx, uint16_t reg, uint32_t *data_out)
 Proximity 21 reg read dword function. More...
 
void proximity21_disable_device (proximity21_t *ctx)
 Proximity 21 disable device function. More...
 
void proximity21_enable_device (proximity21_t *ctx)
 Proximity 21 enable device function. More...
 
uint8_t proximity21_get_gpio1_pin (proximity21_t *ctx)
 Proximity 21 get GPIO1 pin function. More...
 
err_t proximity21_check_comm (proximity21_t *ctx)
 Proximity 21 check comm function. More...
 
err_t proximity21_set_i2c_address (proximity21_t *ctx, uint8_t address)
 Proximity 21 set I2C address function. More...
 
err_t proximity21_clear_interrupt (proximity21_t *ctx)
 Proximity 21 clear interrupt function. More...
 
err_t proximity21_start_ranging (proximity21_t *ctx)
 Proximity 21 start ranging function. More...
 
err_t proximity21_stop_ranging (proximity21_t *ctx)
 Proximity 21 stop ranging function. More...
 
err_t proximity21_set_range_timing (proximity21_t *ctx, uint32_t timing_budget_ms, uint32_t inter_measurement_ms)
 Proximity 21 set range timing function. More...
 
err_t proximity21_get_result (proximity21_t *ctx, proximity21_data_t *results)
 Proximity 21 get result function. More...
 

Detailed Description

This file contains API for Proximity 21 Click Driver.

Enumeration Type Documentation

◆ proximity21_return_value_t

Proximity 21 Click return value data.

Predefined enum values for driver return values.

Enumerator
PROXIMITY21_OK 
PROXIMITY21_ERROR