From 79654d428e10c44f994aebefab946ece8ff3f1ce Mon Sep 17 00:00:00 2001 From: Moritz Perschke <moritz.perschke@uibk.ac.at> Date: Thu, 27 Oct 2022 12:52:03 +0200 Subject: [PATCH] fixed return value in Time, implemented build_messages for dr26 and scd30 --- client/client/lib/dr26_analogue/dr26.cpp | 6 +++++- client/client/lib/scd30/scd30.cpp | 14 +++++++++++++- client/client/lib/time/src/Time.cpp | 2 +- client/client/lib/time/src/Time.hpp | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/client/client/lib/dr26_analogue/dr26.cpp b/client/client/lib/dr26_analogue/dr26.cpp index e8d4555..fe9eb14 100644 --- a/client/client/lib/dr26_analogue/dr26.cpp +++ b/client/client/lib/dr26_analogue/dr26.cpp @@ -46,7 +46,11 @@ void ForteDR26 ::changeGain(adsGain_t gain) std::list<Message> ForteDR26::buildMessages() { - throw "Not implemented"; + std::list<Message> messages; + float data = readData(); + MeasurementData IncrementData{data, 0, {}, "CIRCUMFERENCE_INCREMENT"}; + messages.emplace_back((IncrementData, sensorInformation, Time::getInstance().getEpochSeconds())); + return messages; } SensorInformation ForteDR26::getSensorInformation() const { diff --git a/client/client/lib/scd30/scd30.cpp b/client/client/lib/scd30/scd30.cpp index 507d815..7cff381 100644 --- a/client/client/lib/scd30/scd30.cpp +++ b/client/client/lib/scd30/scd30.cpp @@ -24,8 +24,20 @@ out_data_scd30 ForteSCD30 ::readData() std::list<Message> ForteSCD30::buildMessages() { - throw "Not yet implemented"; + std::list<Message> messages; + + out_data_scd30 data = readData(); + MeasurementData CO2Data{data.C02, 0, {}, "CO2"}; + MeasurementData TempData{data.Temperature, 0, {}, "Temperature"}; + MeasurementData HumidData{data.Humidity, 0, {}, "Humidity"}; + + messages.emplace_back(Message(CO2Data, sensorInformation, Time::getInstance().getEpochSeconds())); + messages.emplace_back(Message(TempData, sensorInformation, Time::getInstance().getEpochSeconds())); + messages.emplace_back(Message(HumidData, sensorInformation, Time::getInstance().getEpochSeconds())); + + return messages; } + SensorInformation ForteSCD30::getSensorInformation() const { return sensorInformation; diff --git a/client/client/lib/time/src/Time.cpp b/client/client/lib/time/src/Time.cpp index 8fdf4b4..5cc3dbc 100644 --- a/client/client/lib/time/src/Time.cpp +++ b/client/client/lib/time/src/Time.cpp @@ -17,7 +17,7 @@ String Time::getTime(String format) { return this->rtc.getTime(std::move(format)); } -long Time::getEpochSeconds() +unsigned long Time::getEpochSeconds() { return this->rtc.getEpoch(); } diff --git a/client/client/lib/time/src/Time.hpp b/client/client/lib/time/src/Time.hpp index d53adb1..783bdef 100644 --- a/client/client/lib/time/src/Time.hpp +++ b/client/client/lib/time/src/Time.hpp @@ -45,7 +45,7 @@ class Time { /*! @brief get the current epoch seconds as long */ - long getEpochSeconds(); + unsigned long getEpochSeconds(); /*! @brief get the current milliseconds as long -- GitLab