PSUSensor: Add ScaleFactor
Added support for ScaleFactor for each sensor subtype like
temp, volt, power and current. And it can be defined as
tempScaleFactor for temp, inScaleFactor for voltage,
powerScaleFactor for power and currScaleFactor for
current.
Tested with modified configuration in entity manager.
Change-Id: Ib03510c310f864b02baff2b62e7ffe85230e52fc
Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
diff --git a/src/PSUSensorMain.cpp b/src/PSUSensorMain.cpp
index 49c3a08..4d0b882 100644
--- a/src/PSUSensorMain.cpp
+++ b/src/PSUSensorMain.cpp
@@ -408,6 +408,14 @@
unsigned int factor =
std::pow(10, findProperty->second.sensorScaleFactor);
+ auto findScaleFactor =
+ baseConfig->second.find(sensorNameSubStr + "ScaleFactor");
+ if (findScaleFactor != baseConfig->second.end())
+ {
+ factor =
+ std::visit(VariantToIntVisitor(), findScaleFactor->second);
+ }
+
std::vector<thresholds::Threshold> sensorThresholds;
if (!parseThresholdsFromConfig(*sensorData, sensorThresholds))