@@ -85,24 +85,45 @@ extern "C" {
8585/** @} */
8686
8787/**
88- * @name ADS101x/111x data rate settings
89- * Configures the data rate (samples per second).
88+ * @name ADS101x/ADS111x Data Rate Settings
89+ * @brief Register bit definitions for configuring data rate (samples per second).
9090 * @{
9191 */
92- #define ADS1X1X_DATAR_MASK ((1 << 7) | (1 << 6) | (1 << 5)) /**< Mask for data rate bits */
93- #define ADS1X1X_DATAR_8 ((0 << 7) | (0 << 6) | (0 << 5)) /**< 8 SPS */
94- #define ADS1X1X_DATAR_16 ((0 << 7) | (0 << 6) | (1 << 5)) /**< 16 SPS */
95- #define ADS1X1X_DATAR_32 ((0 << 7) | (1 << 6) | (0 << 5)) /**< 32 SPS */
96- #define ADS1X1X_DATAR_64 ((0 << 7) | (1 << 6) | (1 << 5)) /**< 64 SPS */
97- #define ADS1X1X_DATAR_128 ((1 << 7) | (0 << 6) | (0 << 5)) /**< 128 SPS (default) */
98- #define ADS1X1X_DATAR_250 ((1 << 7) | (0 << 6) | (1 << 5)) /**< 250 SPS */
99- #define ADS1X1X_DATAR_475 ((1 << 7) | (1 << 6) | (0 << 5)) /**< 475 SPS */
100- #define ADS1X1X_DATAR_490 ((0 << 7) | (1 << 6) | (0 << 5)) /**< 490 SPS */
101- #define ADS1X1X_DATAR_860 ((1 << 7) | (1 << 6) | (1 << 5)) /**< 860 SPS */
102- #define ADS1X1X_DATAR_920 ((0 << 7) | (1 << 6) | (1 << 5)) /**< 920 SPS */
103- #define ADS1X1X_DATAR_1600 ((1 << 7) | (0 << 6) | (0 << 5)) /**< 1600 SPS */
104- #define ADS1X1X_DATAR_2400 ((1 << 7) | (0 << 6) | (1 << 5)) /**< 2400 SPS */
105- #define ADS1X1X_DATAR_3300 ((1 << 7) | (1 << 6) | (0 << 5)) /**< 3300 SPS */
92+
93+ #define ADS1X1X_DATAR_UNDEF (0xFF) /**< Undefined / invalid data rate */
94+ #define ADS1X1X_DATAR_MASK ((1 << 7) | (1 << 6) | (1 << 5)) /**< Bit mask for data rate field */
95+
96+ /**
97+ * @name ADS111x Data Rates
98+ * @brief Valid data rates for ADS111x (in SPS).
99+ * @{
100+ */
101+ #if MODULE_ADS111X
102+ # define ADS111X_DATAR_8 ((0 << 7) | (0 << 6) | (0 << 5)) /**< 8 SPS */
103+ # define ADS111X_DATAR_16 ((0 << 7) | (0 << 6) | (1 << 5)) /**< 16 SPS */
104+ # define ADS111X_DATAR_64 ((0 << 7) | (1 << 6) | (0 << 5)) /**< 64 SPS */
105+ # define ADS111X_DATAR_128 ((0 << 7) | (1 << 6) | (1 << 5)) /**< 128 SPS (default) */
106+ # define ADS111X_DATAR_250 ((1 << 7) | (0 << 6) | (0 << 5)) /**< 250 SPS */
107+ # define ADS111X_DATAR_475 ((1 << 7) | (0 << 6) | (1 << 5)) /**< 475 SPS */
108+ # define ADS111X_DATAR_860 ((1 << 7) | (1 << 6) | (0 << 5)) /**< 860 SPS (max) */
109+ #endif
110+ /** @} */
111+
112+ /**
113+ * @name ADS101x Data Rates
114+ * @brief Valid data rates for ADS101x (in SPS).
115+ * @{
116+ */
117+ #if MODULE_ADS101X
118+ # define ADS101X_DATAR_128 ((0 << 7) | (0 << 6) | (0 << 5)) /**< 128 SPS */
119+ # define ADS101X_DATAR_250 ((0 << 7) | (0 << 6) | (1 << 5)) /**< 250 SPS */
120+ # define ADS101X_DATAR_490 ((0 << 7) | (1 << 6) | (0 << 5)) /**< 490 SPS */
121+ # define ADS101X_DATAR_920 ((0 << 7) | (1 << 6) | (1 << 5)) /**< 920 SPS */
122+ # define ADS101X_DATAR_1600 ((1 << 7) | (0 << 6) | (0 << 5)) /**< 1600 SPS (default) */
123+ # define ADS101X_DATAR_2400 ((1 << 7) | (0 << 6) | (1 << 5)) /**< 2400 SPS */
124+ # define ADS101X_DATAR_3300 ((1 << 7) | (1 << 6) | (0 << 5)) /**< 3300 SPS (max) */
125+ #endif
126+ /** @} */
106127/** @} */
107128
108129/**
@@ -147,6 +168,27 @@ extern "C" {
147168#define ADS1X1X_COMP_QUEUE_DISABLE ((1 << 1) | (1 << 0)) /**< Disable comparator (default) */
148169/** @} */
149170
171+ /**
172+ * @name ADS101x/111x bit resolution
173+ * @{
174+ */
175+ #define ADS1X1X_BITS_RES_UNDEF (0) /**< Undefined resolution */
176+
177+ /**
178+ * @brief ADS101x 12-bit resolution
179+ */
180+ #if MODULE_ADS101X
181+ # define ADS101X_BITS_RES (12) /**< 12-bit resolution */
182+ #endif
183+
184+ /**
185+ * @brief ADS111x 16-bit resolution
186+ */
187+ #if MODULE_ADS111X
188+ # define ADS111X_BITS_RES (16) /**< 16-bit resolution */
189+ #endif
190+ /** @} */
191+
150192/**
151193 * @brief Mask for all alert-related configuration bits
152194 * (comparator mode, polarity, latch, queue).
0 commit comments