aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/ble/SimpleWeatherService.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ble/SimpleWeatherService.cpp')
-rw-r--r--src/components/ble/SimpleWeatherService.cpp30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/components/ble/SimpleWeatherService.cpp b/src/components/ble/SimpleWeatherService.cpp
index 90adb926..8317aeab 100644
--- a/src/components/ble/SimpleWeatherService.cpp
+++ b/src/components/ble/SimpleWeatherService.cpp
@@ -29,31 +29,24 @@ namespace {
enum class MessageType : uint8_t { CurrentWeather, Forecast, Unknown };
uint64_t ToUInt64(const uint8_t* data) {
- return data[0] +
- (data[1] << 8) +
- (data[2] << 16) +
- (data[3] << 24) +
- (static_cast<uint64_t>(data[4]) << 32) +
- (static_cast<uint64_t>(data[5]) << 48) +
- (static_cast<uint64_t>(data[6]) << 48) +
- (static_cast<uint64_t>(data[7]) << 56);
+ return data[0] + (data[1] << 8) + (data[2] << 16) + (data[3] << 24) + (static_cast<uint64_t>(data[4]) << 32) +
+ (static_cast<uint64_t>(data[5]) << 48) + (static_cast<uint64_t>(data[6]) << 48) + (static_cast<uint64_t>(data[7]) << 56);
}
int16_t ToInt16(const uint8_t* data) {
- return data[0] +
- (data[1] << 8);
+ return data[0] + (data[1] << 8);
}
SimpleWeatherService::CurrentWeather CreateCurrentWeather(const uint8_t* dataBuffer) {
SimpleWeatherService::Location cityName;
std::memcpy(cityName.data(), &dataBuffer[16], 32);
cityName[32] = '\0';
- return SimpleWeatherService::CurrentWeather (ToUInt64(&dataBuffer[2]),
+ return SimpleWeatherService::CurrentWeather(ToUInt64(&dataBuffer[2]),
ToInt16(&dataBuffer[10]),
- ToInt16(&dataBuffer[12]),
- ToInt16(&dataBuffer[14]),
- SimpleWeatherService::Icons{dataBuffer[16 + 32]},
- std::move(cityName));
+ ToInt16(&dataBuffer[12]),
+ ToInt16(&dataBuffer[14]),
+ SimpleWeatherService::Icons {dataBuffer[16 + 32]},
+ std::move(cityName));
}
SimpleWeatherService::Forecast CreateForecast(const uint8_t* dataBuffer) {
@@ -63,10 +56,9 @@ namespace {
const uint8_t nbDaysInBuffer = dataBuffer[10];
const uint8_t nbDays = std::min(SimpleWeatherService::MaxNbForecastDays, nbDaysInBuffer);
for (int i = 0; i < nbDays; i++) {
- days[i] = SimpleWeatherService::Forecast::Day {
- ToInt16(&dataBuffer[11 + (i * 5)]),
- ToInt16(&dataBuffer[13 + (i * 5)]),
- SimpleWeatherService::Icons{dataBuffer[15 + (i * 5)]}};
+ days[i] = SimpleWeatherService::Forecast::Day {ToInt16(&dataBuffer[11 + (i * 5)]),
+ ToInt16(&dataBuffer[13 + (i * 5)]),
+ SimpleWeatherService::Icons {dataBuffer[15 + (i * 5)]}};
}
return SimpleWeatherService::Forecast {timestamp, nbDays, days};
}