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.
Diff: WeatherStation.cpp
- Revision:
- 5:0d9e292a9d06
- Parent:
- 4:bfe306335065
- Child:
- 6:5f56e551f84f
diff -r bfe306335065 -r 0d9e292a9d06 WeatherStation.cpp
--- 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