yes Spada / Mbed OS programme
Revision:
16:eed9a9ba319c
Parent:
15:aac1b3950a9e
Child:
17:76787f5a334f
--- a/EnvironmentalService.h	Tue Apr 16 07:22:47 2019 +0000
+++ b/EnvironmentalService.h	Tue Apr 16 08:25:25 2019 +0000
@@ -10,6 +10,7 @@
   typedef uint32_t  PressureType_t;
   typedef int16_t   TemperatureType_t;
   typedef uint16_t  HumidityType_t;
+  typedef uint8_t   PressureTrendType_t;
   
   /**
    * @brief   BatteryService constructor.
@@ -27,22 +28,38 @@
    * @brief   Update battery level characteristic.
    * @param   newBatteryLevelVal New battery level measurement.
    */
-  void updateEnvironmentalService(PressureType_t newPressure, TemperatureType_t newTemperature, HumidityType_t newHumidity);
+  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;
+  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
+  };
 };