ads1x1x_params.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2017 OTA keys S.A.
3  * SPDX-FileCopyrightText: 2018 Acutam Automation, LLC
4  * SPDX-FileCopyrightText: 2025 Baptiste Le Duc <baptiste.leduc38@gmail.com>
5  * SPDX-License-Identifier: LGPL-2.1-only
6  */
7 
8 #pragma once
9 
22 #include "periph/i2c.h"
23 #include "saul_reg.h"
24 #include "ads1x1x.h"
25 #include "ads1x1x_internal.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
40 #ifndef ADS1X1X_PARAM_I2C
41 # define ADS1X1X_PARAM_I2C (I2C_DEV(0))
42 #endif
43 
48 #ifndef ADS1X1X_PARAM_ADDR
49 # define ADS1X1X_PARAM_ADDR (0x48)
50 #endif
51 
56 #ifndef ADS1X1X_PARAM_MUX
57 # define ADS1X1X_PARAM_MUX (ADS1X1X_AIN0_DIFFM_AIN1)
58 #endif
59 
64 #ifndef ADS1X1X_PARAM_ALERT_PIN
65 # define ADS1X1X_PARAM_ALERT_PIN (GPIO_UNDEF)
66 #endif
67 
72 #ifndef ADS1X1X_PARAM_LOW_LIMIT
73 # define ADS1X1X_PARAM_LOW_LIMIT (10000U)
74 #endif
75 
80 #ifndef ADS1X1X_PARAM_HIGH_LIMIT
81 # define ADS1X1X_PARAM_HIGH_LIMIT (20000U)
82 #endif
83 
88 #ifndef ADS1X1X_PARAM_PGA
89 # define ADS1X1X_PARAM_PGA (ADS1X1X_PGA_FSR_2V048)
90 #endif
91 
96 #ifndef ADS1X1X_PARAM_DATAR
97 # define ADS1X1X_PARAM_DATAR ADS1X1X_DATAR_UNDEF
98 #endif
99 
104 #ifndef ADS1X1X_PARAM_MODE
105 # define ADS1X1X_PARAM_MODE (ADS1X1X_MODE_SINGLE)
106 #endif
107 
112 #ifndef ADS1X1X_PARAM_COMP_MODE
113 # define ADS1X1X_PARAM_COMP_MODE (ADS1X1X_COMP_MODE_TRADITIONAL)
114 #endif
115 
120 #ifndef ADS1X1X_PARAM_COMP_POLARITY
121 # define ADS1X1X_PARAM_COMP_POLARITY (ADS1X1X_COMP_POLARITY_LOW)
122 #endif
123 
128 #ifndef ADS1X1X_PARAM_COMP_LATCH
129 # define ADS1X1X_PARAM_COMP_LATCH (ADS1X1X_COMP_LATCH_DISABLE)
130 #endif
131 
136 #ifndef ADS1X1X_PARAM_COMP_QUEUE
137 # define ADS1X1X_PARAM_COMP_QUEUE (ADS1X1X_COMP_QUEUE_DISABLE)
138 #endif
139 
144 #ifndef ADS1X1X_PARAM_BITS_RES
145 # define ADS1X1X_PARAM_BITS_RES (ADS1X1X_BITS_RES_UNDEF)
146 #endif
147 
170 #ifndef ADS1X1X_PARAMS
171 # define ADS1X1X_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
172  .addr = ADS1X1X_PARAM_ADDR, \
173  .mux = ADS1X1X_PARAM_MUX, \
174  .pga = ADS1X1X_PARAM_PGA, \
175  .mode = ADS1X1X_PARAM_MODE, \
176  .dr = ADS1X1X_PARAM_DATAR, \
177  .bits_res = ADS1X1X_PARAM_BITS_RES }
178 #endif
179 
184 #ifndef ADS1X1X_ALERT_PARAMS
185 # define ADS1X1X_ALERT_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
186  .addr = ADS1X1X_PARAM_ADDR, \
187  .comp_mode = ADS1X1X_PARAM_COMP_MODE, \
188  .comp_polarity = ADS1X1X_PARAM_COMP_POLARITY, \
189  .comp_latch = ADS1X1X_PARAM_COMP_LATCH, \
190  .comp_queue = ADS1X1X_PARAM_COMP_QUEUE, \
191  .alert_pin = ADS1X1X_PARAM_ALERT_PIN, \
192  .low_limit = ADS1X1X_PARAM_LOW_LIMIT, \
193  .high_limit = ADS1X1X_PARAM_HIGH_LIMIT }
194 #endif
195 
200 #ifndef ADS1X1X_SAUL_INFO
201  #define ADS1X1X_SAUL_INFO { .name = "ads1x1x" }
202 #endif
209 {
211 };
212 
217 {
219 };
220 
225 {
227 };
228 
229 #ifdef __cplusplus
230 }
231 #endif
232 
ADS101x/111x ADC device driver.
Internal definitions for ADS101x/111x devices.
#define ADS1X1X_ALERT_PARAMS
Default ADS1X1X alert parameters structure.
#define ADS1X1X_PARAMS
Default configuration parameters structure for ADS1X1X ADC devices.
#define ADS1X1X_SAUL_INFO
Additional SAUL registry information.
static const ads1x1x_params_t ads1x1x_params[]
ADS1X1X defaults if not defined for a board or application.
static const saul_reg_info_t ads1x1x_saul_info[]
Additional meta information to keep in the SAUL registry.
Low-level I2C peripheral driver interface definition.
SAUL registry interface definition.
ADS101x/111x alert params.
Definition: ads1x1x.h:67
ADS101x/111x params.
Definition: ads1x1x.h:54
Additional data to collect for each entry.
Definition: saul_reg.h:48