SmartREST client reference implementation for the u-blox C027 mbed compatible device.

Dependencies:   C027 C027_Support mbed mbed-rtos MbedSmartRest LM75B MMA7660 C12832

Fork of MbedSmartRestTest by Vincent Wochnik

Revision:
34:8a0556f39161
Parent:
33:b7d7e6fc421e
--- a/program.cpp	Thu Jun 12 14:33:04 2014 +0000
+++ b/program.cpp	Thu Jul 03 18:43:50 2014 +0000
@@ -224,7 +224,8 @@
     lcd_status("Checking device existance...");
     puts("Checking for device existance...");
 
-    newMoRec.add(IntegerValue(100)).add(CharValue(imei()));
+    if ((!newMoRec.add(IntegerValue(100))) || (!newMoRec.add(CharValue(imei()))))
+        return 0;
 
     if (client.send(newMoRec) != SMARTREST_SUCCESS) {
         puts("Send failed.");
@@ -267,7 +268,8 @@
     lcd_status("Creating device...");
     puts("Creating device...");
 
-    newMoRec.add(IntegerValue(101)).add(CharValue(imei()));
+    if ((!newMoRec.add(IntegerValue(101))) || (!newMoRec.add(CharValue(imei()))))
+        return 0;
 
     if (client.send(newMoRec) != SMARTREST_SUCCESS) {
         puts("Send failed.");
@@ -304,7 +306,8 @@
 
     puts("Adding global identifier...");
 
-    newMoRec.add(IntegerValue(102)).add(IntegerValue(deviceId)).add(CharValue(imei()));
+    if ((!newMoRec.add(IntegerValue(102))) || (!newMoRec.add(IntegerValue(deviceId))) || (!newMoRec.add(CharValue(imei()))))
+        return 0;
 
     if (client.send(newMoRec) != SMARTREST_SUCCESS) {
         puts("Sending failed.");
@@ -342,7 +345,8 @@
     lcd_status("Updating device object...");
     puts("Updating device data...");
 
-    newMoRec.add(IntegerValue(103)).add(IntegerValue(deviceId)).add(CharValue(imei())).add(CharValue(cellId())).add(CharValue(iccid()));
+    if ((!newMoRec.add(IntegerValue(103))) || (!newMoRec.add(IntegerValue(deviceId))) || (!newMoRec.add(CharValue(imei()))) || (!newMoRec.add(CharValue(cellId()))) || (!newMoRec.add(CharValue(iccid()))))
+        return false;
 
     if (client.send(newMoRec) != SMARTREST_SUCCESS) {
         puts("Send failed.");
@@ -375,7 +379,7 @@
 
 void loop(long deviceId)
 {
-    Aggregator aggr(8, false, true);
+    Aggregator aggr(true);
 
     lcd_status("Sending measurements...");
     temperatureMeasurement(deviceId, aggr);
@@ -401,7 +405,8 @@
     IntegerValue devId(deviceId);
     FloatValue rssi(sq->rssi, 0);
     IntegerValue ber(sq->ber);
-    measurement.add(msgId).add(devId).add(rssi).add(ber);
+    if ((!measurement.add(msgId)) || (!measurement.add(devId)) || (!measurement.add(rssi)) || (!measurement.add(ber)))
+        return;
     aggr.add(measurement);
 }
 
@@ -411,7 +416,8 @@
     IntegerValue msgId(105);
     IntegerValue devId(deviceId);
     FloatValue temp(temperature(), 1);
-    measurement.add(msgId).add(devId).add(temp);
+    if ((!measurement.add(msgId)) || (!measurement.add(devId)) || (!measurement.add(temp)))
+        return;
     aggr.add(measurement);
 }
 
@@ -424,7 +430,8 @@
     IntegerValue devId(deviceId);
     IntegerValue an0(analog0);
     IntegerValue an1(analog1);
-    measurement.add(msgId).add(devId).add(an0).add(an1);
+    if ((!measurement.add(msgId)) || (!measurement.add(devId)) || (!measurement.add(an0)) || (!measurement.add(an1)))
+        return;
     aggr.add(measurement);
 }
 
@@ -437,6 +444,7 @@
     FloatValue x(acc.x, 2);
     FloatValue y(acc.y, 2);
     FloatValue z(acc.z, 2);
-    measurement.add(msgId).add(devId).add(x).add(y).add(z);
+    if ((!measurement.add(msgId)) || (!measurement.add(devId)) || (!measurement.add(x)) || (!measurement.add(y)) || (!measurement.add(z)))
+        return;
     aggr.add(measurement);
 }