proximity7 2.0.0.0
proximity7.h File Reference

This file contains API for PROXIMITY 7 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  proximity7_t
 Click ctx object definition. More...
 
struct  proximity7_const_t
 
struct  proximity7_cfg_t
 Click configuration structure definition. More...
 

Macros

#define PROXIMITY7_MAP_MIKROBUS(cfg, mikrobus)
 
#define PROXIMITY7_RETVAL   uint8_t
 
#define PROXIMITY7_OK   0x00
 
#define PROXIMITY7_INIT_ERROR   0xFF
 
#define PROXIMITY7_DEVICE_ADDRESS   0x39
 
#define PROXIMITY7_REPEATED_BYTE   0x80
 
#define PROXIMITY7_AUTO_INCREMENT   0xA0
 
#define PROXIMITY7_RESERVED   0xC0
 
#define PROXIMITY7_SPECIAL_FUNCTION   0xE0
 
#define PROXIMITY7_NO_ACTION   0x00
 
#define PROXIMITY7_PROXIMITY_INT_PIN_CLEAR   0x05
 
#define PROXIMITY7_ALS_INT_PIN_CLEAR   0x06
 
#define PROXIMITY7_PROXIMITY_AND_ALS_INT_PIN_CLEAR   0x07
 
#define PROXIMITY7_ENABLE   0x00
 
#define PROXIMITY7_ALS_ADC_TIME   0x01
 
#define PROXIMITY7_PROXIMITY_ADC_TIME   0x02
 
#define PROXIMITY7_WAIT_TIME   0x03
 
#define PROXIMITY7_LOW_ALS_INT_PIN_THRESHOLD_LOW   0x04
 
#define PROXIMITY7_LOW_ALS_INT_PIN_THRESHOLD_HIGH   0x05
 
#define PROXIMITY7_HIGH_ALS_INT_PIN_THRESHOLD_LOW   0x06
 
#define PROXIMITY7_HIGH_ALS_INT_PIN_THRESHOLD_HIGH   0x07
 
#define PROXIMITY7_LOW_PROXIMITY_INT_PIN_THRESHOLD_LOW   0x08
 
#define PROXIMITY7_LOW_PROXIMITY_INT_PIN_THRESHOLD_HIGH   0x09
 
#define PROXIMITY7_HIGH_PROXIMITY_INT_PIN_THRESHOLD_LOW   0x0A
 
#define PROXIMITY7_HIGH_PROXIMITY_INT_PIN_THRESHOLD_HIGH   0x0B
 
#define PROXIMITY7_INT_PIN_PERSISTANCE_FILTERS   0x0C
 
#define PROXIMITY7_CONFIGURATION   0x0D
 
#define PROXIMITY7_PROXIMITY_PULSE_COUNT   0x0E
 
#define PROXIMITY7_GAIN_CONTROL   0x0F
 
#define PROXIMITY7_ID   0x12
 
#define PROXIMITY7_STATUS   0x13
 
#define PROXIMITY7_CH0_ADC_DATA_LOW   0x14
 
#define PROXIMITY7_CH0_ADC_DATA_HIGH   0x15
 
#define PROXIMITY7_CH1_ADC_DATA_LOW   0x16
 
#define PROXIMITY7_CH1_ADC_DATA_HIGH   0x17
 
#define PROXIMITY7_PROXIMITY_ADC_DATA_LOW   0x18
 
#define PROXIMITY7_PROXIMITY_ADC_DATA_HIGH   0x19
 
#define PROXIMITY7_PROXIMITY_OFFSET   0x1E
 
#define PROXIMITY7_SLEEP_AFTER_INT_PIN   0x40
 
#define PROXIMITY7_PROXIMITY_INT_PIN_MASK   0x20
 
#define PROXIMITY7_ALS_INT_PIN_MASK   0x10
 
#define PROXIMITY7_WAIT_ENA   0x08
 
#define PROXIMITY7_PROXIMITY_ENA   0x04
 
#define PROXIMITY7_ALS_ENA   0x02
 
#define PROXIMITY7_POWER_ON   0x01
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_EVERY   0x00
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_1   0x10
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_2   0x20
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_3   0x30
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_4   0x40
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_5   0x50
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_6   0x60
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_7   0x70
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_8   0x80
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_9   0x90
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_10   0xA0
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_11   0xB0
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_12   0xC0
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_13   0xD0
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_14   0xE0
 
#define PROXIMITY7_PPERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_15   0xF0
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_EVERY   0x00
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_1   0x01
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_2   0x02
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_3   0x03
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_5   0x04
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_10   0x05
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_15   0x06
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_20   0x07
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_25   0x08
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_30   0x09
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_35   0x0A
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_40   0x0B
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_45   0x0C
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_50   0x0D
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_55   0x0E
 
#define PROXIMITY7_APERS_CONSECUTIVE_VALUES_OUT_OF_RANGE_60   0x0F
 
#define PROXIMITY7_ALS_GAIN_LEVEL   0x04
 
#define PROXIMITY7_WAIT_LONG   0x02
 
#define PROXIMITY7_PROXIMITY_DRIVE_LEVEL   0x01
 
#define PROXIMITY7_LED_DRIVE_100mA   0x00
 
#define PROXIMITY7_LED_DRIVE_50mA   0x40
 
#define PROXIMITY7_LED_DRIVE_25mA   0x80
 
#define PROXIMITY7_LED_DRIVE_12p5mA   0xC0
 
#define PROXIMITY7_PROXIMITY_DIODE_CH1   0x20
 
#define PROXIMITY7_PROXIMITY_GAIN_1x   0x00
 
#define PROXIMITY7_PROXIMITY_GAIN_2x   0x04
 
#define PROXIMITY7_PROXIMITY_GAIN_4x   0x08
 
#define PROXIMITY7_PROXIMITY_GAIN_8x   0x0C
 
#define PROXIMITY7_ALS_GAIN_1x   0x00
 
#define PROXIMITY7_ALS_GAIN_8x   0x01
 
#define PROXIMITY7_ALS_GAIN_16x   0x02
 
#define PROXIMITY7_ALS_GAIN_120x   0x03
 
#define PROXIMITY7_PROXIMITY_SATURATION_MASK   0x40
 
#define PROXIMITY7_PROXIMITY_INT_PINERRUPT_MASK   0x20
 
#define PROXIMITY7_ALS_INT_PINERRUPT_MASK   0x10
 
#define PROXIMITY7_PROXIMITY_VALID_MASK   0x02
 
#define PROXIMITY7_ALS_VALID_MASK   0x01
 
#define PROXIMITY7_NEGATIVE   0x00
 
#define PROXIMITY7_POSITIVE   0x80
 

Functions

void proximity7_cfg_setup (proximity7_cfg_t *cfg)
 Config Object Initialization function.
 
uint8_t proximity7_init (proximity7_t *ctx, proximity7_cfg_t *cfg)
 Initialization function.
 
void proximity7_default_cfg (proximity7_t *ctx)
 Click Default Configuration function.
 
void proximity7_generic_write (proximity7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void proximity7_generic_read (proximity7_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
uint8_t proximity7_set_als_integration_time (proximity7_t *ctx, float integration_time)
 Setting ALS int_pinegration time.
 
uint8_t proximity7_set_proximity_integration_time (proximity7_t *ctx, float integration_time)
 Setting proximity int_pinegration time.
 
uint8_t proximity7_set_wait_time (proximity7_t *ctx, float wait_time)
 Setting wait time.
 
void proximity7_set_low_alsCh0_threshold (proximity7_t *ctx, uint16_t low_als_ch0_threshold)
 Setting low ALS Ch0 threshold value.
 
void proximity7_set_high_alsCh0_threshold (proximity7_t *ctx, uint16_t high_als_ch0_threshold)
 Setting high ALS Ch0 threshold value.
 
void proximity7_set_low_proximity_threshold (proximity7_t *ctx, uint16_t low_proximity_threshold)
 Setting low proximity threshold.
 
void proximity7_set_high_proximity_threshold (proximity7_t *ctx, uint16_t high_proximity_threshold)
 Setting high proximity threshold.
 
void proximity7_set_int_persistance (proximity7_t *ctx, uint16_t proximity_int_persistence, uint16_t als_int_persistence)
 Setting int_pinerrupt persistance.
 
void proximity7_set_proximity_pulse_count (proximity7_t *ctx, uint8_t proximity_pulse_count)
 Setting proximity pulse count.
 
uint16_t proximity7_get_als_data_ch0 (proximity7_t *ctx)
 Getting channel measurement data.
 
uint16_t proximity7_get_als_data_ch1 (proximity7_t *ctx)
 Getting channel 1 measurement data.
 
uint16_t proximity7_get_proximity_data (proximity7_t *ctx)
 Getting proximity measurement data.
 
uint8_t proximity7_set_proximity_offset (proximity7_t *ctx, uint8_t proximity_offset_sign, uint8_t proximity_offset_magnitude)
 Setting proximity offset.
 
float proximity7_get_lux_level (proximity7_t *ctx)
 Calculating LUX level.
 
uint8_t proximity7_get_int_pin (proximity7_t *ctx)
 Checking INT_pin pin status.
 
void proximity7_set_constants (proximity7_t *ctx, proximity7_const_t *set_const_data)
 Generic read function.
 

Detailed Description

This file contains API for PROXIMITY 7 Click driver.