diff options
| author | FintasticMan <finlay.neon.kid@gmail.com> | 2024-02-20 11:25:02 +0100 |
|---|---|---|
| committer | JF <JF002@users.noreply.github.com> | 2024-11-04 21:22:38 +0100 |
| commit | 29ad09f4ef54126831d36fe1b99e794059fc5421 (patch) | |
| tree | 4699e2008850c8f99297abcf549844317ab0cdb2 /src/displayapp/Weather.cpp | |
| parent | afeded0126ff3bb30bdd5b1ed55f5dddca8b92d5 (diff) | |
weather: Refactor temperature type for type safety
There is now a Temperature struct in the weather service, which holds
the internal representation. There is also a temperature struct in the
Applications namespace, which holds the temperature in either Celsius or
Fahrenheit.
Diffstat (limited to 'src/displayapp/Weather.cpp')
| -rw-r--r-- | src/displayapp/Weather.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/displayapp/Weather.cpp b/src/displayapp/Weather.cpp new file mode 100644 index 00000000..a0f0a281 --- /dev/null +++ b/src/displayapp/Weather.cpp @@ -0,0 +1,13 @@ +#include "displayapp/Weather.h" + +using namespace Pinetime::Applications; + +Temperature Pinetime::Applications::Convert(Controllers::SimpleWeatherService::Temperature temp, + Controllers::Settings::WeatherFormat format) { + Temperature t = {temp.temp}; + if (format == Controllers::Settings::WeatherFormat::Imperial) { + t.temp = t.temp * 9 / 5 + 3200; + } + t.temp = t.temp / 100 + (t.temp % 100 >= 50 ? 1 : 0); + return t; +} |
