VEML6070: Adding separate i2c contexts for separate addresses

Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
This commit is contained in:
Abhishek Malik
2017-05-18 13:55:21 -07:00
parent c70f378f72
commit b4bc15201b
9 changed files with 56 additions and 148 deletions

View File

@@ -39,60 +39,35 @@ extern "C" {
#define VEML6070_SEQ1_DATA_BUF_REG 0x39 // read only
#define VEML6070_SEQ2_DATA_BUF_REG 0x38 // read only
typedef enum {
HALF_T = 0,
ONE_T,
TWO_T,
FOUR_T } veml6070_integration_time_t;
typedef enum {
HALF_T = 0,
ONE_T,
TWO_T,
FOUR_T } veml6070_integration_time_t;
/**
* @file veml6070.h
* @library veml6070
* @brief C API for the VEML6070 Vishay UV Sensor
*
* @include veml6070.c
*/
/**
* @file veml6070.h
* @library veml6070
* @brief C API for the VEML6070 Vishay UV Sensor
*
* @include veml6070.c
*/
typedef struct _veml6070_context {
mraa_i2c_context i2c;
uint8_t address;
uint8_t i2c_bus_number;
} *veml6070_context;
typedef struct _veml6070_context {
mraa_i2c_context i2c_seq1;
mraa_i2c_context i2c_seq2;
uint8_t address_seq1;
uint8_t address_seq2;
uint8_t i2c_bus_number;
} *veml6070_context;
/**
* VEML6070 Initialization function
*
* @param bus I2C bus to use
* @param address I2C address to use
*
* @return device context pointer
*/
veml6070_context veml6070_init(uint8_t bus, uint8_t address);
veml6070_context veml6070_init(uint8_t bus);
/**
* VEML6070 Close function
*
* @param dev veml6070_context pointer
*/
void veml6070_close(veml6070_context dev);
void veml6070_close(veml6070_context dev);
/**
* Function to get the UV values
*
* @param dev veml6070_context pointer
* @return int16_t UV value
*/
int16_t veml6070_get_uv_intensity(veml6070_context dev);
int16_t veml6070_get_uv_intensity(veml6070_context dev);
/**
* Function to set the integration time of the sensor
*
* @param dev veml6070_context pointer
* @param time veml6070_integration_time_t
*
* @return upm_result_t
*/
upm_result_t veml6070_set_integration_time(veml6070_context dev, veml6070_integration_time_t time);
upm_result_t veml6070_set_integration_time(veml6070_context dev, veml6070_integration_time_t time);
#ifdef __cplusplus
}