From 3ef38d91b0474ea0fa6e92b3e179911816277fc4 Mon Sep 17 00:00:00 2001 From: davidcliddell Date: Thu, 15 Apr 2021 11:01:48 +0100 Subject: added setSingleChannel --- src/ADS1115_WE.cpp | 8 +++++++- src/ADS1115_WE.h | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) 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(); -- cgit v1.2.3