summaryrefslogtreecommitdiff
path: root/src/components/ble/weather/WeatherService.h
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2021-06-16 20:31:17 (GMT)
committerAvamander <avamander@gmail.com>2021-12-04 20:03:40 (GMT)
commit6e165848161b72d1afa43af6807c654d3fc23d03 (patch)
treef188c90a2fe9c5d3419617cb25786f3c74c6c54d /src/components/ble/weather/WeatherService.h
parenteb27813c1839ff2edcce3176e11b1258167af229 (diff)
Skeleton of the receiving logic
Diffstat (limited to 'src/components/ble/weather/WeatherService.h')
-rw-r--r--src/components/ble/weather/WeatherService.h45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/components/ble/weather/WeatherService.h b/src/components/ble/weather/WeatherService.h
index ef99db8..64a8213 100644
--- a/src/components/ble/weather/WeatherService.h
+++ b/src/components/ble/weather/WeatherService.h
@@ -57,15 +57,15 @@ namespace Pinetime {
/*
* Helper functions for quick access to currently valid data
*/
- WeatherData::location getCurrentLocation() const;
- WeatherData::clouds getCurrentClouds() const;
- WeatherData::obscuration getCurrentObscuration() const;
- WeatherData::precipitation getCurrentPrecipitation() const;
- WeatherData::wind getCurrentWind() const;
- WeatherData::temperature getCurrentTemperature() const;
- WeatherData::humidity getCurrentHumidity() const;
- WeatherData::pressure getCurrentPressure() const;
- WeatherData::airquality getCurrentQuality() const;
+ WeatherData::Location getCurrentLocation() const;
+ WeatherData::Clouds getCurrentClouds() const;
+ WeatherData::Obscuration getCurrentObscuration() const;
+ WeatherData::Precipitation getCurrentPrecipitation() const;
+ WeatherData::Wind getCurrentWind() const;
+ WeatherData::Temperature getCurrentTemperature() const;
+ WeatherData::Humidity getCurrentHumidity() const;
+ WeatherData::Pressure getCurrentPressure() const;
+ WeatherData::AirQuality getCurrentQuality() const;
/*
* Management functions
@@ -74,7 +74,7 @@ namespace Pinetime {
* Adds an event to the timeline
* @return
*/
- bool addEventToTimeline(std::unique_ptr<WeatherData::timelineheader> event);
+ bool addEventToTimeline(std::unique_ptr<WeatherData::TimelineHeader> event);
/**
* Gets the current timeline length
*/
@@ -86,37 +86,36 @@ namespace Pinetime {
bool hasTimelineEventOfType(WeatherData::eventtype type) const;
private:
- ble_uuid128_t msUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_UUID_BASE};
+ ble_uuid128_t weatherUUID {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_UUID_BASE};
/**
* Just write timeline data here
*/
- ble_uuid128_t wDataCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_CHAR_UUID(0x00, 0x01)};
+ ble_uuid128_t weatherDataCharUUID {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_CHAR_UUID(0x00, 0x01)};
/**
- * This doesn't take timeline data
- * but provides some control over it
+ * This doesn't take timeline data,
+ * provides some control over it
*/
- ble_uuid128_t wControlCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_CHAR_UUID(0x00, 0x02)};
+ ble_uuid128_t weatherControlCharUUID {.u = {.type = BLE_UUID_TYPE_128}, .value = WEATHER_SERVICE_CHAR_UUID(0x00, 0x02)};
- const struct ble_gatt_chr_def characteristicDefinition[2] = {{.uuid = reinterpret_cast<ble_uuid_t*>(&wDataCharUuid),
+ const struct ble_gatt_chr_def characteristicDefinition[2] = {{.uuid = &weatherDataCharUUID.u,
.access_cb = WeatherCallback,
.arg = this,
.flags = BLE_GATT_CHR_F_NOTIFY,
.val_handle = &eventHandle},
- {.uuid = reinterpret_cast<ble_uuid_t*>(&wControlCharUuid),
+ {.uuid = &weatherControlCharUUID.u,
.access_cb = WeatherCallback,
.arg = this,
.flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ}};
const struct ble_gatt_svc_def serviceDefinition[2] = {
- {.type = BLE_GATT_SVC_TYPE_PRIMARY, .uuid = reinterpret_cast<ble_uuid_t*>(&msUuid), .characteristics = characteristicDefinition},
- {0}};
+ {.type = BLE_GATT_SVC_TYPE_PRIMARY, .uuid = &weatherUUID.u, .characteristics = characteristicDefinition}, {0}};
uint16_t eventHandle {};
Pinetime::System::SystemTask& system;
Pinetime::Controllers::DateTime& dateTimeController;
- std::vector<std::unique_ptr<WeatherData::timelineheader>> timeline;
+ std::vector<std::unique_ptr<WeatherData::TimelineHeader>> timeline;
/**
* Cleans up the timeline of expired events
@@ -127,11 +126,11 @@ namespace Pinetime {
/**
* Compares two timeline events
*/
- static bool compareTimelineEvents(const std::unique_ptr<WeatherData::timelineheader>& first,
- const std::unique_ptr<WeatherData::timelineheader>& second);
+ static bool compareTimelineEvents(const std::unique_ptr<WeatherData::TimelineHeader>& first,
+ const std::unique_ptr<WeatherData::TimelineHeader>& second);
/**
- *
+ * Returns current UNIX timestamp
*/
uint64_t getCurrentUNIXTimestamp() const;
};