2#ifndef ADS126X_DEFINITIONS_H
3#define ADS126X_DEFINITIONS_H
14#define ADS126X_NOP 0x00
15#define ADS126X_RESET 0x06
16#define ADS126X_START1 0x08
17#define ADS126X_STOP1 0x0A
18#define ADS126X_START2 0x0C
19#define ADS126X_STOP2 0x0E
20#define ADS126X_RDATA1 0x12
21#define ADS126X_RDATA2 0x14
22#define ADS126X_SYOCAL1 0x16
23#define ADS126X_SYGCAL1 0x17
24#define ADS126X_SFOCAL1 0x19
25#define ADS126X_SYOCAL2 0x1B
26#define ADS126X_SYGCAL2 0x1C
27#define ADS126X_SFOCAL2 0x1E
28#define ADS126X_RREG 0x20
29#define ADS126X_WREG 0x40
32#define ADS126X_ID 0x00
33#define ADS126X_POWER 0x01
34#define ADS126X_INTERFACE 0x02
35#define ADS126X_MODE0 0x03
36#define ADS126X_MODE1 0x04
37#define ADS126X_MODE2 0x05
38#define ADS126X_INPMUX 0x06
39#define ADS126X_OFCAL0 0x07
40#define ADS126X_OFCAL1 0x08
41#define ADS126X_OFCAL2 0x09
42#define ADS126X_FSCAL0 0x0A
43#define ADS126X_FSCAL1 0x0B
44#define ADS126X_FSCAL2 0x0C
45#define ADS126X_IDACMUX 0x0D
46#define ADS126X_IDACMAG 0x0E
47#define ADS126X_REFMUX 0x0F
48#define ADS126X_TDACP 0x10
49#define ADS126X_TDACN 0x11
50#define ADS126X_GPIOCON 0x12
51#define ADS126X_GPIODIR 0x13
52#define ADS126X_GPIODAT 0x14
53#define ADS126X_ADC2CFG 0x15
54#define ADS126X_ADC2MUX 0x16
55#define ADS126X_ADC2OFC0 0x17
56#define ADS126X_ADC2OFC1 0x18
57#define ADS126X_ADC2FSC0 0x19
58#define ADS126X_ADC2FSC1 0x1A
60#define ADS126X_REG_NUM 0x1B
63#define ADS126X_CHECK_BYTE 0x9B
64#define ADS126X_CRC_BYTE 0b100000111
65#define ADS126X_DUMMY 0x00
67#define ADS126X_ENABLE 0x01
68#define ADS126X_DISABLE 0x00
71#define ADS126X_CHECKSUM 0b01
72#define ADS126X_CHECK_CRC 0b10
75#define ADS126X_POL_NORM 0b0
76#define ADS126X_POL_REV 0b1
77#define ADS126X_CONV_CONT 0b0
78#define ADS126X_CONV_PULSE 0b1
79#define ADS126X_CHOP_0 0b00
80#define ADS126X_CHOP_1 0b01
81#define ADS126X_CHOP_2 0b10
82#define ADS126X_CHOP_3 0b11
83#define ADS126X_DELAY_0 0b0000
84#define ADS126X_DELAY_8700 0b0001
85#define ADS126X_DELAY_17000 0b0010
86#define ADS126X_DELAY_35000 0b0011
87#define ADS126X_DELAY_69000 0b0100
88#define ADS126X_DELAY_139000 0b0101
89#define ADS126X_DELAY_278000 0b0110
90#define ADS126X_DELAY_555000 0b0111
91#define ADS126X_DELAY_1_1 0b1000
92#define ADS126X_DELAY_2_2 0b1001
93#define ADS126X_DELAY_4_4 0b1010
94#define ADS126X_DELAY_8_8 0b1011
97#define ADS126X_SINC1 0b000
98#define ADS126X_SINC2 0b001
99#define ADS126X_SINC3 0b010
100#define ADS126X_SINC4 0b011
101#define ADS126X_FIR 0b100
102#define ADS126X_SINC5 0b101
103#define ADS126X_BIAS_ADC1 0b0
104#define ADS126X_BIAS_ADC2 0b1
105#define ADS126X_BIAS_PULLUP 0b0
106#define ADS126X_BIAS_PULLDOWN 0b1
107#define ADS126X_BIAS_MAG_0 0b000
108#define ADS126X_BIAS_MAG_0_5 0b001
109#define ADS126X_BIAS_MAG_2 0b010
110#define ADS126X_BIAS_MAG_10 0b011
111#define ADS126X_BIAS_MAG_50 0b100
112#define ADS126X_BIAS_MAG_200 0b101
113#define ADS126X_BIAS_MAG_10M 0b110
116#define ADS126X_PGA_ENABLE 0b0
117#define ADS126X_PGA_BYPASS 0b1
118#define ADS126X_GAIN_1 0b000
119#define ADS126X_GAIN_2 0b001
120#define ADS126X_GAIN_4 0b010
121#define ADS126X_GAIN_8 0b011
122#define ADS126X_GAIN_16 0b100
123#define ADS126X_GAIN_32 0b101
124#define ADS126X_RATE_2_5 0b0000
125#define ADS126X_RATE_5 0b0001
126#define ADS126X_RATE_10 0b0010
127#define ADS126X_RATE_16_6 0b0011
128#define ADS126X_RATE_20 0b0100
129#define ADS126X_RATE_50 0b0101
130#define ADS126X_RATE_60 0b0110
131#define ADS126X_RATE_100 0b0111
132#define ADS126X_RATE_400 0b1000
133#define ADS126X_RATE_1200 0b1001
134#define ADS126X_RATE_2400 0b1010
135#define ADS126X_RATE_4800 0b1011
136#define ADS126X_RATE_7200 0b1100
137#define ADS126X_RATE_14400 0b1101
138#define ADS126X_RATE_19200 0b1110
139#define ADS126X_RATE_38400 0b1111
142#define ADS126X_AIN0 0b0000
143#define ADS126X_AIN1 0b0001
144#define ADS126X_AIN2 0b0010
145#define ADS126X_AIN3 0b0011
146#define ADS126X_AIN4 0b0100
147#define ADS126X_AIN5 0b0101
148#define ADS126X_AIN6 0b0110
149#define ADS126X_AIN7 0b0111
150#define ADS126X_AIN8 0b1000
151#define ADS126X_AIN9 0b1001
152#define ADS126X_AINCOM 0b1010
153#define ADS126X_TEMP 0b1011
154#define ADS126X_ANALOG 0b1100
155#define ADS126X_DIGITAL 0b1101
156#define ADS126X_TDAC 0b1110
157#define ADS126X_FLOAT 0b1111
160#define ADS126X_IDAC_AIN0 0b0000
161#define ADS126X_IDAC_AIN1 0b0001
162#define ADS126X_IDAC_AIN2 0b0010
163#define ADS126X_IDAC_AIN3 0b0011
164#define ADS126X_IDAC_AIN4 0b0100
165#define ADS126X_IDAC_AIN5 0b0101
166#define ADS126X_IDAC_AIN6 0b0110
167#define ADS126X_IDAC_AIN7 0b0111
168#define ADS126X_IDAC_AIN8 0b1000
169#define ADS126X_IDAC_AIN9 0b1001
170#define ADS126X_IDAC_AINCOM 0b1010
171#define ADS126X_IDAC_NC 0b1011
174#define ADS126X_IDAC_MAG_0 0b0000
175#define ADS126X_IDAC_MAG_50 0b0001
176#define ADS126X_IDAC_MAG_100 0b0010
177#define ADS126X_IDAC_MAG_250 0b0011
178#define ADS126X_IDAC_MAG_500 0b0100
179#define ADS126X_IDAC_MAG_750 0b0101
180#define ADS126X_IDAC_MAG_1000 0b0110
181#define ADS126X_IDAC_MAG_1500 0b0111
182#define ADS126X_IDAC_MAG_2000 0b1000
183#define ADS126X_IDAC_MAG_2500 0b1001
184#define ADS126X_IDAC_MAG_3000 0b1010
187#define ADS126X_REF_POS_INT 0b000
188#define ADS126X_REF_POS_AIN0 0b001
189#define ADS126X_REF_POS_AIN2 0b010
190#define ADS126X_REF_POS_AIN4 0b011
191#define ADS126X_REF_POS_VDD 0b100
192#define ADS126X_REF_NEG_INT 0b000
193#define ADS126X_REF_NEG_AIN1 0b001
194#define ADS126X_REF_NEG_AIN3 0b010
195#define ADS126X_REF_NEG_AIN5 0b011
196#define ADS126X_REF_NEG_VSS 0b100
199#define ADS126X_TDACP_NC 0b0
200#define ADS126X_TDACP_AIN6 0b1
203#define ADS126X_TDACN_NC 0b0
204#define ADS126X_TDACN_AIN7 0b1
207#define ADS126X_TDAC_DIV_0_9 0b01001
208#define ADS126X_TDAC_DIV_0_7 0b01000
209#define ADS126X_TDAC_DIV_0_6 0b00111
210#define ADS126X_TDAC_DIV_0_55 0b00110
211#define ADS126X_TDAC_DIV_0_525 0b00101
212#define ADS126X_TDAC_DIV_0_5125 0b00100
213#define ADS126X_TDAC_DIV_0_50625 0b00011
214#define ADS126X_TDAC_DIV_0_503125 0b00010
215#define ADS126X_TDAC_DIV_0_5015625 0b00001
216#define ADS126X_TDAC_DIV_0_5 0b00000
217#define ADS126X_TDAC_DIV_0_4984375 0b10001
218#define ADS126X_TDAC_DIV_0_496875 0b10010
219#define ADS126X_TDAC_DIV_0_49375 0b10011
220#define ADS126X_TDAC_DIV_0_4875 0b10100
221#define ADS126X_TDAC_DIV_0_475 0b10101
222#define ADS126X_TDAC_DIV_0_45 0b10110
223#define ADS126X_TDAC_DIV_0_4 0b10111
224#define ADS126X_TDAC_DIV_0_3 0b11000
225#define ADS126X_TDAC_DIV_0_1 0b11001
228#define ADS126X_GPIO_DISCONNECT 0b0
229#define ADS126X_GPIO_CONNECT 0b1
230#define ADS126X_GPIO_OUTPUT 0b0
231#define ADS126X_GPIO_INPUT 0b1
232#define ADS126X_GPIO_LOW 0b0
233#define ADS126X_GPIO_HIGH 0b1
236#define ADS126X_ADC2_RATE_10 0b00
237#define ADS126X_ADC2_RATE_100 0b01
238#define ADS126X_ADC2_RATE_400 0b10
239#define ADS126X_ADC2_RATE_800 0b11
240#define ADS126X_ADC2_REF_INT 0b000
241#define ADS126X_ADC2_REF_AIN0_AIN1 0b001
242#define ADS126X_ADC2_REF_AIN2_AIN3 0b010
243#define ADS126X_ADC2_REF_AIN4_AIN5 0b011
244#define ADS126X_ADC2_REF_V 0b111
245#define ADS126X_ADC2_GAIN_1 0b000
246#define ADS126X_ADC2_GAIN_2 0b001
247#define ADS126X_ADC2_GAIN_4 0b010
248#define ADS126X_ADC2_GAIN_8 0b011
249#define ADS126X_ADC2_GAIN_16 0b100
250#define ADS126X_ADC2_GAIN_32 0b101
251#define ADS126X_ADC2_GAIN_64 0b110
252#define ADS126X_ADC2_GAIN_128 0b111
__IO ADS126X_FSCAL_Type FSCAL0
Offset: 0x0A (R/W 8) Full-Scale Calibration 0.
__IO ADS126X_ADC2MUX_Type ADC2MUX
Offset: 0x16 (R/W 8) ADC2 Input Multiplexer.
__IO ADS126X_ADC2CFG_Type ADC2CFG
Offset: 0x15 (R/W 8) ADC2 Configuration.
__IO ADS126X_OFCAL_Type OFCAL2
Offset: 0x09 (R/W 8) Offset Calibration 2.
__IO ADS126X_MODE2_Type MODE2
Offset: 0x05 (R/W 8) Mode2.
__IO ADS126X_ADC2OFC_Type ADC2OFC1
Offset: 0x18 (R/W 8) ADC2 Offset Calibration 1.
__IO ADS126X_ADC2OFC_Type ADC2OFC0
Offset: 0x17 (R/W 8) ADC2 Offset Calibration 0.
__IO ADS126X_FSCAL_Type FSCAL1
Offset: 0x0B (R/W 8) Full-Scale Calibration 1.
__IO ADS126X_ID_Type ID
Offset: 0x00 (R/W 8) Device Identification.
__IO ADS126X_OFCAL_Type OFCAL1
Offset: 0x08 (R/W 8) Offset Calibration 1.
__IO ADS126X_POWER_Type POWER
Offset: 0x01 (R/W 8) Power.
__IO ADS126X_GPIODAT_Type GPIODAT
Offset: 0x14 (R/W 8) GPIO Data.
__IO ADS126X_IDACMUX_Type IDACMUX
Offset: 0x0D (R/W 8) IDAC Multiplexer.
__IO ADS126X_INTERFACE_Type INTERFACE
Offset: 0x02 (R/W 8) Interface.
__IO ADS126X_MODE0_Type MODE0
Offset: 0x03 (R/W 8) Mode0.
__IO ADS126X_REFMUX_Type REFMUX
Offset: 0x0F (R/W 8) Reference Multiplexer.
__IO ADS126X_OFCAL_Type OFCAL0
Offset: 0x07 (R/W 8) Offset Calibration 0.
__IO ADS126X_ADC2FSC_Type ADC2FSC1
Offset: 0x1A (R/W 8) ADC2 Full-Scale Calibration 1.
__IO ADS126X_INPMUX_Type INPMUX
Offset: 0x06 (R/W 8) Input Multiplexer.
__IO ADS126X_MODE1_Type MODE1
Offset: 0x04 (R/W 8) Mode1.
__IO ADS126X_GPIODIR_Type GPIODIR
Offset: 0x13 (R/W 8) GPIO Direction.
__IO ADS126X_IDACMAG_Type IDACMAG
Offset: 0x0E (R/W 8) IDAC Magnitude.
__IO ADS126X_FSCAL_Type FSCAL2
Offset: 0x0C (R/W 8) Full-Scale Calibration 2.
__IO ADS126X_TDACN_Type TDACN
Offset: 0x11 (R/W 8) TDACN Negative Output.
__IO ADS126X_TDACP_Type TDACP
Offset: 0x10 (R/W 8) TDACP Output.
__IO ADS126X_ADC2FSC_Type ADC2FSC0
Offset: 0x19 (R/W 8) ADC2 Full-Scale Calibration 0.
__IO ADS126X_GPIOCON_Type GPIOCON
Offset: 0x12 (R/W 8) GPIO Connection.
uint8_t FSCAL
bit: 0..7 Offset Calibration
uint8_t CON2
bit 2 GPIO[2] Pin Connection
uint8_t CON3
bit 3 GPIO[3] Pin Connection
uint8_t CON4
bit 4 GPIO[4] Pin Connection
uint8_t CON6
bit 6 GPIO[6] Pin Connection
uint8_t CON0
bit 0 GPIO[0] Pin Connection
uint8_t CON1
bit 1 GPIO[1] Pin Connection
uint8_t CON5
bit 5 GPIO[5] Pin Connection
uint8_t CON7
bit 7 GPIO[7] Pin Connection
uint8_t DAT7
bit 7 GPIO[7] Pin Data
uint8_t DAT2
bit 2 GPIO[2] Pin Data
uint8_t DAT4
bit 4 GPIO[4] Pin Data
uint8_t DAT5
bit 5 GPIO[5] Pin Data
uint8_t DAT0
bit 0 GPIO[0] Pin Data
uint8_t DAT1
bit 1 GPIO[1] Pin Data
uint8_t DAT3
bit 3 GPIO[3] Pin Data
uint8_t DAT6
bit 6 GPIO[6] Pin Data
uint8_t DIR6
bit 6 GPIO[6] Pin Direction
uint8_t DIR2
bit 2 GPIO[2] Pin Direction
uint8_t DIR7
bit 7 GPIO[7] Pin Direction
uint8_t DIR4
bit 4 GPIO[4] Pin Direction
uint8_t DIR1
bit 1 GPIO[1] Pin Direction
uint8_t DIR0
bit 0 GPIO[0] Pin Direction
uint8_t DIR5
bit 5 GPIO[5] Pin Direction
uint8_t DIR3
bit 3 GPIO[3] Pin Direction
uint8_t reg
Type used for register access.
uint8_t TIMEOUT
bit: 3 Serial Interface Time-Out Enable
uint8_t STATUS
bit: 2 Status Byte Enable
uint8_t REFREV
bit: 7 Reference Mux Polarity Reversal
uint8_t RUNMODE
bit: 6 ADC Conversion Run Mode
uint8_t SBPOL
bit: 3 Sensor Bias Polarity
uint8_t SBADC
bit: 4 Sensor Bias ADC Connection
uint8_t BYPASS
bit: 7 PGA Bypass Mode
uint8_t OFC
bit: 0..7 Offset Calibration
uint8_t RESET
bit: 4 Reset Indicator
uint8_t VBIAS
bit: 1 Level Shift Voltage Enable
uint8_t INTREF
bit: 0 Internal Reference Enable
uint8_t ADC1
bit 6 status of ADC1 conversion data
uint8_t RESET
bit 0 Indicates device reset
uint8_t EXTCLK
bit 5 Indicates ADC clock source
uint8_t PGAL_ALM
bit 3 ADC1 PGA output low alarm
uint8_t PGAH_ALM
bit 2 ADC1 PGA output high alarm
uint8_t REF_ALM
bit 4 ADC1 low reference alarm
uint8_t ADC2
bit 7 status of ADC2 conversion data
uint8_t PGAD_ALM
bit 1 ADC1 PGA differential output alarm
uint8_t OUTN
bit 7 TDACN Output Connection
uint8_t OUTP
bit 7 TDACP Output Connection