23 #ifndef __ANALOGY_CHANNEL_RANGE__
24 #define __ANALOGY_CHANNEL_RANGE__
27 #define GCC_ZERO_LENGTH_ARRAY
29 #define GCC_ZERO_LENGTH_ARRAY 0
139 #define A4L_CHAN_AREF_GROUND 0x1
143 #define A4L_CHAN_AREF_COMMON 0x2
147 #define A4L_CHAN_AREF_DIFF 0x4
151 #define A4L_CHAN_AREF_OTHER 0x8
158 #define A4L_CHAN_GLOBAL 0x10
181 #define A4L_CHAN_GLOBAL_CHANDESC 0
185 #define A4L_CHAN_PERCHAN_CHANDESC 1
204 #define A4L_RNG_FACTOR 1000000
209 #define A4L_RNG_VOLT_UNIT 0x0
213 #define A4L_RNG_MAMP_UNIT 0x1
217 #define A4L_RNG_NO_UNIT 0x2
221 #define A4L_RNG_EXT_UNIT 0x4
225 #define A4L_RNG_UNIT(x) (x & (A4L_RNG_VOLT_UNIT | \
226 A4L_RNG_MAMP_UNIT | \
233 #define A4L_RNG_GLOBAL 0x8
249 #define RANGE(x,y) {(x * A4L_RNG_FACTOR), (y * A4L_RNG_FACTOR), \
254 #define RANGE_V(x,y) {(x * A4L_RNG_FACTOR),(y * A4L_RNG_FACTOR), \
259 #define RANGE_mA(x,y) {(x * A4L_RNG_FACTOR),(y * A4L_RNG_FACTOR), \
264 #define RANGE_ext(x,y) {(x * A4L_RNG_FACTOR),(y * A4L_RNG_FACTOR), \
269 #define A4L_RNGTAB(x) \
271 unsigned char length; \
274 typedef A4L_RNGTAB(GCC_ZERO_LENGTH_ARRAY) a4l_rngtab_t;
279 #define A4L_RNG_GLOBAL_RNGDESC 0
283 #define A4L_RNG_PERCHAN_RNGDESC 1
286 #define A4L_RNGDESC(x) \
288 unsigned char mode; \
289 unsigned char length; \
290 a4l_rngtab_t *rngtabs[x]; \
292 typedef A4L_RNGDESC(GCC_ZERO_LENGTH_ARRAY) a4l_rngdesc_t;
297 #define RNG_GLOBAL(x) { \
298 .mode = A4L_RNG_GLOBAL_RNGDESC, \
302 extern a4l_rngdesc_t a4l_range_bipolar10;
303 extern a4l_rngdesc_t a4l_range_bipolar5;
304 extern a4l_rngdesc_t a4l_range_unipolar10;
305 extern a4l_rngdesc_t a4l_range_unipolar5;
306 extern a4l_rngdesc_t a4l_range_unknown;
307 extern a4l_rngdesc_t a4l_range_fake;
309 #define range_digital a4l_range_unipolar5
Structure describing some channel's characteristics.
Definition: channel_range.h:164
unsigned long flags
Definition: channel_range.h:242
unsigned long flags
Definition: channel_range.h:165
long max
Definition: channel_range.h:241
unsigned long length
Definition: channel_range.h:195
unsigned long mode
Definition: channel_range.h:194
Structure describing a (unique) range.
Definition: channel_range.h:239
long min
Definition: channel_range.h:240
unsigned long nb_bits
Definition: channel_range.h:166
Structure describing a channels set.
Definition: channel_range.h:193
a4l_chan_t chans[GCC_ZERO_LENGTH_ARRAY]
Definition: channel_range.h:196