I2C Analog-to-Digital Converter device driver. More...

Detailed Description

I2C Analog-to-Digital Converter device driver.

This driver works with ADS1013-4-5 and ADS1113-4-5.

This driver provides [S]ensor [A]ctuator [U]ber [L]ayer capabilities.

Files

file  ads1x1x_internal.h
 Internal definitions for ADS101x/111x devices.
 
file  ads1x1x_params.h
 Default configuration for ADS101x/111x devices.
 
file  ads1x1x.h
 ADS101x/111x ADC device driver.
 

Data Structures

struct  ads1x1x_params_t
 ADS101x/111x params. More...
 
struct  ads1x1x_alert_params
 ADS101x/111x alert params. More...
 
struct  ads1x1x
 ADS101x/111x device descriptor. More...
 
struct  ads1x1x_alert
 ADS101x/111x alert device descriptor. More...
 

Typedefs

typedef struct ads1x1x_alert_params ads1x1x_alert_params_t
 ADS101x/111x alert params.
 
typedef struct ads1x1x ads1x1x_t
 ADS101x/111x device descriptor.
 
typedef void(* ads1x1x_alert_cb_t) (void *)
 ADS101x/111x alert callback.
 
typedef struct ads1x1x_alert ads1x1x_alert_t
 ADS101x/111x alert device descriptor.
 

Enumerations

enum  {
  ADS1X1X_OK = 0 , ADS1X1X_NOI2C = -1 , ADS1X1X_NODEV = -2 , ADS1X1X_NODATA = -3 ,
  ADS1X1X_INVALID_ARG = -4 , ADS1X1X_GPIO_ERROR = -5
}
 Named return values. More...
 

Functions

int ads1x1x_init (ads1x1x_t *dev, const ads1x1x_params_t *params)
 Initialize an ADS101x/111x ADC device (ADC only) More...
 
int ads1x1x_set_parameters (ads1x1x_t *dev, const ads1x1x_params_t *params)
 Set ADS101x/111x parameters. More...
 
int ads1x1x_alert_init (ads1x1x_alert_t *dev, const ads1x1x_alert_params_t *params)
 Initialize an ADS101x/111x alert device. More...
 
int ads1x1x_set_mux (ads1x1x_t *dev, uint8_t mux)
 Set mux. More...
 
int ads1x1x_read_raw (const ads1x1x_t *dev, int16_t *raw)
 Read a raw ADC value. More...
 
int ads1x1x_enable_alert (ads1x1x_alert_t *dev, ads1x1x_alert_cb_t cb, void *arg, uint8_t nb_assert)
 Enable alert interrupt. More...
 
int ads1x1x_set_alert_parameters (ads1x1x_alert_t *dev, const ads1x1x_alert_params_t *params)
 Set the alert parameters. More...
 
int ads1x1x_convert_to_mv (const ads1x1x_t *dev, int16_t value)
 Converts the digital value from an ADS101x/111x device to millivolts. More...
 
int ads1x1x_reset (i2c_t i2c)
 Reset the ADS1X1X devices on the I2C bus. More...
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Named return values.

Enumerator
ADS1X1X_OK 

Operation successful.

ADS1X1X_NOI2C 

I2C communication error.

ADS1X1X_NODEV 

No device found on the bus.

ADS1X1X_NODATA 

No data available.

ADS1X1X_INVALID_ARG 

Invalid argument.

ADS1X1X_GPIO_ERROR 

GPIO error.

Definition at line 42 of file ads1x1x.h.

Function Documentation

◆ ads1x1x_alert_init()

int ads1x1x_alert_init ( ads1x1x_alert_t dev,
const ads1x1x_alert_params_t params 
)

Initialize an ADS101x/111x alert device.

Parameters
[in,out]devdevice descriptor
[in]paramsdevice configuration
Returns
zero on successful initialization, non zero on error

◆ ads1x1x_convert_to_mv()

int ads1x1x_convert_to_mv ( const ads1x1x_t dev,
int16_t  value 
)

Converts the digital value from an ADS101x/111x device to millivolts.

Parameters
[in]devDevice descriptor
[in]valueRaw value from the ADS101x/111x device
Returns
Converted value in millivolts

◆ ads1x1x_enable_alert()

int ads1x1x_enable_alert ( ads1x1x_alert_t dev,
ads1x1x_alert_cb_t  cb,
void *  arg,
uint8_t  nb_assert 
)

Enable alert interrupt.

Alert settings have no effect on ADS1013 and ADS1113.

Parameters
[in]devdevice descriptor
[in]cbcallback called when the alert fires
[in]argcallback argument
[in]nb_assertnumber of assertions before triggering alert
Returns
zero on success, non zero on error

◆ ads1x1x_init()

int ads1x1x_init ( ads1x1x_t dev,
const ads1x1x_params_t params 
)

Initialize an ADS101x/111x ADC device (ADC only)

Parameters
[in,out]devdevice descriptor
[in]paramsdevice configuration
Returns
zero on successful initialization, non zero on error

◆ ads1x1x_read_raw()

int ads1x1x_read_raw ( const ads1x1x_t dev,
int16_t *  raw 
)

Read a raw ADC value.

Parameters
[in]devdevice descriptor
[out]rawread value
Returns
zero on successful read, non zero on error

◆ ads1x1x_reset()

int ads1x1x_reset ( i2c_t  i2c)

Reset the ADS1X1X devices on the I2C bus.

Performs a general i2c call to reset the devices.

Parameters
[in]i2cI2C device
Returns
zero on success, non zero on error

◆ ads1x1x_set_alert_parameters()

int ads1x1x_set_alert_parameters ( ads1x1x_alert_t dev,
const ads1x1x_alert_params_t params 
)

Set the alert parameters.

Alert settings have no effect on ADS1013 and ADS1113.

Parameters
[in,out]devdevice descriptor
[in]paramsdevice configuration
Returns
zero on success, non zero on error

◆ ads1x1x_set_mux()

int ads1x1x_set_mux ( ads1x1x_t dev,
uint8_t  mux 
)

Set mux.

Mux settings have no effect on ADS1013-4 and ADS1113-4. Gain settings have no effect on ADS1013 and ADS1113.

Parameters
[in]devdevice descriptor
[in]muxmux bits
Returns
zero on successful read, non zero on error

◆ ads1x1x_set_parameters()

int ads1x1x_set_parameters ( ads1x1x_t dev,
const ads1x1x_params_t params 
)

Set ADS101x/111x parameters.

Parameters
[in,out]devdevice descriptor
[in]paramsdevice configuration
Returns
zero on success, non zero on error