yes Spada / Mbed OS programme
Committer:
loicguibert
Date:
Tue Apr 16 09:13:43 2019 +0000
Revision:
17:76787f5a334f
Parent:
14:c5578b5edabe
qwf

Who changed what in which revision?

UserRevisionLine numberNew 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 };