1515 * @brief I2C Analog-to-digital converter with programmable gain amplifier.
1616 * The device has four input channels: AIN0, AIN1, AIN2, and AIN3, that can be selected by using
1717 * @ref ads1115_set_ain_ch_input.
18- *
18+ *
1919 * @file
2020 * @brief ADS1115 Analog-to-digital converter driver
2121 *
@@ -33,39 +33,39 @@ extern "C" {
3333 * @brief Named return values
3434 */
3535enum {
36- ADS1115_OK = 0 , /**< Operation successful */
37- ADS1115_NOI2C = -1 , /**< I2C communication error */
38- ADS1115_NODEV = -2 , /**< No device found on the bus */
39- ADS1115_NODATA = -3 , /**< No data available */
36+ ADS1115_OK = 0 , /**< Operation successful */
37+ ADS1115_NOI2C = -1 , /**< I2C communication error */
38+ ADS1115_NODEV = -2 , /**< No device found on the bus */
39+ ADS1115_NODATA = -3 , /**< No data available */
4040};
4141/**
4242 * @brief Operational status bit in write operations
4343 */
44- typedef enum {
45- ADS1115_WRITE_NO_EFFECT = 0 , /**<no effect> */
46- ADS1115_WRITE_SINGLE_SHOT = 1 , /**<start a single-shot conversion when in power-down mode> */
44+ typedef enum {
45+ ADS1115_WRITE_NO_EFFECT = 0 , /**<no effect> */
46+ ADS1115_WRITE_SINGLE_SHOT = 1 , /**<start a single-shot conversion when in power-down mode> */
4747} ads1115_os_write_t ;
4848
4949/**
5050 * @brief Operational status bit in read operations
5151 */
52- typedef enum {
53- ADS1115_READ_BUSY = 0 , /**<device is currently performing a conversion> */
54- ADS1115_READ_IDLE = 1 , /**<device is not performing a conversion> */
52+ typedef enum {
53+ ADS1115_READ_BUSY = 0 , /**<device is currently performing a conversion> */
54+ ADS1115_READ_IDLE = 1 , /**<device is not performing a conversion> */
5555} ads1115_os_read_t ;
5656
5757/**
5858 * @brief Input multiplexer configuration
5959 */
6060typedef enum {
61- ADS1115_MUX_AIN0_AIN1 = 0 , /**<AIN0 - AIN1 differential input (AINp = AIN0 && AINn = AIN1) (default)*/
62- ADS1115_MUX_AIN0_AIN3 = 1 , /**<AIN0 - AIN3 differential input (AINp = AIN0 && AINn = AIN3) */
63- ADS1115_MUX_AIN1_AIN3 = 2 , /**<AIN1 - AIN3 differential input (AINp = AIN1 && AINn = AIN3) */
64- ADS1115_MUX_AIN2_AIN3 = 3 , /**<AIN2 - AIN3 differential input (AINp = AIN2 && AINn = AIN3) */
65- ADS1115_MUX_AIN0 = 4 , /**<AIN0 single-ended input (AINp = AIN0 && AINn = GND) */
66- ADS1115_MUX_AIN1 = 5 , /**<AIN1 single-ended input (AINp = AIN1 && AINn = GND) */
67- ADS1115_MUX_AIN2 = 6 , /**<AIN2 single-ended input (AINp = AIN2 && AINn = GND) */
68- ADS1115_MUX_AIN3 = 7 /**<AIN3 single-ended input (AINp = AIN3 && AINn = GND) */
61+ ADS1115_MUX_AIN0_AIN1 = 0 , /**<AIN0 - AIN1 differential input (AINp = AIN0 && AINn = AIN1) (default)*/
62+ ADS1115_MUX_AIN0_AIN3 = 1 , /**<AIN0 - AIN3 differential input (AINp = AIN0 && AINn = AIN3) */
63+ ADS1115_MUX_AIN1_AIN3 = 2 , /**<AIN1 - AIN3 differential input (AINp = AIN1 && AINn = AIN3) */
64+ ADS1115_MUX_AIN2_AIN3 = 3 , /**<AIN2 - AIN3 differential input (AINp = AIN2 && AINn = AIN3) */
65+ ADS1115_MUX_AIN0 = 4 , /**<AIN0 single-ended input (AINp = AIN0 && AINn = GND) */
66+ ADS1115_MUX_AIN1 = 5 , /**<AIN1 single-ended input (AINp = AIN1 && AINn = GND) */
67+ ADS1115_MUX_AIN2 = 6 , /**<AIN2 single-ended input (AINp = AIN2 && AINn = GND) */
68+ ADS1115_MUX_AIN3 = 7 /**<AIN3 single-ended input (AINp = AIN3 && AINn = GND) */
6969} ads1115_mux_t ;
7070
7171
@@ -89,71 +89,71 @@ typedef enum {
8989 * @brief Device mode
9090 */
9191typedef enum {
92- ADS1115_MODE_CONTINUOUS = 0 , /**< Continuous conversion mode */
93- ADS1115_MODE_SINGLE = 1 /**< Single-shot mode or power-down mode (default) */
92+ ADS1115_MODE_CONTINUOUS = 0 , /**< Continuous conversion mode */
93+ ADS1115_MODE_SINGLE = 1 /**< Single-shot mode or power-down mode (default) */
9494} ads1115_mode_t ;
9595
9696/**
9797 * @brief Data rate configuration
9898 */
9999typedef enum {
100- ADS1115_DR_8 = 0 , /**< 8 SPS */
101- ADS1115_DR_16 = 1 , /**< 16 SPS */
102- ADS1115_DR_32 = 2 , /**< 32 SPS */
103- ADS1115_DR_64 = 3 , /**< 64 SPS */
104- ADS1115_DR_128 = 4 , /**< 128 SPS (default) */
105- ADS1115_DR_250 = 5 , /**< 250 SPS */
106- ADS1115_DR_475 = 6 , /**< 475 SPS */
107- ADS1115_DR_860 = 7 /**< 860 SPS */
100+ ADS1115_DR_8 = 0 , /**< 8 SPS */
101+ ADS1115_DR_16 = 1 , /**< 16 SPS */
102+ ADS1115_DR_32 = 2 , /**< 32 SPS */
103+ ADS1115_DR_64 = 3 , /**< 64 SPS */
104+ ADS1115_DR_128 = 4 , /**< 128 SPS (default) */
105+ ADS1115_DR_250 = 5 , /**< 250 SPS */
106+ ADS1115_DR_475 = 6 , /**< 475 SPS */
107+ ADS1115_DR_860 = 7 /**< 860 SPS */
108108} ads1115_dr_t ;
109109
110110/**
111111 * @brief Comparator mode
112112 */
113113typedef enum {
114- ADS1115_COMP_MODE_TRADITIONAL = 0 , /**< Traditional comparator (default) */
115- ADS1115_COMP_MODE_WINDOW = 1 /**< Window comparator */
114+ ADS1115_COMP_MODE_TRADITIONAL = 0 , /**< Traditional comparator (default) */
115+ ADS1115_COMP_MODE_WINDOW = 1 /**< Window comparator */
116116} ads1115_comp_mode_t ;
117117
118118/**
119119 * @brief Comparator polarity
120120 */
121121typedef enum {
122- ADS1115_COMP_POLARITY_LOW = 0 , /**< Active low (default) */
123- ADS1115_COMP_POLARITY_HIGH = 1 /**< Active high */
122+ ADS1115_COMP_POLARITY_LOW = 0 , /**< Active low (default) */
123+ ADS1115_COMP_POLARITY_HIGH = 1 /**< Active high */
124124} ads1115_comp_polarity_t ;
125125/**
126126 * @brief Comparator latch
127127 */
128128typedef enum {
129- ADS1115_COMP_LATCH_DISABLE = 0 , /**< Comparator latch disabled (default) */
130- ADS1115_COMP_LATCH_ENABLE = 1 /**< Comparator latch enabled */
129+ ADS1115_COMP_LATCH_DISABLE = 0 , /**< Comparator latch disabled (default) */
130+ ADS1115_COMP_LATCH_ENABLE = 1 /**< Comparator latch enabled */
131131} ads1115_comp_latch_t ;
132132
133133/**
134134 * @brief Comparator queue
135135 */
136136typedef enum {
137- ADS1115_COMP_QUEUE_1 = 0 , /**< Assert after one conversion */
138- ADS1115_COMP_QUEUE_2 = 1 , /**< Assert after two conversions */
139- ADS1115_COMP_QUEUE_4 = 2 , /**< Assert after four conversions */
140- ADS1115_COMP_QUEUE_DISABLE = 3 /**< Disable comparator (default) */
137+ ADS1115_COMP_QUEUE_1 = 0 , /**< Assert after one conversion */
138+ ADS1115_COMP_QUEUE_2 = 1 , /**< Assert after two conversions */
139+ ADS1115_COMP_QUEUE_4 = 2 , /**< Assert after four conversions */
140+ ADS1115_COMP_QUEUE_DISABLE = 3 /**< Disable comparator (default) */
141141} ads1115_comp_queue_t ;
142142
143143/**
144144 * @brief ADS1115 parameters
145145 */
146146typedef struct {
147- i2c_t i2c ; /**< I2C device */
148- uint8_t addr ; /**< I2C address */
149- ads1115_mux_t mux ; /**< Input multiplexer configuration */
150- ads1115_pga_t pga ; /**< Programmable gain amplifier configuration */
151- ads1115_mode_t mode ; /**< Device mode */
152- ads1115_dr_t dr ; /**< Data rate configuration */
153- ads1115_comp_mode_t comp_mode ; /**< Comparator mode */
154- ads1115_comp_polarity_t comp_polarity ; /**< Comparator polarity */
155- ads1115_comp_latch_t comp_latch ; /**< Comparator latch */
156- ads1115_comp_queue_t comp_queue ; /**< Comparator queue */
147+ i2c_t i2c ; /**< I2C device */
148+ uint8_t addr ; /**< I2C address */
149+ ads1115_mux_t mux ; /**< Input multiplexer configuration */
150+ ads1115_pga_t pga ; /**< Programmable gain amplifier configuration */
151+ ads1115_mode_t mode ; /**< Device mode */
152+ ads1115_dr_t dr ; /**< Data rate configuration */
153+ ads1115_comp_mode_t comp_mode ; /**< Comparator mode */
154+ ads1115_comp_polarity_t comp_polarity ; /**< Comparator polarity */
155+ ads1115_comp_latch_t comp_latch ; /**< Comparator latch */
156+ ads1115_comp_queue_t comp_queue ; /**< Comparator queue */
157157} ads1115_params_t ;
158158
159159/**
@@ -176,7 +176,7 @@ typedef struct {
176176int ads1115_init (ads1115_t * dev , const ads1115_params_t * params );
177177
178178
179- /**
179+ /**
180180 * @brief Sets the input channel for the ADS1115 device.
181181 *
182182 * @param[in,out] dev Device descriptor
@@ -202,17 +202,17 @@ int ads1115_read_conversion(ads1115_t *dev, uint16_t *value);
202202static inline float _ads1115_get_pga_voltage (ads1115_pga_t pga )
203203{
204204 switch (pga ) {
205- case ADS1115_PGA_6_144V : return 6.144f ;
206- case ADS1115_PGA_4_096V : return 4.096f ;
207- case ADS1115_PGA_2_048V : return 2.048f ;
208- case ADS1115_PGA_1_024V : return 1.024f ;
209- case ADS1115_PGA_0_512V : return 0.512f ;
210- case ADS1115_PGA_0_256V :
211- case ADS1115_PGA_0_256V_B :
212- case ADS1115_PGA_0_256V_C :
213- return 0.256f ;
214- default :
215- return 0.0f ;
205+ case ADS1115_PGA_6_144V : return 6.144f ;
206+ case ADS1115_PGA_4_096V : return 4.096f ;
207+ case ADS1115_PGA_2_048V : return 2.048f ;
208+ case ADS1115_PGA_1_024V : return 1.024f ;
209+ case ADS1115_PGA_0_512V : return 0.512f ;
210+ case ADS1115_PGA_0_256V :
211+ case ADS1115_PGA_0_256V_B :
212+ case ADS1115_PGA_0_256V_C :
213+ return 0.256f ;
214+ default :
215+ return 0.0f ;
216216 }
217217}
218218
0 commit comments