init

Dependencies:   aconno_I2C Lis2dh12 WatchdogTimer

Files at this revision

API Documentation at this revision

Comitter:
pathfindr
Date:
Sun Dec 23 23:50:39 2018 +0000
Parent:
28:24b02608fa5f
Child:
30:7e90ddd7ed12
Commit message:
shaker test

Changed in this revision

README.md Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/README.md	Sun Dec 23 23:09:53 2018 +0000
+++ b/README.md	Sun Dec 23 23:50:39 2018 +0000
@@ -15,3 +15,4 @@
 13) make activity broadcast an option in normal lcoation one just total hours
 14) does enabling handshaking and auto sleep on the modem save power
 15) swap motion_g so that it is actually a mg value
+16) test motion start stop times exactly
\ No newline at end of file
--- a/main.cpp	Sun Dec 23 23:09:53 2018 +0000
+++ b/main.cpp	Sun Dec 23 23:50:39 2018 +0000
@@ -157,7 +157,7 @@
 void setState(uint8_t state) {
     RET_state_prev = RET_state;
     RET_state = state;
-    DEBUG("STATEREADBACK %d\n",RET_state)
+    //DEBUG("STATEREADBACK %d\n",RET_state)
 }
 bool memoryIntegrityCheck() {
     bool pass = true;
@@ -247,13 +247,13 @@
                         mainthread.release();
                     }
                     break;
-                case 2 :
+                case 3 :
                     if (RET_state == STATE_NORMAL) {
                         RET_state = STATE_BUTTONPRESS2;
                         mainthread.release();
                     }
                     break;
-                case 3 :
+                case 5 :
                     if (RET_state == STATE_NORMAL) {
                         RET_state = STATE_BUTTONPRESS3;
                         mainthread.release();
@@ -363,8 +363,10 @@
     
     //Result
     if (test_count == test_pass) {
+        addToExceptionString("OK."); 
         return true;
     } else {
+        addToExceptionString("FAIL."); 
         return false;   
     }
 }
@@ -374,7 +376,7 @@
 //------------------------------------------------------------------------------ 
 void checkMotion() {
     if (lis3dh_int2) {
-        if (GLOBAL_debugLED) LED1blink(1,50);
+        //if (GLOBAL_debugLED) LED1blink(1,50);
         RET_motionTriggered = true;
         GLOBAL_needToConfigureLis3dh = true; //interrupt has fire so need to clear it
         if (!RET_motionPendingOnState) {
@@ -399,7 +401,7 @@
         if (inMotionForSeconds >= RET_setting_motion_start_seconds && RET_motionState == false) {
             RET_motionState = true;
             RET_motionTriggeredInTXInterval = true;
-            if (GLOBAL_debugLED) LED1blink(5,50);
+            if (GLOBAL_debugLED) LED1blink(1,50);
             if (RET_setting_location_tx_failsafe_hrs > 0) {
                 time_t epochOffsetMins = ((RET_RTCunixtime - RET_motionFrameStart) / 60);
                 sprintf(RET_activityData+strlen(RET_activityData),"1.%u!",epochOffsetMins);
@@ -413,7 +415,7 @@
             RET_motionState = false;
             GLOBAL_motionStopFlagTriggered = true;
             RET_motionTotalActivityHours += (float(RET_motionStopTime - RET_motionStartTime) / 3600.0); 
-            if (GLOBAL_debugLED) LED1blink(3,400);
+            if (GLOBAL_debugLED) LED1blink(2,50);
             if (RET_setting_location_tx_failsafe_hrs > 0) {
                 time_t epochOffsetMins = ((RET_RTCunixtime - RET_motionFrameStart) / 60);
                 sprintf(RET_activityData+strlen(RET_activityData),"0.%u!",epochOffsetMins);
@@ -432,7 +434,7 @@
     int TEMP_k = -1; int TEMP_l = -1; int TEMP_m = -1; int TEMP_n = -1; int TEMP_o = -1; int TEMP_p = -1; int TEMP_q = -1; int TEMP_r = -1; int TEMP_s = -1;
     if ( (matchCount = sscanf(settingsBuffer,"b:%u,c:%d,d:%d,e:%d,f:%d,g:%d,h:%d,i:%d,j:%d,k:%d,l:%d,m:%d,n:%d,o:%d,p:%d,q:%d,r:%d,s:%d",
     &TEMP_b,&TEMP_c,&TEMP_d,&TEMP_e,&TEMP_f,&TEMP_g,&TEMP_h,&TEMP_i,&TEMP_j,&TEMP_k,&TEMP_l,&TEMP_m,&TEMP_n,&TEMP_o,&TEMP_p,&TEMP_q,&TEMP_r,&TEMP_s) ) > 0 ) {
-        DEBUG("VALUES: b:%u,c:%d,d:%d,e:%d,f:%d,g:%d,h:%d,i:%d,j:%d,k:%d,l:%d,m:%d,n:%d,o:%d,p:%d,q:%d,r:%d,s:%d\n",
+        DEBUG("FROMSERVER: b:%u,c:%d,d:%d,e:%d,f:%d,g:%d,h:%d,i:%d,j:%d,k:%d,l:%d,m:%d,n:%d,o:%d,p:%d,q:%d,r:%d,s:%d\n",
         TEMP_b,TEMP_c,TEMP_d,TEMP_e,TEMP_f,TEMP_g,TEMP_h,TEMP_i,TEMP_j,TEMP_k,TEMP_l,TEMP_m,TEMP_n,TEMP_o,TEMP_p,TEMP_q,TEMP_r,TEMP_s);
         
         //FAILUREMODE need to be checking these against checksums
@@ -521,7 +523,7 @@
             char result[180];
             snprintf(result,sizeof(result),"%s",modem.USSDmessage(bytestosend, true, 2, GLOBAL_defaultApi));
             if (result != "err") {
-                DEBUG("\nfromserver: %s \n",result);
+                //DEBUG("\nfromserver: %s \n",result);
                 if (!saveSettings(result)) { 
                     //something went critically wrong getting settings 
                     pass = false;
@@ -558,7 +560,7 @@
         if (modem.registerOnNetwork(DEFAULT_CONNECTION_ATTEMPTS,(RET_setting_connection_timeout*1000))) {
             int timetaken = (RET_RTCunixtime - GLOBAL_wakeTime);
             char bytestosend[160];
-            snprintf(bytestosend,sizeof(bytestosend),"(%s,a:loc,f:%d,t:%.1f,v:%.2f,z:CONNTEST-%s,e:%d,c:1%s)\0",GLOBAL_defaultApi,FW_VERSION,temperature,voltage,GLOBAL_exceptionString,timetaken,locString);
+            snprintf(bytestosend,sizeof(bytestosend),"(%s,a:loc,f:%d,t:%.1f,v:%.2f,z:TEST-%s,e:%d,c:1%s)\0",GLOBAL_defaultApi,FW_VERSION,temperature,voltage,GLOBAL_exceptionString,timetaken,locString);
             char result[180];
             bool getSettings = true;
             snprintf(result,sizeof(result),"%s",modem.USSDmessage(bytestosend, getSettings, 2, GLOBAL_defaultApi));
@@ -592,7 +594,7 @@
         if (modem.registerOnNetwork(DEFAULT_CONNECTION_ATTEMPTS,(RET_setting_connection_timeout*1000))) {
             int timetaken = (RET_RTCunixtime - GLOBAL_wakeTime);
             char bytesToSend[160];
-            snprintf(bytesToSend,sizeof(bytesToSend),"(%s,a:loc,f:%d,t:%.1f,v:%.2f,z:%s,e:%d,c:1%s)\0",GLOBAL_defaultApi,FW_VERSION,temperature,voltage,GLOBAL_exceptionString,timetaken,locString);
+            snprintf(bytesToSend,sizeof(bytesToSend),"(%s,a:loc,f:%d,t:%.1f,v:%.2f,z:LOC-%s,e:%d,c:1%s)\0",GLOBAL_defaultApi,FW_VERSION,temperature,voltage,GLOBAL_exceptionString,timetaken,locString);
             char result[180];
             bool getSettings = true;
             snprintf(result,sizeof(result),"%s",modem.USSDmessage(bytesToSend, getSettings, 2, GLOBAL_defaultApi));
@@ -624,7 +626,7 @@
             if (result != "err") {
                 //RESET ACTIVITY FRAME
                 memset(RET_activityData,0,sizeof(RET_activityData));
-                if (RET_haveSettings) {RET_motionFrameStart = RET_RTCunixtime;}
+                if (RET_haveSettings) { RET_motionFrameStart = RET_RTCunixtime; }
             }
         }
     }
@@ -678,8 +680,7 @@
             //ACTIVITY EVENT
             bool run_activity_tx = false;
             if(RET_RTCunixtime >= RET_eventTime_activity_tx && RET_eventTime_activity_tx > 0 && strlen(RET_activityData) > 1) { 
-                run_activity_tx = true; 
-                //event_shakertest_tx();
+                run_activity_tx = true;
             }
             if (strlen(RET_activityData) > 130) { run_activity_tx = true; }
             if (run_activity_tx) { DEBUG("ACTIVITY TX...\n"); event_activity_tx();}
@@ -759,20 +760,20 @@
     if (NRF_POWER->RESETREAS != 0xffffffff) {
         switch(NRF_POWER->RESETREAS) {
             case 0x00000001  :
-                DEBUG("reset_reason: 0x%08x. Hard Reset STATE:%d\n",NRF_POWER->RESETREAS, RET_state);
+                DEBUG("0x%08x. Hard Reset ST:%d\n",NRF_POWER->RESETREAS, RET_state);
                 RET_coldBoot = 1;
             break;
             case 0x00000002  :
-                DEBUG("Watchdog reset STATE:%d\n",RET_state);
+                DEBUG("Watchdog ST:%d\n",RET_state);
             break;
             case 0x00000004  :
-                DEBUG("Soft reset STATE:%d SLEEP:%d\n",RET_state, RET_sleepToggle);
+                DEBUG("Soft ST:%d SLP:%d\n",RET_state, RET_sleepToggle);
             break;
         }
         NRF_POWER->RESETREAS = 0xffffffff;
     }
     
-    dumpSettings();
+    //dumpSettings();
     
     //CHECK FOR FIRST BOOT
     if (RET_coldBoot == 1) { factoryReset(); dumpSettings(); }