Own fork of MbedSmartRestMain
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
Diff: main.cpp
- Revision:
- 95:5dfdc8568e9f
- Parent:
- 93:61d44636f020
- Child:
- 96:ea056f6be2e8
diff -r 010b0f7a0a1a -r 5dfdc8568e9f main.cpp --- a/main.cpp Wed Apr 22 11:22:25 2015 +0000 +++ b/main.cpp Mon Apr 27 10:50:21 2015 +0000 @@ -9,6 +9,7 @@ #include "MbedAgent.h" #include "GPSTracker.h" #include "DeviceConfiguration.h" +#include "LCDDisplay.h" #include "logging.h" /** @@ -54,17 +55,16 @@ pMdm = &mdm; InterruptIn joystickUp(A2); InterruptIn joystickDown(A3); - LCDDisplay lcdDisplay; MDMParser::DevStatus devStatus; GPSI2C gps; - lcdDisplay.setLines("Mbed Agent V2.1rc2", getHost()); + LCDDisplay::inst().setLines("Mbed Agent V2.1rc2", getHost()); if (!mdm.init(SIM_PIN, &devStatus)) { - lcdDisplay.setLines("Modem Init Failure", "No SIM card found", "Or SIM has PIN"); + LCDDisplay::inst().setLines("Modem Init Failure", "No SIM card found", "Or SIM has PIN"); mdm.disconnect(); mdm.powerOff(); return 1; } else if (!gps.init()) { - lcdDisplay.setLines("GPS Init Failure"); + LCDDisplay::inst().setLines("GPS Init Failure"); mdm.disconnect(); mdm.powerOff(); return 2; @@ -76,11 +76,11 @@ DigitalIn fireButton(D4); if (fireButton) { - lcdDisplay.setLines("Factory Reset"); + LCDDisplay::inst().setLines("Factory Reset"); if (deviceMemory.resetPlatformCredentials()) { - lcdDisplay.setLines("Reset Success"); + LCDDisplay::inst().setLines("Reset Success"); } else { - lcdDisplay.setLines("Reset Failure"); + LCDDisplay::inst().setLines("Reset Failure"); } mdm.disconnect(); mdm.powerOff(); @@ -88,15 +88,15 @@ return 0; } aInfo("Main Thread: %p\r\n", Thread::gettid()); - lcdDisplay.setLines("Register Network...", "IMEI", devStatus.imei); + LCDDisplay::inst().setLines("Register Network...", "IMEI", devStatus.imei); if (!mdm.registerNet()) { - lcdDisplay.setLines("No Network Coverage"); + LCDDisplay::inst().setLines("No Network Coverage"); mdm.disconnect(); mdm.powerOff(); return 3; } - lcdDisplay.setLines("Join Network"); + LCDDisplay::inst().setLines("Join Network"); #ifdef SIM_APN if (mdm.join(SIM_APN, SIM_USER, SIM_PASS) == NOIP) { #else @@ -107,7 +107,7 @@ if (p) { snprintf(s, sizeof(s), "%.*s-%.*s", 3, p, getMNCLen(p), p+3); } - lcdDisplay.setLines("Wrong APN Settting", "MCC-MNC:", s); + LCDDisplay::inst().setLines("Wrong APN Settting", "MCC-MNC:", s); mdm.disconnect(); mdm.powerOff(); return 4; @@ -115,26 +115,33 @@ { DeviceInfo deviceInfo(mdm, devStatus); - MbedAgent agent(gps, mdm, lcdDisplay, deviceInfo, deviceMemory); + MbedAgent agent(gps, mdm, deviceInfo, deviceMemory); - lcdDisplay.setLines("Agent Init"); + LCDDisplay::inst().setLines("Agent Init"); if (!agent.init()) { mdm.disconnect(); mdm.powerOff(); return 5; } - lcdDisplay.setLines("Agent Run"); + LCDDisplay::inst().setLines("Agent Run"); int ret = 0; for (uint8_t tries = 3; tries; --tries) { ret = agent.run(); - if (ret == 0) + if (ret == 0) { + char status[27]; + const char* user= getUsername(); + int len = strchr(user, '/')-user+sizeof("Tenant: "); + len = len <= 27 ? len : 27; + snprintf(status, len, "Tenant: %s", user); + LCDDisplay::inst().setFirstLine(status); break; + } } switch (ret) { - case -1: lcdDisplay.setLines("Bootstrap error"); break; - case -2: lcdDisplay.setLines("Integrate failure"); break; - case -3: lcdDisplay.setLines("Config sync failure"); break; + case -1: LCDDisplay::inst().setLines("Bootstrap error"); break; + case -2: LCDDisplay::inst().setLines("Integrate failure"); break; + case -3: LCDDisplay::inst().setLines("Config sync failure"); break; default: agent.loop(); } mdm.disconnect();