ADCXX1C ADC device driver¶
I2C Analog-to-Digital Converter device driver.
This driver works with adc081c, adc101c and adc121c versions.
This driver provides [S]ensor [A]ctuator [U]ber [L]ayer capabilities.
-
enum
@99
¶ - ADCXX1C_RES_8BITS
= 8
- 8 bits resolution (ADC081C family)
- ADCXX1C_RES_10BITS
= 10
- 10 bits resolution (ADC101C family)
- ADCXX1C_RES_12BITS
= 12
- 12 bits resolution (ADC121C family)
- ADCXX1C_RES_8BITS
-
enum
@100
¶ - ADCXX1C_CYCLE_DISABLED
= 0
- No cycle conversion.
- ADCXX1C_CYCLE_32
- Conversion cycle = Tconvert x 32.
- ADCXX1C_CYCLE_64
- Conversion cycle = Tconvert x 64.
- ADCXX1C_CYCLE_128
- Conversion cycle = Tconvert x 128.
- ADCXX1C_CYCLE_256
- Conversion cycle = Tconvert x 256.
- ADCXX1C_CYCLE_512
- Conversion cycle = Tconvert x 512.
- ADCXX1C_CYCLE_1024
- Conversion cycle = Tconvert x 1024.
- ADCXX1C_CYCLE_2048
- Conversion cycle = Tconvert x 2048.
- ADCXX1C_CYCLE_DISABLED
-
enum
@101
¶ - ADCXX1C_OK
= 0
- everything was fine
- ADCXX1C_NOI2C
= -1
- I2C communication failed.
- ADCXX1C_NODEV
= -2
- no ADCXX1C device found on the bus
- ADCXX1C_NODATA
= -3
- no data available
- ADCXX1C_OK
-
struct adcxx1c_params
adcxx1c_params_t
¶ ADCxx1C params.
-
void(*
adcxx1c_cb_t
()¶ ADCxx1C alert callback.
-
int
adcxx1c_init
(adcxx1c.h::adcxx1c_t
* dev, constadcxx1c.h::adcxx1c_params_t
* params)¶ Initialize an ADCxx1C ADC device.
Parameters
dev: device descriptor params: device configuration Return values
- zero on successful initialization, non zero on error
-
int
adcxx1c_read_raw
(constadcxx1c.h::adcxx1c_t
* dev, int16_t * raw)¶ Read a raw ADC value.
Parameters
dev: device descriptor raw: read value Return values
- zero on successful read, non zero on error
-
int
adcxx1c_enable_alert
(adcxx1c.h::adcxx1c_t
* dev,adcxx1c.h::adcxx1c_cb_t
cb, void * arg)¶ Enable alert interrupt.
Parameters
dev: device descriptor cb: callback called when the alert fires arg: callback argument Return values
- zero on success, non zero on error
-
int
adcxx1c_set_alert_parameters
(constadcxx1c.h::adcxx1c_t
* dev, int16_t low_limit, int16_t high_limit, int16_t hysteresis)¶ Set the alert parameters.
Parameters
dev: device descriptor low_limit: alert low limit high_limit: alert high limit hysteresis: alert hysteresis Return values
- zero on success, non zero on error
-
ADCXX1C_I2C_ADDRESS
¶ ADCxx1C default address (ADCxx1C021 address)
1
(0x54)
-
ADCXX1C_RES_DEFAULT
¶ ADC default resolution for device variants.
1
(-1)
-
struct
adcxx1c_params
¶ ADCxx1C params.
-
i2c.h::i2c_t
i2c
¶ i2c device
-
uint8_t
addr
¶ i2c address
-
uint8_t
bits
¶ resolution
-
uint8_t
cycle
¶ conversion interval
-
gpio.h::gpio_t
alert_pin
¶ alert pin (GPIO_UNDEF if not connected)
-
int16_t
low_limit
¶ alert low value
-
int16_t
high_limit
¶ alert high value
-
int16_t
hysteresis
¶ alert hysteresis
-
-
struct
adcxx1c
¶ ADCxx1C device descriptor.
-
adcxx1c.h::adcxx1c_params_t
params
¶ device driver configuration
-
adcxx1c.h::adcxx1c_cb_t
cb
¶ alert callback
-
void *
arg
¶ alert callback param
-