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 <tomjoseph@in.ibm.com>
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 <math.h>
 #include "sensorhandler.h"
 #include "types.hpp"
 #include "utils.hpp"
@@ -197,11 +198,13 @@
             sensorInfo.propertyInterfaces.begin()->first,
             sensorInfo.propertyInterfaces.begin()->second.begin()->first);
 
-    auto value = static_cast<uint8_t>(
-            (propValue.get<T>() - sensorInfo.scaledOffset) /
-            (sensorInfo.coefficientM ? sensorInfo.coefficientM : 1));
+    double value = propValue.get<T>() * pow(10,
+            sensorInfo.scale - sensorInfo.exponentR);
 
-    setReading(value, responseData);
+    auto rawData = static_cast<uint8_t>(
+            (value - sensorInfo.scaledOffset) / sensorInfo.coefficientM);
+
+    setReading(rawData, responseData);
 
     return response;
 }