diff --git a/main/utils.cpp b/main/utils.cpp index 0a1ed6d..4304e3e 100644 --- a/main/utils.cpp +++ b/main/utils.cpp @@ -330,3 +330,11 @@ std::string get_wifi_security_string(wifi_auth_mode_t authMode) return "unknown"; } } + +float float_map(float x, float in_min, float in_max, float out_min, float out_max) { + const float dividend = out_max - out_min; + const float divisor = in_max - in_min; + const float delta = x - in_min; + + return (delta * dividend + (divisor / 2.f)) / divisor + out_min; +} diff --git a/main/utils.h b/main/utils.h index af9ec73..bb87bf7 100644 --- a/main/utils.h +++ b/main/utils.h @@ -79,3 +79,4 @@ inline CRGB UINT32_TO_CRGB(uint32_t color) } std::string get_wifi_security_string(wifi_auth_mode_t authMode); +float float_map(float x, float in_min, float in_max, float out_min, float out_max);