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@14:c5578b5edabe, 2019-04-02 (annotated)
- Committer:
- loicguibert
- Date:
- Tue Apr 02 09:51:34 2019 +0000
- Revision:
- 14:c5578b5edabe
- Child:
- 17:76787f5a334f
Added battery service;
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 | 14:c5578b5edabe | 7 | |
| loicguibert | 14:c5578b5edabe | 8 | class BatteryService { |
| loicguibert | 14:c5578b5edabe | 9 | public: |
| loicguibert | 14:c5578b5edabe | 10 | typedef int8_t BatteryLevelType_t; |
| loicguibert | 14:c5578b5edabe | 11 | |
| loicguibert | 14:c5578b5edabe | 12 | /** |
| loicguibert | 14:c5578b5edabe | 13 | * @brief BatteryService constructor. |
| loicguibert | 14:c5578b5edabe | 14 | * @param ble Reference to BLE device. |
| loicguibert | 14:c5578b5edabe | 15 | */ |
| loicguibert | 14:c5578b5edabe | 16 | BatteryService(BLE& ble, Logger& logger); |
| loicguibert | 14:c5578b5edabe | 17 | |
| loicguibert | 14:c5578b5edabe | 18 | /** |
| loicguibert | 14:c5578b5edabe | 19 | * Called after initialization of the BLE module for adding the service |
| loicguibert | 14:c5578b5edabe | 20 | * to the GATT server |
| loicguibert | 14:c5578b5edabe | 21 | */ |
| loicguibert | 14:c5578b5edabe | 22 | void addServiceToGattServer(void); |
| loicguibert | 14:c5578b5edabe | 23 | |
| loicguibert | 14:c5578b5edabe | 24 | /** |
| loicguibert | 14:c5578b5edabe | 25 | * @brief Update battery level characteristic. |
| loicguibert | 14:c5578b5edabe | 26 | * @param newBatteryLevelVal New battery level measurement. |
| loicguibert | 14:c5578b5edabe | 27 | */ |
| loicguibert | 14:c5578b5edabe | 28 | void updateBatteryLevel(BatteryLevelType_t newBatteryLevelVal); |
| loicguibert | 14:c5578b5edabe | 29 | |
| loicguibert | 14:c5578b5edabe | 30 | private: |
| loicguibert | 14:c5578b5edabe | 31 | // data members |
| loicguibert | 14:c5578b5edabe | 32 | BLE& m_ble; |
| loicguibert | 14:c5578b5edabe | 33 | bool m_serviceAdded; |
| loicguibert | 14:c5578b5edabe | 34 | |
| loicguibert | 14:c5578b5edabe | 35 | BatteryLevelType_t m_batteryLevel; |
| loicguibert | 14:c5578b5edabe | 36 | |
| loicguibert | 14:c5578b5edabe | 37 | // characteristics belonging to the service |
| loicguibert | 14:c5578b5edabe | 38 | ReadOnlyGattCharacteristic<BatteryLevelType_t> m_batteryLevelCharacteristic; |
| loicguibert | 14:c5578b5edabe | 39 | |
| loicguibert | 14:c5578b5edabe | 40 | // logger instance |
| loicguibert | 14:c5578b5edabe | 41 | Logger& m_logger; |
| loicguibert | 14:c5578b5edabe | 42 | }; |