diff options
-rw-r--r-- | src/ADS1115_WE.cpp | 8 | ||||
-rw-r--r-- | src/ADS1115_WE.h | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ADS1115_WE.cpp b/src/ADS1115_WE.cpp index debe73a..01cb4fa 100644 --- a/src/ADS1115_WE.cpp +++ b/src/ADS1115_WE.cpp @@ -218,7 +218,13 @@ void ADS1115_WE::setCompareChannels(ADS1115_MUX mux){ delayAccToRate(rate);
}
}
-
+
+void ADS1115_WE::setSingleChannel(size_t channel) {
+ if (channel >= 4)
+ return;
+ setCompareChannels((ADS1115_MUX)(ADS1115_COMP_0_GND + ADS1115_COMP_INC*channel));
+}
+
bool ADS1115_WE::isBusy(){
uint16_t currentConfReg = readRegister(ADS1115_CONFIG_REG);
return (!(currentConfReg>>15) & 1);
diff --git a/src/ADS1115_WE.h b/src/ADS1115_WE.h index 6d68123..395d4d0 100644 --- a/src/ADS1115_WE.h +++ b/src/ADS1115_WE.h @@ -95,6 +95,7 @@ typedef enum ADS1115_MUX{ ADS1115_COMP_2_GND = 0x6000, ADS1115_COMP_3_GND = 0x7000 } mux; +#define ADS1115_COMP_INC 0x1000 // increment to next channel typedef enum ADS1115_STATUS_OR_START{ ADS1115_BUSY = 0x0000, @@ -213,6 +214,10 @@ public: */ void setCompareChannels(ADS1115_MUX mux); + /* Set to channel (0-3) in single ended mode + */ + void setSingleChannel(size_t channel); + bool isBusy(); void startSingleMeasurement(); float getResult_V(); |