From c64d04d084f47b4cb3e1cdee6e96348fcc6a756e Mon Sep 17 00:00:00 2001 From: Mihai Tudor Panu Date: Tue, 30 May 2017 15:14:09 -0700 Subject: [PATCH 1/1] ads1x15: fixed case logic in getThresh() function Signed-off-by: Mihai Tudor Panu Upstream-Status: Backported [c64d04d084f47b4cb3e1cdee6e96348fcc6a756e] Signed-off-by: Patrick Ohly --- src/ads1x15/ads1x15.cxx | 4 ++-- src/ads1x15/ads1x15.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ads1x15/ads1x15.cxx b/src/ads1x15/ads1x15.cxx index 35782709..47701b2a 100644 --- a/src/ads1x15/ads1x15.cxx +++ b/src/ads1x15/ads1x15.cxx @@ -116,7 +116,7 @@ ADS1X15::setContinuous(bool mode){ float ADS1X15::getThresh(ADSTHRESH reg){ - if( THRESH_HIGH && THRESH_LOW) return getLastSample(reg); + if(reg == THRESH_HIGH || reg == THRESH_LOW) return getLastSample(reg); else return 0.0; } @@ -137,7 +137,7 @@ ADS1X15::setThresh(ADSTHRESH reg, float value){ case 2: case 3: set_value = value / getMultiplier(); - set_value = set_value << m_bitShift; + set_value = set_value << m_bitShift; if(i2c->writeWordReg(reg, swapWord(set_value)) != mraa::SUCCESS){ throw std::runtime_error(std::string(__FUNCTION__) + ": I2c.write() failed"); return; diff --git a/src/ads1x15/ads1x15.hpp b/src/ads1x15/ads1x15.hpp index 7524572d..efd8c8ec 100644 --- a/src/ads1x15/ads1x15.hpp +++ b/src/ads1x15/ads1x15.hpp @@ -390,7 +390,7 @@ namespace upm { * @param reg ADSTHRES enum value. * Returns 0.0 unless THRESH_HIGH or THRESH_LOW requested. */ - float getThresh(ADSTHRESH reg = THRESH_LOW); + float getThresh(ADSTHRESH reg = THRESH_DEFAULT); /** * Sets threshold levels or configures for conversion ready -- 2.11.0