Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
BatteryService.h@17:76787f5a334f, 2019-04-16 (annotated)
- Committer:
- loicguibert
- Date:
- Tue Apr 16 09:13:43 2019 +0000
- Revision:
- 17:76787f5a334f
- Parent:
- 14:c5578b5edabe
qwf
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| loicguibert | 14:c5578b5edabe | 1 | #pragma once |
| loicguibert | 14:c5578b5edabe | 2 | |
| loicguibert | 14:c5578b5edabe | 3 | #include "ble/BLE.h" |
| loicguibert | 14:c5578b5edabe | 4 | |
| loicguibert | 14:c5578b5edabe | 5 | // for logging |
| loicguibert | 14:c5578b5edabe | 6 | #include "Logger.h" |
| loicguibert | 17:76787f5a334f | 7 | #include "ReadNotifyGattCharacteristic.h" |
| loicguibert | 14:c5578b5edabe | 8 | |
| loicguibert | 14:c5578b5edabe | 9 | class BatteryService { |
| loicguibert | 14:c5578b5edabe | 10 | public: |
| loicguibert | 14:c5578b5edabe | 11 | typedef int8_t BatteryLevelType_t; |
| loicguibert | 14:c5578b5edabe | 12 | |
| loicguibert | 14:c5578b5edabe | 13 | /** |
| loicguibert | 14:c5578b5edabe | 14 | * @brief BatteryService constructor. |
| loicguibert | 14:c5578b5edabe | 15 | * @param ble Reference to BLE device. |
| loicguibert | 14:c5578b5edabe | 16 | */ |
| loicguibert | 14:c5578b5edabe | 17 | BatteryService(BLE& ble, Logger& logger); |
| loicguibert | 14:c5578b5edabe | 18 | |
| loicguibert | 14:c5578b5edabe | 19 | /** |
| loicguibert | 14:c5578b5edabe | 20 | * Called after initialization of the BLE module for adding the service |
| loicguibert | 14:c5578b5edabe | 21 | * to the GATT server |
| loicguibert | 14:c5578b5edabe | 22 | */ |
| loicguibert | 14:c5578b5edabe | 23 | void addServiceToGattServer(void); |
| loicguibert | 14:c5578b5edabe | 24 | |
| loicguibert | 14:c5578b5edabe | 25 | /** |
| loicguibert | 14:c5578b5edabe | 26 | * @brief Update battery level characteristic. |
| loicguibert | 14:c5578b5edabe | 27 | * @param newBatteryLevelVal New battery level measurement. |
| loicguibert | 14:c5578b5edabe | 28 | */ |
| loicguibert | 14:c5578b5edabe | 29 | void updateBatteryLevel(BatteryLevelType_t newBatteryLevelVal); |
| loicguibert | 14:c5578b5edabe | 30 | |
| loicguibert | 14:c5578b5edabe | 31 | private: |
| loicguibert | 14:c5578b5edabe | 32 | // data members |
| loicguibert | 14:c5578b5edabe | 33 | BLE& m_ble; |
| loicguibert | 14:c5578b5edabe | 34 | bool m_serviceAdded; |
| loicguibert | 14:c5578b5edabe | 35 | |
| loicguibert | 14:c5578b5edabe | 36 | BatteryLevelType_t m_batteryLevel; |
| loicguibert | 14:c5578b5edabe | 37 | |
| loicguibert | 14:c5578b5edabe | 38 | // characteristics belonging to the service |
| loicguibert | 17:76787f5a334f | 39 | ReadNotifyGattCharacteristic<BatteryLevelType_t> m_batteryLevelCharacteristic; |
| loicguibert | 14:c5578b5edabe | 40 | |
| loicguibert | 14:c5578b5edabe | 41 | // logger instance |
| loicguibert | 14:c5578b5edabe | 42 | Logger& m_logger; |
| loicguibert | 14:c5578b5edabe | 43 | }; |