19 #include <Adafruit_I2CDevice.h> 26 #define ADS1X15_ADDRESS (0x48) 32 #define ADS1X15_REG_POINTER_MASK (0x03) 33 #define ADS1X15_REG_POINTER_CONVERT (0x00) 34 #define ADS1X15_REG_POINTER_CONFIG (0x01) 35 #define ADS1X15_REG_POINTER_LOWTHRESH (0x02) 36 #define ADS1X15_REG_POINTER_HITHRESH (0x03) 42 #define ADS1X15_REG_CONFIG_OS_MASK (0x8000) 43 #define ADS1X15_REG_CONFIG_OS_SINGLE \ 45 #define ADS1X15_REG_CONFIG_OS_BUSY \ 47 #define ADS1X15_REG_CONFIG_OS_NOTBUSY \ 50 #define ADS1X15_REG_CONFIG_MUX_MASK (0x7000) 51 #define ADS1X15_REG_CONFIG_MUX_DIFF_0_1 \ 53 #define ADS1X15_REG_CONFIG_MUX_DIFF_0_3 \ 55 #define ADS1X15_REG_CONFIG_MUX_DIFF_1_3 \ 57 #define ADS1X15_REG_CONFIG_MUX_DIFF_2_3 \ 59 #define ADS1X15_REG_CONFIG_MUX_SINGLE_0 (0x4000) 60 #define ADS1X15_REG_CONFIG_MUX_SINGLE_1 (0x5000) 61 #define ADS1X15_REG_CONFIG_MUX_SINGLE_2 (0x6000) 62 #define ADS1X15_REG_CONFIG_MUX_SINGLE_3 (0x7000) 71 #define ADS1X15_REG_CONFIG_PGA_MASK (0x0E00) 72 #define ADS1X15_REG_CONFIG_PGA_6_144V (0x0000) 73 #define ADS1X15_REG_CONFIG_PGA_4_096V (0x0200) 74 #define ADS1X15_REG_CONFIG_PGA_2_048V \ 76 #define ADS1X15_REG_CONFIG_PGA_1_024V (0x0600) 77 #define ADS1X15_REG_CONFIG_PGA_0_512V (0x0800) 78 #define ADS1X15_REG_CONFIG_PGA_0_256V (0x0A00) 80 #define ADS1X15_REG_CONFIG_MODE_MASK (0x0100) 81 #define ADS1X15_REG_CONFIG_MODE_CONTIN (0x0000) 82 #define ADS1X15_REG_CONFIG_MODE_SINGLE \ 85 #define ADS1X15_REG_CONFIG_RATE_MASK (0x00E0) 87 #define ADS1X15_REG_CONFIG_CMODE_MASK (0x0010) 88 #define ADS1X15_REG_CONFIG_CMODE_TRAD \ 90 #define ADS1X15_REG_CONFIG_CMODE_WINDOW (0x0010) 92 #define ADS1X15_REG_CONFIG_CPOL_MASK (0x0008) 93 #define ADS1X15_REG_CONFIG_CPOL_ACTVLOW \ 95 #define ADS1X15_REG_CONFIG_CPOL_ACTVHI \ 98 #define ADS1X15_REG_CONFIG_CLAT_MASK \ 100 #define ADS1X15_REG_CONFIG_CLAT_NONLAT \ 102 #define ADS1X15_REG_CONFIG_CLAT_LATCH (0x0004) 104 #define ADS1X15_REG_CONFIG_CQUE_MASK (0x0003) 105 #define ADS1X15_REG_CONFIG_CQUE_1CONV \ 107 #define ADS1X15_REG_CONFIG_CQUE_2CONV \ 109 #define ADS1X15_REG_CONFIG_CQUE_4CONV \ 111 #define ADS1X15_REG_CONFIG_CQUE_NONE \ 126 #define RATE_ADS1015_128SPS (0x0000) 127 #define RATE_ADS1015_250SPS (0x0020) 128 #define RATE_ADS1015_490SPS (0x0040) 129 #define RATE_ADS1015_920SPS (0x0060) 130 #define RATE_ADS1015_1600SPS (0x0080) 131 #define RATE_ADS1015_2400SPS (0x00A0) 132 #define RATE_ADS1015_3300SPS (0x00C0) 134 #define RATE_ADS1115_8SPS (0x0000) 135 #define RATE_ADS1115_16SPS (0x0020) 136 #define RATE_ADS1115_32SPS (0x0040) 137 #define RATE_ADS1115_64SPS (0x0060) 138 #define RATE_ADS1115_128SPS (0x0080) 139 #define RATE_ADS1115_250SPS (0x00A0) 140 #define RATE_ADS1115_475SPS (0x00C0) 141 #define RATE_ADS1115_860SPS (0x00E0) 176 void writeRegister(uint8_t reg, uint16_t value);
177 uint16_t readRegister(uint8_t reg);
bool begin(uint8_t i2c_addr=ADS1X15_ADDRESS, TwoWire *wire=&Wire)
Sets up the HW (reads coefficients values, etc.)
Definition: Adafruit_ADS1X15.cpp:65
void startADCReading(uint16_t mux, bool continuous)
Non-blocking start conversion function.
Definition: Adafruit_ADS1X15.cpp:328
Sensor driver for the Adafruit ADS1X15 ADC breakouts.
Definition: Adafruit_ADS1X15.h:148
adsGain_t m_gain
ADC gain.
Definition: Adafruit_ADS1X15.h:153
#define ADS1X15_REG_CONFIG_PGA_6_144V
+/-6.144V range = Gain 2/3
Definition: Adafruit_ADS1X15.h:72
int16_t getLastConversionResults()
In order to clear the comparator, we need to read the conversion results. This function reads the las...
Definition: Adafruit_ADS1X15.cpp:261
#define ADS1X15_REG_CONFIG_PGA_4_096V
+/-4.096V range = Gain 1
Definition: Adafruit_ADS1X15.h:73
#define ADS1X15_REG_CONFIG_MUX_SINGLE_2
Single-ended AIN2.
Definition: Adafruit_ADS1X15.h:61
#define ADS1X15_REG_CONFIG_MUX_SINGLE_1
Single-ended AIN1.
Definition: Adafruit_ADS1X15.h:60
void setGain(adsGain_t gain)
Sets the gain and input voltage range.
Definition: Adafruit_ADS1X15.cpp:77
bool conversionComplete()
Returns true if conversion is complete, false otherwise.
Definition: Adafruit_ADS1X15.cpp:370
#define ADS1X15_REG_CONFIG_PGA_0_512V
+/-0.512V range = Gain 8
Definition: Adafruit_ADS1X15.h:77
#define ADS1X15_ADDRESS
1001 000 (ADDR = GND)
Definition: Adafruit_ADS1X15.h:26
int16_t readADC_Differential_0_1()
Reads the conversion results, measuring the voltage difference between the P (AIN0) and N (AIN1) inpu...
Definition: Adafruit_ADS1X15.cpp:140
adsGain_t getGain()
Gets a gain and input voltage range.
Definition: Adafruit_ADS1X15.cpp:86
int16_t readADC_SingleEnded(uint8_t channel)
Gets a single-ended ADC reading from the specified channel.
Definition: Adafruit_ADS1X15.cpp:115
Adafruit_I2CDevice * m_i2c_dev
I2C bus device.
Definition: Adafruit_ADS1X15.h:151
#define ADS1X15_REG_CONFIG_PGA_2_048V
+/-2.048V range = Gain 2 (default)
Definition: Adafruit_ADS1X15.h:74
uint16_t m_dataRate
Data rate.
Definition: Adafruit_ADS1X15.h:154
#define ADS1X15_REG_CONFIG_MUX_SINGLE_3
Single-ended AIN3.
Definition: Adafruit_ADS1X15.h:62
int16_t readADC_Differential_0_3()
Reads the conversion results, measuring the voltage difference between the P (AIN0) and N (AIN3) inpu...
Definition: Adafruit_ADS1X15.cpp:160
uint16_t getDataRate()
Gets the current data rate.
Definition: Adafruit_ADS1X15.cpp:104
constexpr uint16_t MUX_BY_CHANNEL[]
MUX config by channel.
Definition: Adafruit_ADS1X15.h:64
#define ADS1X15_REG_CONFIG_PGA_0_256V
+/-0.256V range = Gain 16
Definition: Adafruit_ADS1X15.h:78
float computeVolts(int16_t counts)
Compute volts for the given raw counts.
Definition: Adafruit_ADS1X15.cpp:286
void setDataRate(uint16_t rate)
Sets the data rate.
Definition: Adafruit_ADS1X15.cpp:95
int16_t readADC_Differential_1_3()
Reads the conversion results, measuring the voltage difference between the P (AIN1) and N (AIN3) inpu...
Definition: Adafruit_ADS1X15.cpp:180
uint8_t m_bitShift
bit shift amount
Definition: Adafruit_ADS1X15.h:152
#define ADS1X15_REG_CONFIG_MUX_SINGLE_0
Single-ended AIN0.
Definition: Adafruit_ADS1X15.h:59
adsGain_t
Definition: Adafruit_ADS1X15.h:116
Sensor driver for the Adafruit ADS1015 ADC breakout.
Definition: Adafruit_ADS1X15.h:186
Sensor driver for the Adafruit ADS1115 ADC breakout.
Definition: Adafruit_ADS1X15.h:196
void startComparator_SingleEnded(uint8_t channel, int16_t threshold)
Sets up the comparator to operate in basic mode, causing the ALERT/RDY pin to assert (go from high to...
Definition: Adafruit_ADS1X15.cpp:224
#define ADS1X15_REG_CONFIG_PGA_1_024V
+/-1.024V range = Gain 4
Definition: Adafruit_ADS1X15.h:76
int16_t readADC_Differential_2_3()
Reads the conversion results, measuring the voltage difference between the P (AIN2) and N (AIN3) inpu...
Definition: Adafruit_ADS1X15.cpp:201