Loading...
Searching...
No Matches

Internal definitions for ADS101x/111x devices. More...

Detailed Description

#include <stdint.h>
+ Include dependency graph for ads1x1x_internal.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ADS1X1X_CONF_OS_CONV_MASK   (1 << 7)
 ADS101x/111x Operational Status.
 
#define ADS1X1X_ALERT_MASK
 ADS101x 12-bit resolution.
 

Functions

static uint16_t _ads1x1x_get_pga_voltage (uint8_t pga)
 Get the voltage reference for a given PGA setting.
 

ADS101x/111x register addresses

#define ADS1X1X_CONV_RES_ADDR   (0)
 Conversion register.
 
#define ADS1X1X_CONF_ADDR   (1)
 Configuration register.
 
#define ADS1X1X_LOW_LIMIT_ADDR   (2)
 Low limit register.
 
#define ADS1X1X_HIGH_LIMIT_ADDR   (3)
 High limit register.
 

ADS101x/111x mux settings

Supports both single mode and differential.

This has no effect on ADS1013-4 and ADS1113-4.

#define ADS1X1X_MUX_MASK   ((1 << 6) | (1 << 5) | (1 << 4))
 Mask for MUX bits.
 
#define ADS1X1X_AIN0_DIFFM_AIN1   ((0 << 6) | (0 << 5) | (0 << 4))
 Differential AIN0 - AIN1 (default)
 
#define ADS1X1X_AIN0_DIFFM_AIN3   ((0 << 6) | (0 << 5) | (1 << 4))
 Differential AIN0 - AIN3.
 
#define ADS1X1X_AIN1_DIFFM_AIN3   ((0 << 6) | (1 << 5) | (0 << 4))
 Differential AIN1 - AIN3.
 
#define ADS1X1X_AIN2_DIFFM_AIN3   ((0 << 6) | (1 << 5) | (1 << 4))
 Differential AIN2 - AIN3.
 
#define ADS1X1X_AIN0_SINGM   ((1 << 6) | (0 << 5) | (0 << 4))
 Single-ended AIN0.
 
#define ADS1X1X_AIN1_SINGM   ((1 << 6) | (0 << 5) | (1 << 4))
 Single-ended AIN1.
 
#define ADS1X1X_AIN2_SINGM   ((1 << 6) | (1 << 5) | (0 << 4))
 Single-ended AIN2.
 
#define ADS1X1X_AIN3_SINGM   ((1 << 6) | (1 << 5) | (1 << 4))
 Single-ended AIN3.
 

ADS101x/111x programmable gain

Sets the full-scale range (max voltage value).

This has no effect on ADS1013 and ADS1113 (both use 2.048V FSR).

#define ADS1X1X_PGA_MASK   ((1 << 3) | (1 << 2) | (1 << 1))
 Mask for PGA bits.
 
#define ADS1X1X_PGA_FSR_6V144   ((0 << 3) | (0 << 2) | (0 << 1))
 +/-6.144V
 
#define ADS1X1X_PGA_FSR_4V096   ((0 << 3) | (0 << 2) | (1 << 1))
 +/-4.096V
 
#define ADS1X1X_PGA_FSR_2V048   ((0 << 3) | (1 << 2) | (0 << 1))
 +/-2.048V (default)
 
#define ADS1X1X_PGA_FSR_1V024   ((0 << 3) | (1 << 2) | (1 << 1))
 +/-1.024V
 
#define ADS1X1X_PGA_FSR_0V512   ((1 << 3) | (0 << 2) | (0 << 1))
 +/-0.512V
 
#define ADS1X1X_PGA_FSR_0V256   ((1 << 3) | (0 << 2) | (1 << 1))
 +/-0.256V
 

ADS101x/111x operating modes

MODE bit in the config register

#define ADS1X1X_MODE_MASK   (1 << 0)
 Mask for MODE bit.
 
#define ADS1X1X_MODE_SINGLE   (1 << 0)
 Single-shot / power-down.
 
#define ADS1X1X_MODE_CONTINUOUS   (0 << 0)
 Continuous conversion.
 

ADS101x/ADS111x Data Rate Settings

Register bit definitions for configuring data rate (samples per second).

#define ADS1X1X_DATAR_UNDEF   (0xFF)
 Undefined / invalid data rate.
 
#define ADS1X1X_DATAR_MASK   ((1 << 7) | (1 << 6) | (1 << 5))
 Bit mask for data rate field.
 

Comparator mode

Selects comparator operation

#define ADS1X1X_COMP_MODE_MASK   (1 << 4)
 Mask for COMP_MODE bit.
 
#define ADS1X1X_COMP_MODE_TRADITIONAL   (0 << 4)
 Traditional comparator (default)
 
#define ADS1X1X_COMP_MODE_WINDOW   (1 << 4)
 Window comparator.
 

Comparator polarity

Controls ALERT/RDY pin polarity

#define ADS1X1X_COMP_POLARITY_MASK   (1 << 3)
 Mask for COMP_POLARITY bit.
 
#define ADS1X1X_COMP_POLARITY_LOW   (0 << 3)
 Active low (default)
 
#define ADS1X1X_COMP_POLARITY_HIGH   (1 << 3)
 Active high.
 

Comparator latch

Latching comparator output

#define ADS1X1X_COMP_LATCH_MASK   (1 << 2)
 Mask for COMP_LATCH bit.
 
#define ADS1X1X_COMP_LATCH_DISABLE   (0 << 2)
 Non-latching (default)
 
#define ADS1X1X_COMP_LATCH_ENABLE   (1 << 2)
 Latching until read.
 

Comparator queue

Configures comparator trigger queue

#define ADS1X1X_COMP_QUEUE_MASK   ((1 << 1) | (1 << 0))
 Mask for COMP_QUEUE bits.
 
#define ADS1X1X_COMP_QUEUE_1   ((0 << 1) | (0 << 0))
 Assert after 1 conversion.
 
#define ADS1X1X_COMP_QUEUE_2   ((0 << 1) | (1 << 0))
 Assert after 2 conversions.
 
#define ADS1X1X_COMP_QUEUE_4   ((1 << 1) | (0 << 0))
 Assert after 4 conversions.
 
#define ADS1X1X_COMP_QUEUE_DISABLE   ((1 << 1) | (1 << 0))
 Disable comparator (default)
 

ADS101x/111x bit resolution

#define ADS1X1X_BITS_RES_UNDEF   (0)
 Undefined resolution.
 

Macro Definition Documentation

◆ ADS1X1X_AIN0_DIFFM_AIN1

#define ADS1X1X_AIN0_DIFFM_AIN1   ((0 << 6) | (0 << 5) | (0 << 4))

Differential AIN0 - AIN1 (default)

Definition at line 51 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN0_DIFFM_AIN3

#define ADS1X1X_AIN0_DIFFM_AIN3   ((0 << 6) | (0 << 5) | (1 << 4))

Differential AIN0 - AIN3.

Definition at line 53 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN0_SINGM

#define ADS1X1X_AIN0_SINGM   ((1 << 6) | (0 << 5) | (0 << 4))

Single-ended AIN0.

Definition at line 56 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN1_DIFFM_AIN3

#define ADS1X1X_AIN1_DIFFM_AIN3   ((0 << 6) | (1 << 5) | (0 << 4))

Differential AIN1 - AIN3.

Definition at line 54 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN1_SINGM

#define ADS1X1X_AIN1_SINGM   ((1 << 6) | (0 << 5) | (1 << 4))

Single-ended AIN1.

Definition at line 57 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN2_DIFFM_AIN3

#define ADS1X1X_AIN2_DIFFM_AIN3   ((0 << 6) | (1 << 5) | (1 << 4))

Differential AIN2 - AIN3.

Definition at line 55 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN2_SINGM

#define ADS1X1X_AIN2_SINGM   ((1 << 6) | (1 << 5) | (0 << 4))

Single-ended AIN2.

Definition at line 58 of file ads1x1x_internal.h.

◆ ADS1X1X_AIN3_SINGM

#define ADS1X1X_AIN3_SINGM   ((1 << 6) | (1 << 5) | (1 << 4))

Single-ended AIN3.

Definition at line 59 of file ads1x1x_internal.h.

◆ ADS1X1X_ALERT_MASK

#define ADS1X1X_ALERT_MASK
Value:
#define ADS1X1X_COMP_MODE_MASK
Mask for COMP_MODE bit.
#define ADS1X1X_COMP_LATCH_MASK
Mask for COMP_LATCH bit.
#define ADS1X1X_COMP_QUEUE_MASK
Mask for COMP_QUEUE bits.
#define ADS1X1X_COMP_POLARITY_MASK
Mask for COMP_POLARITY bit.

ADS101x 12-bit resolution.

ADS111x 16-bit resolution

Mask for all alert-related configuration bits (comparator mode, polarity, latch, queue).

Definition at line 196 of file ads1x1x_internal.h.

◆ ADS1X1X_BITS_RES_UNDEF

#define ADS1X1X_BITS_RES_UNDEF   (0)

Undefined resolution.

Definition at line 175 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_LATCH_DISABLE

#define ADS1X1X_COMP_LATCH_DISABLE   (0 << 2)

Non-latching (default)

Definition at line 155 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_LATCH_ENABLE

#define ADS1X1X_COMP_LATCH_ENABLE   (1 << 2)

Latching until read.

Definition at line 156 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_LATCH_MASK

#define ADS1X1X_COMP_LATCH_MASK   (1 << 2)

Mask for COMP_LATCH bit.

Definition at line 154 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_MODE_MASK

#define ADS1X1X_COMP_MODE_MASK   (1 << 4)

Mask for COMP_MODE bit.

Definition at line 134 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_MODE_TRADITIONAL

#define ADS1X1X_COMP_MODE_TRADITIONAL   (0 << 4)

Traditional comparator (default)

Definition at line 135 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_MODE_WINDOW

#define ADS1X1X_COMP_MODE_WINDOW   (1 << 4)

Window comparator.

Definition at line 136 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_POLARITY_HIGH

#define ADS1X1X_COMP_POLARITY_HIGH   (1 << 3)

Active high.

Definition at line 146 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_POLARITY_LOW

#define ADS1X1X_COMP_POLARITY_LOW   (0 << 3)

Active low (default)

Definition at line 145 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_POLARITY_MASK

#define ADS1X1X_COMP_POLARITY_MASK   (1 << 3)

Mask for COMP_POLARITY bit.

Definition at line 144 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_QUEUE_1

#define ADS1X1X_COMP_QUEUE_1   ((0 << 1) | (0 << 0))

Assert after 1 conversion.

Definition at line 165 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_QUEUE_2

#define ADS1X1X_COMP_QUEUE_2   ((0 << 1) | (1 << 0))

Assert after 2 conversions.

Definition at line 166 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_QUEUE_4

#define ADS1X1X_COMP_QUEUE_4   ((1 << 1) | (0 << 0))

Assert after 4 conversions.

Definition at line 167 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_QUEUE_DISABLE

#define ADS1X1X_COMP_QUEUE_DISABLE   ((1 << 1) | (1 << 0))

Disable comparator (default)

Definition at line 168 of file ads1x1x_internal.h.

◆ ADS1X1X_COMP_QUEUE_MASK

#define ADS1X1X_COMP_QUEUE_MASK   ((1 << 1) | (1 << 0))

Mask for COMP_QUEUE bits.

Definition at line 164 of file ads1x1x_internal.h.

◆ ADS1X1X_CONF_ADDR

#define ADS1X1X_CONF_ADDR   (1)

Configuration register.

Definition at line 34 of file ads1x1x_internal.h.

◆ ADS1X1X_CONF_OS_CONV_MASK

#define ADS1X1X_CONF_OS_CONV_MASK   (1 << 7)

ADS101x/111x Operational Status.

Operational status bit

Definition at line 42 of file ads1x1x_internal.h.

◆ ADS1X1X_CONV_RES_ADDR

#define ADS1X1X_CONV_RES_ADDR   (0)

Conversion register.

Definition at line 33 of file ads1x1x_internal.h.

◆ ADS1X1X_DATAR_MASK

#define ADS1X1X_DATAR_MASK   ((1 << 7) | (1 << 6) | (1 << 5))

Bit mask for data rate field.

Definition at line 94 of file ads1x1x_internal.h.

◆ ADS1X1X_DATAR_UNDEF

#define ADS1X1X_DATAR_UNDEF   (0xFF)

Undefined / invalid data rate.

Definition at line 93 of file ads1x1x_internal.h.

◆ ADS1X1X_HIGH_LIMIT_ADDR

#define ADS1X1X_HIGH_LIMIT_ADDR   (3)

High limit register.

Definition at line 36 of file ads1x1x_internal.h.

◆ ADS1X1X_LOW_LIMIT_ADDR

#define ADS1X1X_LOW_LIMIT_ADDR   (2)

Low limit register.

Definition at line 35 of file ads1x1x_internal.h.

◆ ADS1X1X_MODE_CONTINUOUS

#define ADS1X1X_MODE_CONTINUOUS   (0 << 0)

Continuous conversion.

Definition at line 84 of file ads1x1x_internal.h.

◆ ADS1X1X_MODE_MASK

#define ADS1X1X_MODE_MASK   (1 << 0)

Mask for MODE bit.

Definition at line 82 of file ads1x1x_internal.h.

◆ ADS1X1X_MODE_SINGLE

#define ADS1X1X_MODE_SINGLE   (1 << 0)

Single-shot / power-down.

Definition at line 83 of file ads1x1x_internal.h.

◆ ADS1X1X_MUX_MASK

#define ADS1X1X_MUX_MASK   ((1 << 6) | (1 << 5) | (1 << 4))

Mask for MUX bits.

Definition at line 50 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_0V256

#define ADS1X1X_PGA_FSR_0V256   ((1 << 3) | (0 << 2) | (1 << 1))

+/-0.256V

Definition at line 74 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_0V512

#define ADS1X1X_PGA_FSR_0V512   ((1 << 3) | (0 << 2) | (0 << 1))

+/-0.512V

Definition at line 73 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_1V024

#define ADS1X1X_PGA_FSR_1V024   ((0 << 3) | (1 << 2) | (1 << 1))

+/-1.024V

Definition at line 72 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_2V048

#define ADS1X1X_PGA_FSR_2V048   ((0 << 3) | (1 << 2) | (0 << 1))

+/-2.048V (default)

Definition at line 71 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_4V096

#define ADS1X1X_PGA_FSR_4V096   ((0 << 3) | (0 << 2) | (1 << 1))

+/-4.096V

Definition at line 70 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_FSR_6V144

#define ADS1X1X_PGA_FSR_6V144   ((0 << 3) | (0 << 2) | (0 << 1))

+/-6.144V

Definition at line 69 of file ads1x1x_internal.h.

◆ ADS1X1X_PGA_MASK

#define ADS1X1X_PGA_MASK   ((1 << 3) | (1 << 2) | (1 << 1))

Mask for PGA bits.

Definition at line 68 of file ads1x1x_internal.h.

Function Documentation

◆ _ads1x1x_get_pga_voltage()

static uint16_t _ads1x1x_get_pga_voltage ( uint8_t pga)
inlinestatic

Get the voltage reference for a given PGA setting.

Parameters
[in]pgaPGA setting
Returns
Voltage reference in millivolts

Definition at line 206 of file ads1x1x_internal.h.