summaryrefslogtreecommitdiff
path: root/src/components/ble/BatteryInformationService.h
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2020-10-02 22:16:48 +0300
committerAvamander <avamander@gmail.com>2020-10-02 22:16:48 +0300
commit6c86d1d9d706706fcb6f214aba8259e61ed68755 (patch)
tree2f4137a9916869cee18fd01449aa83ee586b9604 /src/components/ble/BatteryInformationService.h
parent4daab2692692d47af24a9384eb0f402821527882 (diff)
Fixed all the includes that were broken due to the renames
Diffstat (limited to 'src/components/ble/BatteryInformationService.h')
-rw-r--r--src/components/ble/BatteryInformationService.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/components/ble/BatteryInformationService.h b/src/components/ble/BatteryInformationService.h
new file mode 100644
index 00000000..74b2222c
--- /dev/null
+++ b/src/components/ble/BatteryInformationService.h
@@ -0,0 +1,40 @@
+#pragma once
+#include <host/ble_gap.h>
+
+namespace Pinetime {
+ namespace System {
+ class SystemTask;
+ }
+ namespace Controllers {
+ class Battery;
+ class BatteryInformationService {
+ public:
+ BatteryInformationService(Controllers::Battery& batteryController);
+ void Init();
+
+ int
+ OnBatteryServiceRequested(uint16_t connectionHandle, uint16_t attributeHandle, ble_gatt_access_ctxt *context);
+
+ private:
+ Controllers::Battery& batteryController;
+ static constexpr uint16_t batteryInformationServiceId {0x180F};
+ static constexpr uint16_t batteryLevelId {0x2A19};
+
+ static constexpr ble_uuid16_t batteryInformationServiceUuid {
+ .u {.type = BLE_UUID_TYPE_16},
+ .value = batteryInformationServiceId
+ };
+
+ static constexpr ble_uuid16_t batteryLevelUuid {
+ .u {.type = BLE_UUID_TYPE_16},
+ .value = batteryLevelId
+ };
+
+ struct ble_gatt_chr_def characteristicDefinition[3];
+ struct ble_gatt_svc_def serviceDefinition[2];
+
+ uint16_t batteryLevelHandle;
+
+ };
+ }
+}