yes Spada / Mbed OS programme
Revision:
5:0d9e292a9d06
Parent:
4:bfe306335065
Child:
6:5f56e551f84f
--- a/WeatherStation.cpp	Tue Mar 05 10:27:40 2019 +0000
+++ b/WeatherStation.cpp	Fri Mar 08 08:28:14 2019 +0000
@@ -1,31 +1,41 @@
 #include "WeatherStation.h"
 
 // initialization of static data members
-// here you must define and initialize WeatherStation::m_measurementInterval and WeatherStation::m_blinkInterval
     const int WeatherStation::m_blinkInterval = 500;
     const int WeatherStation::m_measurementInterval = 10000;
 
 // constructor
 WeatherStation::WeatherStation(NRFDevKit& nrfDevKit, Logger& logger) 
-: // newly declared devices must be initialized here
-  m_nrfDevKit(nrfDevKit),
-  m_logger(logger),
-  m_lps25hb(m_nrfDevKit.getSDA(), m_nrfDevKit.getSCL(), m_logger),
-  m_hdc1000(m_nrfDevKit.getSDA(), m_nrfDevKit.getSCL(), m_nrfDevKit.getDataRdy(), m_logger){
+:
+    m_nrfDevKit(nrfDevKit),
+    m_logger(logger),
+    m_lps25hb(m_nrfDevKit.getSDA(), m_nrfDevKit.getSCL(), logger),
+    m_hdc1000(m_nrfDevKit.getSDA(), m_nrfDevKit.getSCL(), m_nrfDevKit.getDataRdy(), logger){
 }
 
 void WeatherStation::start() {
   m_logger.log("WeatherStation is starting\r\n");
+    
+    
   // make sure that the LPW25HB device is present
   // if not log an error and return
-  
-  
-  
-  m_logger.log("LPS25HB device found\r\n");    
+  if (m_lps25hb.probe()) {
+      m_logger.log("LPS25HB device found\r\n");    
+  } else {
+      m_logger.log("Device LPS25HB not found!\r\n");
+      return;
+  }
+    
+    
   // make sure that the HDC1000 device is present
   // if not log an error and return
-  
-  m_logger.log("HDC1000 device found\r\n");
+  if (m_hdc1000.probe()) {
+      m_logger.log("HDC1000 device found\r\n");   
+  } else {
+      m_logger.log("Device HDC1000 not found!\r\n");
+      return;
+  }  
+    
   
   // to show we're running we'll blink every m_blinkInterval milliseconds
   // the syntax used here is the following:
@@ -48,19 +58,18 @@
 }
  
 void WeatherStation::performMeasurements(void) {
-  m_logger.log("Performing measurements\r\n");
+  m_logger.log("\r\nPerforming measurements:\r\n");
   
   // get and log pressure
-  m_logger.log("Pressure value is %f HPA.\r\n", m_lps25hb.getPressure());
+  m_logger.log("    Pressure:      %.02f hPa\r\n", m_lps25hb.getPressure());
   
   // get and log temperature
-  m_logger.log("Temperature value is %f DEG.\r\n", m_hdc1000.getTemperature());
+  m_logger.log("    Temperature:    %.02f C\r\n", m_hdc1000.getTemperature());
   
   // get and log humidity
-  m_logger.log("Humidiy value is %f.\r\n", m_hdc1000.getHumidity());
+  m_logger.log("    Humidiy:        %.02f %%\r\n", m_hdc1000.getHumidity());
   
   // get and log the battery level
-  m_logger.log("Battery value is %f.\r\n", m_nrfDevKit.getBatteryLevel());
+  m_logger.log("    Battery:        %u mV\r\n", m_nrfDevKit.getBatteryLevel());
   
-}
-
+}
\ No newline at end of file