yes Spada / Mbed OS programme
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?

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