
Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
Revision 73:313975bfec96, committed 2015-02-17
- Comitter:
- xinlei
- Date:
- Tue Feb 17 16:31:30 2015 +0000
- Parent:
- 72:c5709ae7b193
- Child:
- 74:ca3001991fdc
- Commit message:
- measurements: displaying concrete information on LCD display, timing of sending operation.
Changed in this revision
--- a/MbedAgent.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/MbedAgent.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -12,11 +12,11 @@ _bootstrap(_client, _io, _deviceInfo, _deviceMemory), _integration(_client, _tpl, _deviceId, _deviceInfo), _configurationSynchronization(_client, _tpl, _deviceId, _deviceMemory, _deviceConfiguration, _configurationProperties), - _signalQualityMeasurement(_client, _tpl, _deviceId, _deviceInfo), - _temperatureMeasurement(_client, _tpl, _deviceId, _io.temperatureSensor()), - _accelerationMeasurement(_client, _tpl, _deviceId, _io.accelerometer()), - _analogMeasurement(_client, _tpl, _deviceId, _io.analog1(), _io.analog2()), - _locationUpdate(_client, _tpl, _deviceId, _io.gpsTracker()), + _signalQualityMeasurement(_client, _tpl, _deviceId, _deviceInfo, io, _bootstrap), + _temperatureMeasurement(_client, _tpl, _deviceId, _io.temperatureSensor(), io, deviceInfo, _bootstrap), + _accelerationMeasurement(_client, _tpl, _deviceId, _io.accelerometer(), io, deviceInfo, _bootstrap), + _analogMeasurement(_client, _tpl, _deviceId, _io.analog1(), _io.analog2(), io, deviceInfo, _bootstrap), + _locationUpdate(_client, _tpl, _deviceId, _io.gpsTracker(), io, deviceInfo, _bootstrap), _operationSupport(_client, _tpl, _deviceId, _configurationSynchronization, _io), _deviceId(0) {
--- a/logging/logging.h Mon Feb 16 13:15:52 2015 +0000 +++ b/logging/logging.h Tue Feb 17 16:31:30 2015 +0000 @@ -12,6 +12,11 @@ A_CRITICAL=50 }; +/* All logging functions. + * Function name indicates the corresponding logging level. + * First argument is a format string, remaining arguments + * must correspond to the given format, like in printf. + */ int aDebug(const char *fmt, ...); int aCritical(const char *fmt, ...); int aError(const char *fmt, ...);
--- a/main.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/main.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -100,8 +100,7 @@ tries = 3; do { -// io.lcdPrint("AGENT RUN"); - puts("R"); + io.lcdPrint("Agent Run"); if (agent.run()) break; } while (--tries > 0);
--- a/measurement/AccelerationMeasurement.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/AccelerationMeasurement.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -7,13 +7,18 @@ #include "logging.h" #define THRESHOLD_PERCENT_ACCE 0.05 // Percentage cut-off for avoiding sending similar acceleration sensor data. -#define TIME_LIMIT_ACCE 900 // Time interval for forcing a sending even if acceleration sensor readings are constantly similar. (in seconds) +// Time interval for forcing a sending even if acceleration sensor readings are constantly similar (in seconds). +#define TIME_LIMIT_ACCE 900 -AccelerationMeasurement::AccelerationMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, MMA7660& sensor) : +AccelerationMeasurement::AccelerationMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, + MMA7660& sensor, DeviceIO& io, DeviceInfo& deviceInfo, DeviceBootstrap& bootstrap) : _client(client), _tpl(tpl), _deviceId(deviceId), - _sensor(sensor) + _sensor(sensor), + _io(io), + _deviceInfo(deviceInfo), + _bootstrap(bootstrap) { _init = false; oldValues[0] = 0; @@ -29,7 +34,7 @@ // Insert measurement // USAGE: 106,<DEVICE/ID>,<X>,<Y>,<Z> - if (!_tpl.add("10,106,POST,/measurement/measurements,application/vnd.com.nsn.cumulocity.measurement+json,application/vnd.com.nsn.cumulocity.measurement+json,%%,NOW UNSIGNED NUMBER NUMBER NUMBER,\"{\"\"time\"\":\"\"%%\"\",\"\"source\"\":{\"\"id\"\":\"\"%%\"\"},\"\"type\"\":\"\"c8y_MotionMeasurement\"\",\"\"c8y_MotionMeasurement\"\":{\"\"x\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m^2/s\"\"},\"\"y\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m^2/s\"\"},\"\"z\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m^2/s\"\"}}}\"\r\n")) + if (!_tpl.add("10,106,POST,/measurement/measurements,application/vnd.com.nsn.cumulocity.measurement+json,application/vnd.com.nsn.cumulocity.measurement+json,%%,NOW UNSIGNED NUMBER NUMBER NUMBER,\"{\"\"time\"\":\"\"%%\"\",\"\"source\"\":{\"\"id\"\":\"\"%%\"\"},\"\"type\"\":\"\"c8y_MotionMeasurement\"\",\"\"c8y_MotionMeasurement\"\":{\"\"x\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m/s^2\"\"},\"\"y\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m/s^2\"\"},\"\"z\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m/s^2\"\"}}}\"\r\n")) return false; _test = _sensor.testConnection(); @@ -44,18 +49,24 @@ float data[3] = { 0.0, 0.0, 0.0 }; _sensor.readData(data); -// printf("Acceleration sensor readings: [Old] %.2f, %.2f, %.2f\r\n", oldValues[0], oldValues[1], oldValues[2]); -// printf(" [New] %.2f, %.2f, %.2f\r\n", data[0], data[1], data[2]); + char tenant[25] = {0}; + snprintf(tenant, 25, "Tenant: %s", _bootstrap.username()); + char signal[25] = {0}; + snprintf(signal, 25, "Network: %d dBm", _deviceInfo.signalQuality()->rssi); if (abs(oldValues[0]-data[0]) <= abs(oldValues[0])*THRESHOLD_PERCENT_ACCE && abs(oldValues[1]-data[1]) <= abs(oldValues[1])*THRESHOLD_PERCENT_ACCE && abs(oldValues[2]-data[2]) <= abs(oldValues[2])*THRESHOLD_PERCENT_ACCE) { if (sendingTimer.read() < TIME_LIMIT_ACCE) { - aInfo("Similar acceleration readings found, no sending!\r\n"); + aDebug("Similar acceleration readings found, no sending!\r\n"); + _io.lcdPrint(tenant, signal); return true; } else { - aInfo("Sending timer of acceleration sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); + aDebug("Sending timer of acceleration sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); } } + char status[27] = {0}; + snprintf(status, 27, "Sending Acc %.1f,%.1f,%.1f", data[0], data[1], data[2]); + _io.lcdPrint(tenant, signal, status); ComposedRecord record; IntegerValue msgId(106); @@ -66,16 +77,18 @@ if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(xValue)) || (!record.add(yValue)) || (!record.add(zValue))) return false; + float t_start = sendingTimer.read(); if (_client.send(record) != SMARTREST_SUCCESS) { aError("Signal measurement failed."); _client.stop(); return false; } + float t_end = sendingTimer.read(); _client.stop(); + aInfo("Acceleration readings sent in %.1f.\r\n", t_end-t_start); oldValues[0] = data[0]; oldValues[1] = data[1]; oldValues[2] = data[2]; sendingTimer.reset(); - aInfo("Acceleration readings sent.\r\n"); return true; }
--- a/measurement/AccelerationMeasurement.h Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/AccelerationMeasurement.h Tue Feb 17 16:31:30 2015 +0000 @@ -4,11 +4,14 @@ #include "AbstractSmartRest.h" #include "SmartRestTemplate.h" #include "MMA7660.h" +#include "DeviceIO.h" +#include "DeviceInfo.h" +#include "DeviceBootstrap.h" class AccelerationMeasurement { public: - AccelerationMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, MMA7660&); + AccelerationMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, MMA7660&, DeviceIO&, DeviceInfo&, DeviceBootstrap&); bool init(); bool run(); @@ -21,6 +24,9 @@ MMA7660& _sensor; float oldValues[3]; Timer sendingTimer; + DeviceIO& _io; + DeviceInfo& _deviceInfo; + DeviceBootstrap& _bootstrap; }; #endif \ No newline at end of file
--- a/measurement/AnalogMeasurement.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/AnalogMeasurement.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -6,14 +6,19 @@ #include "logging.h" #define THRESHOLD_PERCENT_ANA 0.05 // Percentage cut-off for avoiding sending similar analog sensor data. -#define TIME_LIMIT_ANA 900 // Time interval for forcing a sending even if analog sensor readings are constantly similar. +// Time interval for forcing a sending even if analog sensor readings are constantly similar (in seconds). +#define TIME_LIMIT_ANA 900 -AnalogMeasurement::AnalogMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, AnalogIn& analog1, AnalogIn& analog2) : +AnalogMeasurement::AnalogMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, AnalogIn& analog1, + AnalogIn& analog2, DeviceIO& io, DeviceInfo& deviceInfo, DeviceBootstrap& bootstrap) : _client(client), _tpl(tpl), _deviceId(deviceId), _analog1(analog1), - _analog2(analog2) + _analog2(analog2), + _io(io), + _deviceInfo(deviceInfo), + _bootstrap(bootstrap) { _init = false; oldValues[0] = 0; @@ -40,16 +45,24 @@ float data[2] = {0, 0}; data[0] = _analog1.read()*100; data[1] = _analog2.read()*100; + char tenant[25] = {0}; + snprintf(tenant, 25, "Tenant: %s", _bootstrap.username()); + char signal[25] = {0}; + snprintf(signal, 25, "Network: %d dBm", _deviceInfo.signalQuality()->rssi); if (abs(oldValues[0]-data[0]) <= abs(oldValues[0])*THRESHOLD_PERCENT_ANA && abs(oldValues[1]-data[1]) <= abs(oldValues[1])*THRESHOLD_PERCENT_ANA) { if (sendingTimer.read() < TIME_LIMIT_ANA) { - aInfo("Similar analog readings found, no sending!\r\n"); + aDebug("Similar analog readings found, no sending!\r\n"); + _io.lcdPrint(tenant, signal); return true; } else { - aInfo("Sending timer of analog sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); + aDebug("Sending timer of analog sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); } } - + + char status[25] = {0}; + snprintf(status, 25, "Sending Ana %.1f,%.1f", data[0], data[1]); + _io.lcdPrint(tenant, signal, status); ComposedRecord record; IntegerValue msgId(107); IntegerValue devId(_deviceId); @@ -58,15 +71,17 @@ if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(analog1)) || (!record.add(analog2))) return false; + float t_start = sendingTimer.read(); if (_client.send(record) != SMARTREST_SUCCESS) { aError("Signal measurement failed."); _client.stop(); return false; } + float t_end = sendingTimer.read(); _client.stop(); + aInfo("Acceleration readings sent in %.1f.\r\n", t_end-t_start); oldValues[0] = data[0]; oldValues[1] = data[1]; sendingTimer.reset(); - aInfo("Analog readings sent.\r\n"); return true; }
--- a/measurement/AnalogMeasurement.h Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/AnalogMeasurement.h Tue Feb 17 16:31:30 2015 +0000 @@ -4,11 +4,14 @@ #include "SmartRest.h" #include "SmartRestTemplate.h" #include "mbed.h" +#include "DeviceIO.h" +#include "DeviceInfo.h" +#include "DeviceBootstrap.h" class AnalogMeasurement { public: - AnalogMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, AnalogIn&, AnalogIn&); + AnalogMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, AnalogIn&, AnalogIn&, DeviceIO&, DeviceInfo&, DeviceBootstrap&); bool init(); bool run(); @@ -22,6 +25,9 @@ AnalogIn& _analog2; float oldValues[2]; Timer sendingTimer; + DeviceIO& _io; + DeviceInfo& _deviceInfo; + DeviceBootstrap& _bootstrap; }; #endif \ No newline at end of file
--- a/measurement/LocationUpdate.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/LocationUpdate.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -7,13 +7,18 @@ #include "logging.h" #define THRESHOLD_PERCENT_LOC 0.05 // Percentage cut-off for avoiding sending similar acceleration sensor data. -#define TIME_LIMIT_LOC 900 // Time interval for forcing a sending even if acceleration sensor readings are constantly similar. +// Time interval for forcing a sending even if analog sensor readings are constantly similar (in seconds). +#define TIME_LIMIT_LOC 900 -LocationUpdate::LocationUpdate(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, GPSTracker& gpsTracker) : +LocationUpdate::LocationUpdate(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, GPSTracker& gpsTracker, + DeviceIO& io, DeviceInfo& deviceInfo, DeviceBootstrap& bootstrap) : _client(client), _tpl(tpl), _deviceId(deviceId), - _gpsTracker(gpsTracker) + _gpsTracker(gpsTracker), + _io(io), + _deviceInfo(deviceInfo), + _bootstrap(bootstrap) { _init = false; oldValues[0] = 0; @@ -53,16 +58,24 @@ data[0] = position.altitude; data[1] = position.latitude; data[2] = position.longitude; + char tenant[25] = {0}; + snprintf(tenant, 25, "Tenant: %s", _bootstrap.username()); + char signal[25] = {0}; + snprintf(signal, 25, "Network: %d dBm", _deviceInfo.signalQuality()->rssi); if (abs(oldValues[0]-data[0]) <= abs(oldValues[0])*THRESHOLD_PERCENT_LOC && abs(oldValues[1]-data[1]) <= abs(oldValues[1])*THRESHOLD_PERCENT_LOC && abs(oldValues[2]-data[2]) <= abs(oldValues[2])*THRESHOLD_PERCENT_LOC) { if (sendingTimer.read() < TIME_LIMIT_LOC) { - aInfo("Similar location readings found, no sending!\r\n"); + aDebug("Similar location readings found, no sending!\r\n"); + _io.lcdPrint(tenant, signal); return true; } else { - aInfo("Sending timer of location sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); + aDebug("Sending timer of location sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); } } + char status[27] = {0}; + snprintf(status, 27, "Sending GPS %.1f,%.1f,%.1f", data[0], data[1], data[2]); + _io.lcdPrint(tenant, signal, status); Aggregator aggregator; ComposedRecord record1, record2; @@ -79,17 +92,18 @@ if ((!aggregator.add(record1)) || (!aggregator.add(record2))) return false; + float t_start = sendingTimer.read(); if (_client.send(aggregator) != SMARTREST_SUCCESS) { aError("Signal measurement failed.\r\n"); _client.stop(); return false; } - + float t_end = sendingTimer.read(); _client.stop(); + aInfo("Acceleration readings sent in %.1f.\r\n", t_end-t_start); oldValues[0] = data[0]; oldValues[1] = data[1]; oldValues[2] = data[2]; sendingTimer.reset(); - aInfo("Location readings sent.\r\n"); return true; }
--- a/measurement/LocationUpdate.h Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/LocationUpdate.h Tue Feb 17 16:31:30 2015 +0000 @@ -4,11 +4,14 @@ #include "AbstractSmartRest.h" #include "SmartRestTemplate.h" #include "GPSTracker.h" +#include "DeviceIO.h" +#include "DeviceInfo.h" +#include "DeviceBootstrap.h" class LocationUpdate { public: - LocationUpdate(AbstractSmartRest&, SmartRestTemplate&, long&, GPSTracker&); + LocationUpdate(AbstractSmartRest&, SmartRestTemplate&, long&, GPSTracker&, DeviceIO&, DeviceInfo&, DeviceBootstrap&); bool init(); bool run(); @@ -21,6 +24,9 @@ GPSTracker& _gpsTracker; float oldValues[3]; Timer sendingTimer; + DeviceIO& _io; + DeviceInfo& _deviceInfo; + DeviceBootstrap& _bootstrap; }; #endif \ No newline at end of file
--- a/measurement/SignalQualityMeasurement.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/SignalQualityMeasurement.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -6,13 +6,17 @@ #include "logging.h" #define THRESHOLD_PERCENT_SIG 0.05 // Percentage cut-off for avoiding sending similar signal sensor data. -#define TIME_LIMIT_SIG 900 // Time interval for forcing a sending even if signal sensor readings are constantly similar. +// Time interval for forcing a sending even if analog sensor readings are constantly similar (in seconds). +#define TIME_LIMIT_SIG 900 -SignalQualityMeasurement::SignalQualityMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, DeviceInfo& deviceInfo) : +SignalQualityMeasurement::SignalQualityMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, + DeviceInfo& deviceInfo, DeviceIO& io, DeviceBootstrap& bootstrap) : _client(client), _tpl(tpl), _deviceId(deviceId), - _deviceInfo(deviceInfo) + _deviceInfo(deviceInfo), + _io(io), + _bootstrap(bootstrap) { _init = false; oldValues[0] = 0; @@ -44,16 +48,24 @@ float data[2] = {0, 0}; data[0] = signalQuality->rssi; data[1] = signalQuality->ber; + char tenant[25] = {0}; + snprintf(tenant, 25, "Tenant: %s", _bootstrap.username()); + char signal[25] = {0}; + snprintf(signal, 25, "Network: %d dBm", _deviceInfo.signalQuality()->rssi); if (abs(oldValues[0]-data[0]) <= abs(oldValues[0])*THRESHOLD_PERCENT_SIG && abs(oldValues[1]-data[1]) <= abs(oldValues[1])*THRESHOLD_PERCENT_SIG) { if (sendingTimer.read() < TIME_LIMIT_SIG) { - aInfo("Similar signal readings found, no sending!\r\n"); + aDebug("Similar signal readings found, no sending!\r\n"); + _io.lcdPrint(tenant, signal); return true; } else { - aInfo("Sending timer of signal sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); + aDebug("Sending timer of signal sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); } } + char status[25] = {0}; + snprintf(status, 25, "Sending Poti %d,%d", (int)data[0], (int)data[1]); + _io.lcdPrint(tenant, signal, status); ComposedRecord record; IntegerValue msgId(104); IntegerValue devId(_deviceId); @@ -62,16 +74,17 @@ if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(rssi)) || (!record.add(ber))) return false; + float t_start = sendingTimer.read(); if (_client.send(record) != SMARTREST_SUCCESS) { aError("Signal measurement failed.\r\n"); _client.stop(); return false; } - + float t_end = sendingTimer.read(); _client.stop(); + aInfo("Acceleration readings sent in %.1f.\r\n", t_end-t_start); oldValues[0] = data[0]; oldValues[1] = data[1]; sendingTimer.reset(); - aInfo("Signal quality measurement sent.\r\n"); return true; }
--- a/measurement/SignalQualityMeasurement.h Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/SignalQualityMeasurement.h Tue Feb 17 16:31:30 2015 +0000 @@ -4,11 +4,13 @@ #include "AbstractSmartRest.h" #include "SmartRestTemplate.h" #include "DeviceInfo.h" +#include "DeviceIO.h" +#include "DeviceBootstrap.h" class SignalQualityMeasurement { public: - SignalQualityMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + SignalQualityMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&, DeviceIO&, DeviceBootstrap&); bool init(); bool run(); @@ -21,6 +23,8 @@ DeviceInfo& _deviceInfo; float oldValues[2]; Timer sendingTimer; + DeviceIO& _io; + DeviceBootstrap& _bootstrap; }; #endif \ No newline at end of file
--- a/measurement/TemperatureMeasurement.cpp Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/TemperatureMeasurement.cpp Tue Feb 17 16:31:30 2015 +0000 @@ -6,14 +6,19 @@ #include "logging.h" #define THRESHOLD_PERCENT_TEMP 0.05 // Percentage cut-off for avoiding sending similar temperature sensor data. -#define TIME_LIMIT_TEMP 900 // Time interval for forcing a sending even if analog sensor readings are constantly similar. +// Time interval for forcing a sending even if analog sensor readings are constantly similar (in seconds). +#define TIME_LIMIT_TEMP 900 -TemperatureMeasurement::TemperatureMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, LM75B& sensor) : +TemperatureMeasurement::TemperatureMeasurement(AbstractSmartRest& client, SmartRestTemplate& tpl, long& deviceId, LM75B& sensor, + DeviceIO& io, DeviceInfo& deviceInfo, DeviceBootstrap& bootstrap) : _client(client), _tpl(tpl), _deviceId(deviceId), _sensor(sensor), - oldValue(0) + oldValue(0), + _io(io), + _deviceInfo(deviceInfo), + _bootstrap(bootstrap) { _init = false; sendingTimer.start(); @@ -41,15 +46,23 @@ float data = 0; data = _sensor.temp(); + char tenant[25] = {0}; + snprintf(tenant, 25, "Tenant: %s", _bootstrap.username()); + char signal[25] = {0}; + snprintf(signal, 25, "Network: %d dBm", _deviceInfo.signalQuality()->rssi); if (abs(oldValue-data) <= abs(oldValue)*THRESHOLD_PERCENT_TEMP) { if (sendingTimer.read() < TIME_LIMIT_TEMP) { - aInfo("Similar temperature readings found, no sending!\r\n"); + aDebug("Similar temperature readings found, no sending!\r\n"); + _io.lcdPrint(tenant, signal); return true; } else { - aInfo("Sending timer of temperature sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); + aDebug("Sending timer of temperature sensor timed out at %f s, a sending is forced.\r\n", sendingTimer.read()); } } + char status[25] = {0}; + snprintf(status, 25, "Sending Temp %.1f", data); + _io.lcdPrint(tenant, signal, status); ComposedRecord record; IntegerValue msgId(105); IntegerValue devId(_deviceId); @@ -57,14 +70,16 @@ if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(temperature))) return false; + float t_start = sendingTimer.read(); if (_client.send(record) != SMARTREST_SUCCESS) { aError("Signal measurement failed.\r\n"); _client.stop(); return false; } + float t_end = sendingTimer.read(); _client.stop(); + aInfo("Acceleration readings sent in %.1f.\r\n", t_end-t_start); oldValue = data; sendingTimer.reset(); - aInfo("Temperature readings sent.\r\n"); return true; }
--- a/measurement/TemperatureMeasurement.h Mon Feb 16 13:15:52 2015 +0000 +++ b/measurement/TemperatureMeasurement.h Tue Feb 17 16:31:30 2015 +0000 @@ -4,11 +4,14 @@ #include "AbstractSmartRest.h" #include "SmartRestTemplate.h" #include "LM75B.h" +#include "DeviceIO.h" +#include "DeviceInfo.h" +#include "DeviceBootstrap.h" class TemperatureMeasurement { public: - TemperatureMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, LM75B&); + TemperatureMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, LM75B&, DeviceIO&, DeviceInfo&, DeviceBootstrap&); bool init(); bool run(); @@ -21,6 +24,9 @@ LM75B& _sensor; float oldValue; Timer sendingTimer; + DeviceIO& _io; + DeviceInfo& _deviceInfo; + DeviceBootstrap& _bootstrap; }; #endif \ No newline at end of file