@@ -85,24 +85,45 @@ extern "C" {
85
85
/** @} */
86
86
87
87
/**
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).
90
90
* @{
91
91
*/
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 (-1) /**< 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
+ /** @} */
106
127
/** @} */
107
128
108
129
/**
@@ -147,6 +168,27 @@ extern "C" {
147
168
#define ADS1X1X_COMP_QUEUE_DISABLE ((1 << 1) | (1 << 0)) /**< Disable comparator (default) */
148
169
/** @} */
149
170
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
+
150
192
/**
151
193
* @brief Mask for all alert-related configuration bits
152
194
* (comparator mode, polarity, latch, queue).
0 commit comments