From 13b87a3ee204a79d5c31dfc0c3540fb207006833 Mon Sep 17 00:00:00 2001 From: Tom Joseph Date: Fri, 16 Feb 2018 09:37:43 +0530 Subject: sensor: Refactor get sensor reading command Use the functor in the generated yaml to get the sensor reading for analog sensors. Change-Id: I2535cd5015096c3e1e2baa5f9a865fc6b27e6875 Signed-off-by: Tom Joseph --- sensordatahandler.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'sensordatahandler.hpp') diff --git a/sensordatahandler.hpp b/sensordatahandler.hpp index 01b8e4f..a3253b9 100644 --- a/sensordatahandler.hpp +++ b/sensordatahandler.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include "sensorhandler.h" #include "types.hpp" #include "utils.hpp" @@ -197,11 +198,13 @@ GetSensorResponse readingData(const Info& sensorInfo) sensorInfo.propertyInterfaces.begin()->first, sensorInfo.propertyInterfaces.begin()->second.begin()->first); - auto value = static_cast( - (propValue.get() - sensorInfo.scaledOffset) / - (sensorInfo.coefficientM ? sensorInfo.coefficientM : 1)); + double value = propValue.get() * pow(10, + sensorInfo.scale - sensorInfo.exponentR); - setReading(value, responseData); + auto rawData = static_cast( + (value - sensorInfo.scaledOffset) / sensorInfo.coefficientM); + + setReading(rawData, responseData); return response; } -- cgit v1.2.1