Add critical sensor units to lcd display

Get sensor type from path and add its unit to output
on debug card LCD display.

Tested: verified with lcd debug card screen.

Change-Id: I7caf7d7b58d25662614ee38b1c84d5d32808d2f3
Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
diff --git a/src/storagecommands.cpp b/src/storagecommands.cpp
index d38008e..3c11372 100644
--- a/src/storagecommands.cpp
+++ b/src/storagecommands.cpp
@@ -860,6 +860,37 @@
     return 0;
 }
 
+const static boost::container::flat_map<const char *, std::string, CmpStr>
+    sensorUnitStr{{{"temperature", "C"},
+                   {"voltage", "V"},
+                   {"current", "mA"},
+                   {"fan_tach", "RPM"},
+                   {"fan_pwm", "RPM"},
+                   {"power", "W"}}};
+
+int getSensorUnit(std::string &name, std::string &unit)
+{
+    std::string connection;
+    std::string path;
+    int ret = -1;
+
+    ret = getSensorConnectionByName(name, connection, path);
+    if (ret < 0)
+    {
+        return ret;
+    }
+
+    std::string sensorTypeStr = getSensorTypeStringFromPath(path);
+    auto findSensor = sensorUnitStr.find(sensorTypeStr.c_str());
+    if (findSensor != sensorUnitStr.end())
+    {
+        unit = findSensor->second;
+        return 0;
+    }
+    else
+        return -1;
+}
+
 void registerStorageFunctions()
 {
     // <READ FRU Data>