@@ -81,16 +81,6 @@ extern "C" {
8181# define ADS1X1X_PARAM_HIGH_LIMIT (20000U)
8282#endif
8383
84- /**
85- * @def ADS1X1X_BITS_RES
86- * @brief Default bit resolution
87- */
88- #if MODULE_ADS101X
89- # define ADS1X1X_BITS_RES (12)
90- #else /**<ADS111X */
91- # define ADS1X1X_BITS_RES (16)
92- #endif
93-
9484/**
9585 * @def ADS1X1X_PARAM_PGA
9686 * @brief Default programmable gain amplifier configuration
@@ -102,10 +92,12 @@ extern "C" {
10292/**
10393 * @brief Default data rate configuration
10494 */
105- #if MODULE_ADS101X
106- # define ADS1X1X_PARAM_DATAR (ADS1X1X_DATAR_1600)
107- #elif defined(MODULE_ADS111X )
108- # define ADS1X1X_PARAM_DATAR (ADS1X1X_DATAR_128)
95+ #if MODULE_ADS111X
96+ # define ADS111X_PARAM_DATAR (ADS1X1X_DATAR_128)
97+ # define ADS1X1X_PARAM_DATAR (ADS111X_PARAM_DATAR)
98+ #elif defined(MODULE_ADS101X )
99+ # define ADS101X_PARAM_DATAR (ADS1X1X_DATAR_1600)
100+ # define ADS1X1X_PARAM_DATAR (ADS101X_PARAM_DATAR)
109101#endif
110102
111103/**
@@ -148,26 +140,48 @@ extern "C" {
148140# define ADS1X1X_PARAM_COMP_QUEUE (ADS1X1X_COMP_QUEUE_DISABLE)
149141#endif
150142
143+ /**
144+ * @def ADS1X1X_PARAM_BITS_RES
145+ * @brief Resolution in bits of the ADC
146+ */
147+ #if MODULE_ADS101X
148+ # define ADS101X_PARAM_BITS_RES (12)
149+ # define ADS1X1X_PARAM_BITS_RES ADS101X_PARAM_BITS_RES
150+ #elif defined(MODULE_ADS111X )
151+ # define ADS111X_PARAM_BITS_RES (16)
152+ # define ADS1X1X_PARAM_BITS_RES ADS111X_PARAM_BITS_RES
153+ #endif
154+
151155/**
152156 * @def ADS1X1X_PARAMS
153157 * @brief Default ADS1X1X parameters structure
158+ *
159+ * @note The default parameter set defined here can only be used if a single type of
160+ * ADS101x/111x device is used. If devices of both types are used together, a
161+ * user-defined parameter set must be provided via @ref ADS1X1X_PARAMS.
162+ *
163+ * In this case, you must configure the parameters according to the device type:
164+ * - @ref ads1x1x_params_t::bits_res must be set to either
165+ * ADS101X_PARAM_BITS_RES or ADS111X_PARAM_BITS_RES.
166+ * - @ref ads1x1x_params_t::dr must also be set to either
167+ * ADS101X_PARAM_DATAR or ADS111X_PARAM_DATAR.
154168 */
155169#ifndef ADS1X1X_PARAMS
156- #define ADS1X1X_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
170+ # define ADS1X1X_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
157171 .addr = ADS1X1X_PARAM_ADDR, \
158172 .mux = ADS1X1X_PARAM_MUX, \
159173 .pga = ADS1X1X_PARAM_PGA, \
160174 .mode = ADS1X1X_PARAM_MODE, \
161- .dr = ADS1X1X_PARAM_DATAR }
162-
175+ .dr = ADS1X1X_PARAM_DATAR, \
176+ .bits_res = ADS1X1X_PARAM_BITS_RES }
163177#endif
164178
165179/**
166180 * @def ADS1X1X_ALERT_PARAMS
167181 * @brief Default ADS1X1X alert parameters structure
168182 */
169183#ifndef ADS1X1X_ALERT_PARAMS
170- #define ADS1X1X_ALERT_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
184+ # define ADS1X1X_ALERT_PARAMS { .i2c = ADS1X1X_PARAM_I2C, \
171185 .addr = ADS1X1X_PARAM_ADDR, \
172186 .comp_mode = ADS1X1X_PARAM_COMP_MODE, \
173187 .comp_polarity = ADS1X1X_PARAM_COMP_POLARITY, \
0 commit comments