proximity15 2.0.0.0
proximity15.h File Reference

This file contains API for Proximity 15 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  proximity15_t
 Proximity 15 Click context object. More...
 
struct  proximity15_cfg_t
 Proximity 15 Click configuration object. More...
 

Macros

#define PROXIMITY15_REG_SOFT_RESET   0x0000
 Proximity 15 Reference registers.
 
#define PROXIMITY15_REG_PAD_I2C_HV_CFG   0x002D
 
#define PROXIMITY15_REG_CFG_TIMEOUT_MACROP   0x004B
 
#define PROXIMITY15_REG_CFG_TIMEOUT_MACROP_A_HI   0x005E
 
#define PROXIMITY15_REG_CFG_VCSEL_PERIOD_A   0x0060
 
#define PROXIMITY15_REG_CFG_TIMEOUT_MACROP_B_HI   0x0061
 
#define PROXIMITY15_REG_CFG_VCSEL_PERIOD_B   0x0063
 
#define PROXIMITY15_REG_CFG_VALID_PHASE_HIGH   0x0069
 
#define PROXIMITY15_REG_SYSTEM_INT_MEAS_PERIOD   0x006C
 
#define PROXIMITY15_REG_SD_CFG_WOI_SD0   0x0078
 
#define PROXIMITY15_REG_SD_CFG_INIT_PHASE_SD0   0x007A
 
#define PROXIMITY15_REG_SYSTEM_INTERRUPT_CLEAR   0x0086
 
#define PROXIMITY15_REG_SYSTEM_MODE_START   0x0087
 
#define PROXIMITY15_REG_RES_FINAL_RANGE_MM_SD0   0x0096
 
#define PROXIMITY15_REG_RES_OSC_CALIB_VAL   0x00DE
 
#define PROXIMITY15_REG_MODEL_ID   0x010F
 
#define PROXIMITY15_REG_MODULE_TYPE   0x0110
 
#define PROXIMITY15_MODEL_ID   0xEA
 Proximity 15 Reference registers values.
 
#define PROXIMITY15_MODULE_TYPE   0xCC
 
#define PROXIMITY15_SOFT_RESET_ENTER   0x00
 Proximity 15 registers settings.
 
#define PROXIMITY15_SOFT_RESET_EXIT   0x01
 
#define PROXIMITY15_START_RANGING   0x40
 
#define PROXIMITY15_STOP_RANGING   0x00
 
#define PROXIMITY15_CLEAR_INTERRUPT   0x01
 
#define PROXIMITY15_MEASURE_PERIOD_CONST   1.075
 
#define PROXIMITY15_TIMEOUT_MACROP_SHORT   0x14
 
#define PROXIMITY15_TIMEOUT_MACROP_LONG   0x0A
 
#define PROXIMITY15_DISTANCE_MODE_SHORT   0x01
 
#define PROXIMITY15_DISTANCE_MODE_LONG   0x02
 
#define PROXIMITY15_SET_DEV_ADDR   0x29
 Proximity 15 device address setting.
 
#define PROXIMITY15_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  proximity15_return_value_t { PROXIMITY15_OK = 0 , PROXIMITY15_ERROR = -1 }
 Proximity 15 Click return value data. More...
 
enum  proximity15_timing_budget_t {
  PROXIMITY15_TIMING_BUDGET_15MS = 0 , PROXIMITY15_TIMING_BUDGET_20MS , PROXIMITY15_TIMING_BUDGET_33MS , PROXIMITY15_TIMING_BUDGET_50MS ,
  PROXIMITY15_TIMING_BUDGET_100MS , PROXIMITY15_TIMING_BUDGET_200MS , PROXIMITY15_TIMING_BUDGET_500MS
}
 Proximity 15 Click timing budget values. More...
 

Functions

void proximity15_cfg_setup (proximity15_cfg_t *cfg)
 Proximity 15 configuration object setup function.
 
err_t proximity15_init (proximity15_t *ctx, proximity15_cfg_t *cfg)
 Proximity 15 initialization function.
 
err_t proximity15_default_cfg (proximity15_t *ctx)
 Proximity 15 default configuration function.
 
err_t proximity15_write_registers (proximity15_t *ctx, uint16_t reg, uint8_t *tx_buf, uint8_t tx_len)
 Proximity 15 write registers function.
 
err_t proximity15_read_registers (proximity15_t *ctx, uint16_t reg, uint8_t *rx_buf, uint8_t rx_len)
 Proximity 15 read registers function.
 
err_t proximity15_write_register (proximity15_t *ctx, uint16_t reg, uint8_t tx_data)
 Proximity 15 write register function.
 
err_t proximity15_read_register (proximity15_t *ctx, uint16_t reg, uint8_t *rx_data)
 Proximity 15 read register function.
 
err_t proximity15_check_communication (proximity15_t *ctx)
 Proximity 15 check communication function.
 
err_t proximity15_software_reset (proximity15_t *ctx)
 Proximity 15 software reset function.
 
err_t proximity15_get_distance (proximity15_t *ctx, uint16_t *distance)
 Proximity 15 get distance function.
 
void proximity15_enable_sensor (proximity15_t *ctx)
 Proximity 15 enable sensor function.
 
void proximity15_disable_sensor (proximity15_t *ctx)
 Proximity 15 disable sensor function.
 
uint8_t proximity15_get_int_pin (proximity15_t *ctx)
 Proximity 15 get int pin function.
 
err_t proximity15_start_ranging (proximity15_t *ctx)
 Proximity 15 start ranging function.
 
err_t proximity15_stop_ranging (proximity15_t *ctx)
 Proximity 15 stop ranging function.
 
err_t proximity15_clear_interrupt (proximity15_t *ctx)
 Proximity 15 clear interrupt function.
 
err_t proximity15_set_inter_measurement_period (proximity15_t *ctx, uint16_t time_ms)
 Proximity 15 set inter measurement period function.
 
err_t proximity15_set_distance_mode (proximity15_t *ctx, uint8_t mode)
 Proximity 15 set distance mode function.
 
err_t proximity15_get_distance_mode (proximity15_t *ctx, uint8_t *mode)
 Proximity 15 get distance mode function.
 
err_t proximity15_set_timing_budget (proximity15_t *ctx, proximity15_timing_budget_t time)
 Proximity 15 set timing budget function.
 
err_t proximity15_get_timing_budget (proximity15_t *ctx, proximity15_timing_budget_t *time)
 Proximity 15 get timing budget function.
 

Detailed Description

This file contains API for Proximity 15 Click Driver.

Enumeration Type Documentation

◆ proximity15_return_value_t

Proximity 15 Click return value data.

Predefined enum values for driver return values.

Enumerator
PROXIMITY15_OK 
PROXIMITY15_ERROR 

◆ proximity15_timing_budget_t

Proximity 15 Click timing budget values.

Predefined enum values for timing budget.

Note
15MS is valid in short distance mode only.
Enumerator
PROXIMITY15_TIMING_BUDGET_15MS 
PROXIMITY15_TIMING_BUDGET_20MS 
PROXIMITY15_TIMING_BUDGET_33MS 
PROXIMITY15_TIMING_BUDGET_50MS 
PROXIMITY15_TIMING_BUDGET_100MS 
PROXIMITY15_TIMING_BUDGET_200MS 
PROXIMITY15_TIMING_BUDGET_500MS