From 3446061aaef0cd4dc066edb14f25b27e041a77ea Mon Sep 17 00:00:00 2001
From: jkerdreux-imt <jerome.kerdreux@imt-atlantique.fr>
Date: Mon, 27 Jan 2025 23:51:16 +0100
Subject: [PATCH] Add normalizeUnit

---
 utils.go | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/utils.go b/utils.go
index acc2eb5..c42eb8d 100644
--- a/utils.go
+++ b/utils.go
@@ -96,6 +96,22 @@ func roundToDecimal(value float64, places int) float64 {
 	return math.Round(value*pow) / pow
 }
 
+func normalizeUnit(value float64, unit string) (float64, error) {
+	switch unit {
+	case "lqi":
+		return value * 100 / 255, nil
+	case "°F":
+		return (value - 32) * 5 / 9, nil
+	case "°K":
+		return value - 273.15, nil
+	case "mV", "mW", "mA":
+		return value / 1000, nil
+	case "V", "%", "A", "W", "Wh":
+		return value, nil
+	}
+	return 0, fmt.Errorf("Unknown unit %s", unit)
+}
+
 // convert Mired to Kelvin and Kelvin to Mired
 // Mired = 1,000,000 / Temperature in Kelvin
 func convertMired(value int) int {
-- 
GitLab