Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ads1220.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Baumer Group
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_ADC_ADS1220_H_
8#define ZEPHYR_INCLUDE_DRIVERS_ADC_ADS1220_H_
9
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
28
30#define ADS1220_RESOLUTION 24u
32#define ADS1220_CHANNELS 4u
34#define ADS1220_CHANNEL_ID 0x00u
35
37#define ADS1220_REG0_MUX_MSK 0xF0u
39#define ADS1220_REG0_MUX_AIN0_AIN1 (0x0u << 0x04)
41#define ADS1220_REG0_MUX_AIN0_AIN2 (0x1u << 0x04)
43#define ADS1220_REG0_MUX_AIN0_AIN3 (0x2u << 0x04)
45#define ADS1220_REG0_MUX_AIN1_AIN2 (0x3u << 0x04)
47#define ADS1220_REG0_MUX_AIN1_AIN3 (0x4u << 0x04)
49#define ADS1220_REG0_MUX_AIN2_AIN3 (0x5u << 0x04)
51#define ADS1220_REG0_MUX_AIN1_AIN0 (0x6u << 0x04)
53#define ADS1220_REG0_MUX_AIN3_AIN2 (0x7u << 0x04)
55#define ADS1220_REG0_MUX_AIN0_AVSS (0x8u << 0x04)
57#define ADS1220_REG0_MUX_AIN1_AVSS (0x9u << 0x04)
59#define ADS1220_REG0_MUX_AIN2_AVSS (0xAu << 0x04)
61#define ADS1220_REG0_MUX_AIN3_AVSS (0xBu << 0x04)
63#define ADS1220_REG0_MUX_V_REF (0xCu << 0x04)
65#define ADS1220_REG0_MUX_AVDD_AVSS_1 (0xDu << 0x04)
67#define ADS1220_REG0_MUX_AVDD_AVSS_2 (0xEu << 0x04)
69#define ADS1220_REG0_MUX_RESERVED (0xFu << 0x04)
70
72#define ADS1220_REG0_GAIN_MSK 0x0Eu
74#define ADS1220_REG0_GAIN_1 (0x0u << 0x01)
76#define ADS1220_REG0_GAIN_2 (0x1u << 0x01)
78#define ADS1220_REG0_GAIN_4 (0x2u << 0x01)
80#define ADS1220_REG0_GAIN_8 (0x3u << 0x01)
82#define ADS1220_REG0_GAIN_16 (0x4u << 0x01)
84#define ADS1220_REG0_GAIN_32 (0x5u << 0x01)
86#define ADS1220_REG0_GAIN_64 (0x6u << 0x01)
88#define ADS1220_REG0_GAIN_128 (0x7u << 0x01)
89
91#define ADS1220_REG0_PGA_BYPASS BIT(0)
92
94#define ADS1220_REG1_DR_MSK 0xE0u
96#define ADS1220_REG1_DR_POS 0x5u
97
99#define ADS1220_REG1_MODE_MSK 0x18u
101#define ADS1220_REG1_MODE_POS 0x3u
103#define ADS1220_REG1_MODE_NORMAL (0x0u << 0x03)
105#define ADS1220_REG1_MODE_DUTY_CYCLE (0x1u << 0x03)
107#define ADS1220_REG1_MODE_TURBO (0x2u << 0x03)
108
110#define ADS1220_REG1_CM BIT(2)
112#define ADS1220_REG1_TS BIT(1)
114#define ADS1220_REG1_BCS BIT(0)
115
117#define ADS1220_REG2_VREF_MSK 0xC0u
119#define ADS1220_REG2_VREF_INT (0x0u << 0x06)
121#define ADS1220_REG2_VREF_EXT_0 (0x1u << 0x06)
123#define ADS1220_REG2_VREF_EXT_1 (0x2u << 0x06)
125#define ADS1220_REG2_VREF_SUPPLY (0x3u << 0x06)
126
128#define ADS1220_REG2_50_60HZ_MSK 0x30u
130#define ADS1220_REG2_50_60HZ_NONE (0x0u << 0x04)
132#define ADS1220_REG2_50_60HZ_50HZ (0x1u << 0x04)
134#define ADS1220_REG2_50_60HZ_60HZ (0x2u << 0x04)
136#define ADS1220_REG2_50_60HZ_BOTH (0x3u << 0x04)
137
139#define ADS1220_REG2_PSW BIT(3)
140
142#define ADS1220_REG2_IDAC_MSK 0x07u
144#define ADS1220_REG2_IDAC_OFF (0x0u)
146#define ADS1220_REG2_IDAC_10UA (0x1u)
148#define ADS1220_REG2_IDAC_50UA (0x2u)
150#define ADS1220_REG2_IDAC_100UA (0x3u)
152#define ADS1220_REG2_IDAC_250UA (0x4u)
154#define ADS1220_REG2_IDAC_500UA (0x5u)
156#define ADS1220_REG2_IDAC_1000UA (0x6u)
158#define ADS1220_REG2_IDAC_1500UA (0x7u)
159
161#define ADS1220_REG3_I1MUX_MSK 0xE0u
163#define ADS1220_REG3_I1MUX_POS 0x5u
165#define ADS1220_REG3_I1MUX_DISABLED (0x0u << 0x05)
167#define ADS1220_REG3_I1MUX_AIN0_REFP1 (0x1u << 0x05)
169#define ADS1220_REG3_I1MUX_AIN1 (0x2u << 0x05)
171#define ADS1220_REG3_I1MUX_AIN2 (0x3u << 0x05)
173#define ADS1220_REG3_I1MUX_AIN3_REFN1 (0x4u << 0x05)
175#define ADS1220_REG3_I1MUX_REFP (0x5u << 0x05)
177#define ADS1220_REG3_I1MUX_REFN (0x6u << 0x05)
178
180#define ADS1220_REG3_I2MUX_MSK 0x1Cu
182#define ADS1220_REG3_I2MUX_POS 0x2u
184#define ADS1220_REG3_I2MUX_DISABLED (0x0u << 0x02)
186#define ADS1220_REG3_I2MUX_AIN0_REFP1 (0x1u << 0x02)
188#define ADS1220_REG3_I2MUX_AIN1 (0x2u << 0x02)
190#define ADS1220_REG3_I2MUX_AIN2 (0x3u << 0x02)
192#define ADS1220_REG3_I2MUX_AIN3_REFN1 (0x4u << 0x02)
194#define ADS1220_REG3_I2MUX_REFP (0x5u << 0x02)
196#define ADS1220_REG3_I2MUX_REFN (0x6u << 0x02)
197
199#define ADS1220_REG3_DRDYM BIT(1)
201#define ADS1220_REG3_RESERVED BIT(0)
202
206
207#ifdef __cplusplus
208}
209#endif
210
211#endif /* INCLUDE_ESF_DRIVERS_ADC_ADS1220_H */