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.
EnvironmentalService.h
- Committer:
- loicguibert
- Date:
- 2019-04-16
- Revision:
- 16:eed9a9ba319c
- Parent:
- 15:aac1b3950a9e
- Child:
- 17:76787f5a334f
File content as of revision 16:eed9a9ba319c:
#pragma once
#include "ble/BLE.h"
// for logging
#include "Logger.h"
class EnvironmentalService {
public:
typedef uint32_t PressureType_t;
typedef int16_t TemperatureType_t;
typedef uint16_t HumidityType_t;
typedef uint8_t PressureTrendType_t;
/**
* @brief BatteryService constructor.
* @param ble Reference to BLE device.
*/
EnvironmentalService(BLE& ble, Logger& logger);
/**
* Called after initialization of the BLE module for adding the service
* to the GATT server
*/
void addServiceToGattServer(void);
/**
* @brief Update battery level characteristic.
* @param newBatteryLevelVal New battery level measurement.
*/
void updateEnvironmentalService(PressureType_t newPressure, TemperatureType_t newTemperature, HumidityType_t newHumidity, uint32_t newPressureTrend);
private:
// data members
BLE& m_ble;
bool m_serviceAdded;
PressureType_t m_pressure;
TemperatureType_t m_temperature;
HumidityType_t m_humidity;
PressureTrendType_t m_pressureTrend;
// characteristics belonging to the service
ReadOnlyGattCharacteristic<PressureType_t> m_pressureCharacteristic;
ReadOnlyGattCharacteristic<TemperatureType_t> m_temperatureCharacteristic;
ReadOnlyGattCharacteristic<HumidityType_t> m_humidityCharacteristic;
ReadOnlyGattCharacteristic<PressureTrendType_t> m_pressureTrendCharacteristic;
// logger instance
Logger& m_logger;
// Enum for pressure trend
enum pressureTrendStates {
UNKNOWN,
FALLING_CONTINUOUSLY,
RISING_CONTINUOUSLY,
FALLING_STEADY,
RISING_STEADY,
FALLING_LESSER_RISE,
FALLING_GREATER_RISE,
RISING_GREATER_RISE,
RISING_LESSER_RISE,
STEADY
};
};