Official reference client implementation for Cumulocity SmartREST on u-blox C027.

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Vincent Wochnik

Revision:
115:c54e9731b9de
Parent:
101:dbcd3bc51758
Child:
118:e831cdb799ab
--- a/measurement/Acceleration.cpp	Fri May 15 14:23:31 2015 +0000
+++ b/measurement/Acceleration.cpp	Fri May 15 15:09:19 2015 +0000
@@ -1,4 +1,5 @@
 #include <stdio.h>
+#include "rtos.h"
 #include "SmartRestConf.h"
 #include "Acceleration.h"
 #include "logging.h"
@@ -13,11 +14,29 @@
         static const char *fmt = "106,%ld,%f,%f,%f\r\n";
         if (!deviceReady)
                 return 0;
-        float data[3] = { 0.0, 0.0, 0.0 };
+        float data[3] = {0.0, 0.0, 0.0};
+//        float min[3] = {100, 100, 100};
+//        float max[3] = {0, 0, 0};
+//        const unsigned short N = 10;
+//        for (unsigned short i = 0; i < N; ++i) {
+//                float d[3] = {0, 0, 0};
+//                sensor.readData(d);
+//                for (unsigned short j = 0; j < 3; ++j) {
+//                        data[j] += d[j];
+//                        if (d[j] < min[j]) min[j] = d[j];
+//                        if (d[j] > max[j]) max[j] = d[j];
+//                }
+//                Thread::wait(5);
+//        }
+//        data[0] = (data[0]-min[0]-max[0]) / (N-2);
+//        data[1] = (data[1]-min[1]-max[1]) / (N-2);
+//        data[2] = (data[2]-min[2]-max[2]) / (N-2);
         sensor.readData(data);
-
         if ((0.15 > abs(data[0]) || abs(oldValues[0]-data[0]) <= abs(oldValues[0])*THRESHOLD_PERCENT_ACCE) &&
             (0.10 > abs(data[1]) || abs(oldValues[1]-data[1]) <= abs(oldValues[1])*THRESHOLD_PERCENT_ACCE)) {
+//        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) {
                 time_t t_interval = time(NULL) - t_start;
                 if (t_interval < TIME_LIMIT_ACCE) {
                         return 0;