
Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
Revision 99:47ea098f8a47, committed 2015-05-07
- Comitter:
- xinlei
- Date:
- Thu May 07 13:56:19 2015 +0000
- Parent:
- 98:e369fc75c000
- Child:
- 100:dbcd3bc51758
- Commit message:
- prepare for v2.1rc3.
Changed in this revision
--- a/DeviceIntegration.cpp Thu May 07 09:57:55 2015 +0000 +++ b/DeviceIntegration.cpp Thu May 07 13:56:19 2015 +0000 @@ -6,8 +6,7 @@ #include "logging.h" DeviceIntegration::DeviceIntegration(AbstractSmartRest& client, SmartRestTemplate& tpl, - long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _deviceInfo(deviceInfo) @@ -51,13 +50,12 @@ return false; _init = true; - _deviceId = 0; return true; } bool DeviceIntegration::integrate() { - if (_deviceId != 0) + if (deviceID != 0) return false; // template bootstrapping process @@ -110,7 +108,7 @@ aError("Unknown message ID: %d.\n", received.value(0).integerValue()); return false; } - _deviceId = received.value(2).integerValue(); + setDeviceID(received.value(2).integerValue()); return true; } @@ -149,7 +147,7 @@ return false; } - _deviceId = received.value(2).integerValue(); + setDeviceID(received.value(2).integerValue()); return true; } @@ -161,9 +159,9 @@ aInfo("Add global identifier.\n"); IntegerValue msgId(102); - IntegerValue deviceId(_deviceId); + IntegerValue devId(deviceID); CharValue imei(_deviceInfo.imei()); - if ((!record.add(msgId)) || (!record.add(deviceId)) || (!record.add(imei))) + if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(imei))) return false; if (_client.send(record) != SMARTREST_SUCCESS) { @@ -198,12 +196,12 @@ ParsedRecord received; IntegerValue msgId(103); - IntegerValue deviceId(_deviceId); + IntegerValue devId(deviceID); CharValue imei(_deviceInfo.imei()); CharValue cellId(_deviceInfo.cellId()); CharValue iccid(_deviceInfo.iccid()); aInfo("Update Device.\n"); - if ((!record.add(msgId)) || (!record.add(deviceId)) || (!record.add(imei)) || (!record.add(cellId)) || (!record.add(iccid))) + if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(imei)) || (!record.add(cellId)) || (!record.add(iccid))) return false; if (_client.send(record) != SMARTREST_SUCCESS) {
--- a/DeviceIntegration.h Thu May 07 09:57:55 2015 +0000 +++ b/DeviceIntegration.h Thu May 07 13:56:19 2015 +0000 @@ -8,7 +8,7 @@ class DeviceIntegration { public: - DeviceIntegration(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + DeviceIntegration(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool integrate(); @@ -21,7 +21,6 @@ private: bool _init; - long& _deviceId; SmartRestTemplate& _tpl; AbstractSmartRest& _client; DeviceInfo& _deviceInfo;
--- a/MbedAgent.cpp Thu May 07 09:57:55 2015 +0000 +++ b/MbedAgent.cpp Thu May 07 13:56:19 2015 +0000 @@ -4,19 +4,17 @@ #include "watchdog.h" MbedAgent::MbedAgent(DeviceInfo& deviceInfo): - _deviceId(0), - _client(), - _bootstrap(_client, deviceInfo), - _integration(_client, _tpl, _deviceId, deviceInfo), - _configSync(_client, _tpl, _deviceId), - _signalQualityMeasurement(_client, _tpl, _deviceId, deviceInfo), - _temperatureMeasurement(_client, _tpl, _deviceId, deviceInfo), - _accelerationMeasurement(_client, _tpl, _deviceId, deviceInfo), - _analogMeasurement(_client, _tpl, _deviceId, deviceInfo), - _locationUpdate(_client, _tpl, _deviceId, deviceInfo), - pool(), - _operationSupport(_client, _tpl, _deviceId, pool) + _client(), tpl(), _bootstrap(_client, deviceInfo), + _integration(_client, _tpl, deviceInfo), lcdThirdLineBlank(true), + signal(), temp(), poti(), gps(), acc(), conf(), sock(), + pool(), _operationSupport(_client, _tpl, pool) { + reporters[0] = &signal; + reporters[1] = &temp; + reporters[2] = &poti; + reporters[3] = &gps; + reporters[4] = &acc; + reporters[5] = &conf; } bool MbedAgent::init() @@ -26,30 +24,6 @@ LCDDisplay::inst().setLines("Integrate init fail"); flag = false; } - if (!_configSync.init()) { - LCDDisplay::inst().setLines("ConfigSync init fail"); - flag = false; - } - if (!_signalQualityMeasurement.init()) { - LCDDisplay::inst().setLines("Signal init fail"); - flag = false; - } - if (!_temperatureMeasurement.init()) { - LCDDisplay::inst().setLines("Temp init fail"); - flag = false; - } - if (!_accelerationMeasurement.init()) { - LCDDisplay::inst().setLines("Acc init fail"); - flag = false; - } - if (!_analogMeasurement.init()) { - LCDDisplay::inst().setLines("Analog init fail"); - flag = false; - } - if (!_locationUpdate.init()) { - LCDDisplay::inst().setLines("Location init fail"); - flag = false; - } if (!_operationSupport.init()) { LCDDisplay::inst().setLines("Operation init fail"); flag = false;
--- a/MbedAgent.h Thu May 07 09:57:55 2015 +0000 +++ b/MbedAgent.h Thu May 07 13:56:19 2015 +0000 @@ -1,23 +1,26 @@ #ifndef MBEDAGENT_H #define MBEDAGENT_H -#include <stddef.h> #include "SmartRest.h" #include "SmartRestTemplate.h" #include "DeviceInfo.h" #include "DeviceBootstrap.h" #include "DeviceIntegration.h" + +#include "Signal.h" +#include "Temperature.h" +#include "Location.h" +#include "Potentiometer.h" +#include "Acceleration.h" #include "ConfigSync.h" -#include "SignalQualityMeasurement.h" -#include "TemperatureMeasurement.h" -#include "AccelerationMeasurement.h" -#include "AnalogMeasurement.h" -#include "LocationUpdate.h" + #include "OperationSupport.h" #include "SmartRestConf.h" #include "PollThread.h" #include "ReportThread.h" +const size_t N = 6; + class MbedAgent { public: @@ -28,17 +31,21 @@ void loop(); private: - long _deviceId; SmartRest _client; - SmartRestTemplate _tpl; + SmartRestTemplate tpl; DeviceBootstrap _bootstrap; DeviceIntegration _integration; - ConfigSync _configSync; - SignalQualityMeasurement _signalQualityMeasurement; - TemperatureMeasurement _temperatureMeasurement; - AccelerationMeasurement _accelerationMeasurement; - AnalogMeasurement _analogMeasurement; - LocationUpdate _locationUpdate; + bool lcdThirdLineBlank; + Signal signal; + Temperature temp; + Potentiometer poti; + Location gps; + Acceleration acc; + ConfigSync conf; + char buf[SMARTREST_SIZE]; + char line[DISPLAY_LEN]; + AbstractReporter *reporters[N]; + SmartRestSock sock; OperationPool pool; OperationSupport _operationSupport; };
--- a/config/ConfigSync.cpp Thu May 07 09:57:55 2015 +0000 +++ b/config/ConfigSync.cpp Thu May 07 13:56:19 2015 +0000 @@ -7,13 +7,11 @@ #include "logging.h" ConfigSync::ConfigSync( - AbstractSmartRest& client, SmartRestTemplate& tpl, - long& deviceId) : + AbstractSmartRest& client, SmartRestTemplate& tpl) : _init (false), _changed (false), _tpl(tpl), _client(client), - _deviceId(deviceId), _deviceConfiguration(), _configurationProperties(_deviceConfiguration) {
--- a/config/ConfigSync.h Thu May 07 09:57:55 2015 +0000 +++ b/config/ConfigSync.h Thu May 07 13:56:19 2015 +0000 @@ -8,7 +8,7 @@ class ConfigSync { public: - ConfigSync(AbstractSmartRest&, SmartRestTemplate&, long&); + ConfigSync(AbstractSmartRest&, SmartRestTemplate&); bool init(); bool integrate(); @@ -26,7 +26,6 @@ bool _changed; SmartRestTemplate& _tpl; AbstractSmartRest& _client; - long& _deviceId; DeviceConfiguration _deviceConfiguration; ConfigurationProperties _configurationProperties; };
--- a/measurement/AccelerationMeasurement.cpp Thu May 07 09:57:55 2015 +0000 +++ b/measurement/AccelerationMeasurement.cpp Thu May 07 13:56:19 2015 +0000 @@ -12,8 +12,7 @@ #define TIME_LIMIT_ACCE 900 AccelerationMeasurement::AccelerationMeasurement(AbstractSmartRest& client, - SmartRestTemplate& tpl, long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + SmartRestTemplate& tpl, DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _sensor(SDA,SCL), @@ -31,7 +30,7 @@ if (_init) return false; - // Insert measurement + // Insert measurement Acceleration // 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/s^2\"\"},\"\"y\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m/s^2\"\"},\"\"z\"\":{\"\"value\"\":%%,\"\"unit\"\":\"\"m/s^2\"\"}}}\"\r\n")) return false; @@ -72,7 +71,7 @@ ComposedRecord record; IntegerValue msgId(106); - IntegerValue devId(_deviceId); + IntegerValue devId(deviceID); FloatValue xValue(data[0], 2); FloatValue yValue(data[1], 2); FloatValue zValue(data[2], 2);
--- a/measurement/AccelerationMeasurement.h Thu May 07 09:57:55 2015 +0000 +++ b/measurement/AccelerationMeasurement.h Thu May 07 13:56:19 2015 +0000 @@ -9,7 +9,7 @@ class AccelerationMeasurement { public: - AccelerationMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + AccelerationMeasurement(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool run();
--- a/measurement/AnalogMeasurement.cpp Thu May 07 09:57:55 2015 +0000 +++ b/measurement/AnalogMeasurement.cpp Thu May 07 13:56:19 2015 +0000 @@ -14,8 +14,7 @@ AnalogIn _analog2(A1); AnalogMeasurement::AnalogMeasurement(AbstractSmartRest& client, - SmartRestTemplate& tpl, long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + SmartRestTemplate& tpl, DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _deviceInfo(deviceInfo) @@ -64,7 +63,7 @@ LCDDisplay::inst().setThirdLine(status); ComposedRecord record; IntegerValue msgId(107); - IntegerValue devId(_deviceId); + IntegerValue devId(deviceID); FloatValue analog1(data[0], 1); FloatValue analog2(data[1], 1); if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(analog1)) || (!record.add(analog2)))
--- a/measurement/AnalogMeasurement.h Thu May 07 09:57:55 2015 +0000 +++ b/measurement/AnalogMeasurement.h Thu May 07 13:56:19 2015 +0000 @@ -9,14 +9,13 @@ class AnalogMeasurement { public: - AnalogMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + AnalogMeasurement(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool run(); private: bool _init; - long& _deviceId; SmartRestTemplate& _tpl; AbstractSmartRest& _client; float oldValues[2];
--- a/measurement/LocationUpdate.cpp Thu May 07 09:57:55 2015 +0000 +++ b/measurement/LocationUpdate.cpp Thu May 07 13:56:19 2015 +0000 @@ -9,11 +9,10 @@ #define THRESHOLD_PERCENT_LOC 0.05 // Percentage cut-off for avoiding sending similar acceleration sensor data. // Time interval for forcing a sending even if analog sensor readings are constantly similar (in seconds). -#define TIME_LIMIT_LOC 900 +#define TIME_LIMIT_LOC 900 LocationUpdate::LocationUpdate(AbstractSmartRest& client, SmartRestTemplate& tpl, - long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _gpsTracker(), @@ -74,7 +73,7 @@ ComposedRecord record1, record2; IntegerValue msgId1(108); IntegerValue msgId2(109); - IntegerValue devId(_deviceId); + IntegerValue devId(deviceID); FloatValue altitude(position.altitude, 2); FloatValue latitude(position.latitude, 6); FloatValue longitude(position.longitude, 6);
--- a/measurement/LocationUpdate.h Thu May 07 09:57:55 2015 +0000 +++ b/measurement/LocationUpdate.h Thu May 07 13:56:19 2015 +0000 @@ -9,14 +9,13 @@ class LocationUpdate { public: - LocationUpdate(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + LocationUpdate(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool run(); private: bool _init; - long& _deviceId; SmartRestTemplate& _tpl; AbstractSmartRest& _client; GPSTracker _gpsTracker;
--- a/measurement/SignalQualityMeasurement.cpp Thu May 07 09:57:55 2015 +0000 +++ b/measurement/SignalQualityMeasurement.cpp Thu May 07 13:56:19 2015 +0000 @@ -11,8 +11,7 @@ #define TIME_LIMIT_SIG 900 SignalQualityMeasurement::SignalQualityMeasurement(AbstractSmartRest& client, - SmartRestTemplate& tpl, long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + SmartRestTemplate& tpl, DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _deviceInfo(deviceInfo) @@ -70,7 +69,7 @@ LCDDisplay::inst().setThirdLine(status); ComposedRecord record; IntegerValue msgId(104); - IntegerValue devId(_deviceId); + IntegerValue devId(deviceID); IntegerValue rssi(signalQuality->rssi); IntegerValue ber(signalQuality->ber); if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(rssi)) || (!record.add(ber)))
--- a/measurement/SignalQualityMeasurement.h Thu May 07 09:57:55 2015 +0000 +++ b/measurement/SignalQualityMeasurement.h Thu May 07 13:56:19 2015 +0000 @@ -8,14 +8,13 @@ class SignalQualityMeasurement { public: - SignalQualityMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + SignalQualityMeasurement(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool run(); private: bool _init; - long& _deviceId; SmartRestTemplate& _tpl; AbstractSmartRest& _client; DeviceInfo& _deviceInfo;
--- a/measurement/TemperatureMeasurement.cpp Thu May 07 09:57:55 2015 +0000 +++ b/measurement/TemperatureMeasurement.cpp Thu May 07 13:56:19 2015 +0000 @@ -11,8 +11,7 @@ #define TIME_LIMIT_TEMP 900 TemperatureMeasurement::TemperatureMeasurement(AbstractSmartRest& client, - SmartRestTemplate& tpl, long& deviceId, DeviceInfo& deviceInfo) : - _deviceId(deviceId), + SmartRestTemplate& tpl, DeviceInfo& deviceInfo) : _tpl(tpl), _client(client), _sensor(D14,D15), @@ -62,7 +61,7 @@ LCDDisplay::inst().setThirdLine(status); ComposedRecord record; IntegerValue msgId(105); - IntegerValue devId(_deviceId); + IntegerValue devId(deviceID); FloatValue temperature(data, 1); if ((!record.add(msgId)) || (!record.add(devId)) || (!record.add(temperature))) return false;
--- a/measurement/TemperatureMeasurement.h Thu May 07 09:57:55 2015 +0000 +++ b/measurement/TemperatureMeasurement.h Thu May 07 13:56:19 2015 +0000 @@ -9,14 +9,13 @@ class TemperatureMeasurement { public: - TemperatureMeasurement(AbstractSmartRest&, SmartRestTemplate&, long&, DeviceInfo&); + TemperatureMeasurement(AbstractSmartRest&, SmartRestTemplate&, DeviceInfo&); bool init(); bool run(); private: bool _init, _open; - long& _deviceId; SmartRestTemplate& _tpl; AbstractSmartRest& _client; LM75B _sensor;
--- a/operation/OperationSupport.cpp Thu May 07 09:57:55 2015 +0000 +++ b/operation/OperationSupport.cpp Thu May 07 13:56:19 2015 +0000 @@ -96,10 +96,9 @@ bool OperationSupport::requestPendingOperations() { IntegerValue msgId(110); - IntegerValue deviceId(_deviceId); ComposedRecord record; - if ((!record.add(msgId)) || (!record.add(deviceId))) + if (!record.add(msgId) || !record.add(IntegerValue(deviceID))) return false; else if (_client.send(record) != SMARTREST_SUCCESS) { _client.stop();