Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
Diff: MbedAgent.cpp
- Revision:
- 95:5dfdc8568e9f
- Parent:
- 94:010b0f7a0a1a
- Child:
- 96:ea056f6be2e8
diff -r 010b0f7a0a1a -r 5dfdc8568e9f MbedAgent.cpp --- a/MbedAgent.cpp Wed Apr 22 11:22:25 2015 +0000 +++ b/MbedAgent.cpp Mon Apr 27 10:50:21 2015 +0000 @@ -1,25 +1,22 @@ #include "MbedAgent.h" #include "rtos.h" +#include "LCDDisplay.h" #include "logging.h" #include "watchdog.h" -MbedAgent::MbedAgent(GPSI2C& gps, MDMSerial& mdm, LCDDisplay& lcdDisplay, +MbedAgent::MbedAgent(GPSI2C& gps, MDMSerial& mdm, DeviceInfo& deviceInfo, DeviceMemory& deviceMemory) : _deviceId(0), _mdm(mdm), - _deviceInfo(deviceInfo), - _deviceMemory(deviceMemory), - _lcdDisplay(lcdDisplay), - _configurationProperties(_deviceConfiguration), _client(mdm), - _bootstrap(_client, lcdDisplay, _deviceInfo, _deviceMemory), - _integration(_client, _tpl, _deviceId, _deviceInfo), - _configurationSynchronization(_client, _tpl, _deviceId, _deviceMemory, _deviceConfiguration, _configurationProperties), - _signalQualityMeasurement(_client, _tpl, _deviceId, _deviceInfo, _lcdDisplay), - _temperatureMeasurement(_client, _tpl, _deviceId, deviceInfo, _lcdDisplay), - _accelerationMeasurement(_client, _tpl, _deviceId, deviceInfo, _lcdDisplay), - _analogMeasurement(_client, _tpl, _deviceId, deviceInfo, _lcdDisplay), - _locationUpdate(_client, _tpl, _deviceId, gps, deviceInfo, _lcdDisplay), + _bootstrap(_client, deviceInfo, deviceMemory), + _integration(_client, _tpl, _deviceId, deviceInfo), + _configurationSynchronization(_client, _tpl, _deviceId, deviceMemory), + _signalQualityMeasurement(_client, _tpl, _deviceId, deviceInfo), + _temperatureMeasurement(_client, _tpl, _deviceId, deviceInfo), + _accelerationMeasurement(_client, _tpl, _deviceId, deviceInfo), + _analogMeasurement(_client, _tpl, _deviceId, deviceInfo), + _locationUpdate(_client, _tpl, _deviceId, gps, deviceInfo), pool(), _operationSupport(_client, _tpl, _deviceId, pool) { @@ -29,35 +26,35 @@ { bool flag = true; if (!_integration.init()) { - _lcdDisplay.setLines("Integration init failure"); + LCDDisplay::inst().setLines("Integrate init fail"); flag = false; } if (!_configurationSynchronization.init()) { - _lcdDisplay.setLines("Config Sync init failure"); + LCDDisplay::inst().setLines("ConfigSync init fail"); flag = false; } if (!_signalQualityMeasurement.init()) { - _lcdDisplay.setLines("Signal init failure"); + LCDDisplay::inst().setLines("Signal init fail"); flag = false; } if (!_temperatureMeasurement.init()) { - _lcdDisplay.setLines("Temperature init failure"); + LCDDisplay::inst().setLines("Temp init fail"); flag = false; } if (!_accelerationMeasurement.init()) { - _lcdDisplay.setLines("Acceleration init failure"); + LCDDisplay::inst().setLines("Acc init fail"); flag = false; } if (!_analogMeasurement.init()) { - _lcdDisplay.setLines("Analog init failure"); + LCDDisplay::inst().setLines("Analog init fail"); flag = false; } if (!_locationUpdate.init()) { - _lcdDisplay.setLines("Location init failure"); + LCDDisplay::inst().setLines("Location init fail"); flag = false; } if (!_operationSupport.init()) { - _lcdDisplay.setLines("Operation init failure"); + LCDDisplay::inst().setLines("Operation init fail"); flag = false; } return flag; @@ -73,7 +70,7 @@ Thread::wait(5000); - _lcdDisplay.setLines("Connect to Cloud", getHost()); + LCDDisplay::inst().setLines("Connect to Cloud", getHost()); if (!_integration.integrate()) { return -2; } @@ -83,16 +80,6 @@ if (!_configurationSynchronization.integrate()) { return -3; } - - char status[27]; - snprintf(status, sizeof(status), "ID: %ld", _deviceId); - _lcdDisplay.setLines("Connected", status); - - const char* user= getUsername(); - int len = strchr(user, '/')-user+sizeof("Tenant: "); - len = len <= 27 ? len : 27; - snprintf(status, len, "Tenant: %s", user); - _lcdDisplay.setFirstLine(status); return 0; } @@ -100,8 +87,8 @@ { ReportThread reportThread(pool, _mdm); _operationSupport.run(); - PollingThread pollingThread(pool, _mdm, _lcdDisplay, _configurationSynchronization); - pollingThread.setChannel(_deviceId); + PollThread pollThread(pool, _mdm, _configurationSynchronization); + pollThread.setChannel(_deviceId); Watchdog wdt; wdt.kick(60.0); // set a 60.0 seconds timeout on watchdog hardware timer @@ -113,11 +100,6 @@ _accelerationMeasurement.run(); _locationUpdate.run(); // Thread::wait(30000); -// if ((interval = _configurationProperties.readInterval()) < 0) -// break; -// while (timer.read() < interval) { -// Thread::yield(); -// } wdt.kick(); // reset watchdog timer } } \ No newline at end of file