Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
50:163ec8d88aa9
Parent:
49:a2fb3ce86a5c
Child:
51:b2bc37d660c0
--- a/main.cpp	Wed Nov 06 00:09:00 2013 +0000
+++ b/main.cpp	Thu Nov 28 01:18:39 2013 +0000
@@ -5,9 +5,9 @@
 
 #define DISABLE_CONFIG_SAFETYNETS
 
-#define ENABLE_AFAR_COMM
-#define ENABLE_SBD_COMM
-//#define ENABLE_USB_COMM
+//#define ENABLE_AFAR_COMM
+//#define ENABLE_SBD_COMM
+#define ENABLE_USB_COMM
 //#define ENABLE_AFAR_TWITTER
 
 //#define USE_RTOS // change in CommConstants and EthernetPower also
@@ -394,10 +394,10 @@
            gThmNumDt, gThmDtSum, gEvtNumDt, gEvtDtSum);
 #endif
     
-    thmrate = (gThmDtSum>0.0) ? static_cast<float>(gThmNumDt) / (gThmDtSum/1e3)
-                              : 0;
-    evtrate = (gEvtDtSum>0.0) ? static_cast<float>(gEvtNumDt) / (gEvtDtSum/1e3)
-                              : 0;
+    thmrate = (gThmDtSum>0.0 && gThmNumDt>1) ? 
+        static_cast<float>(gThmNumDt) / (gThmDtSum/1e3) : 0;
+    evtrate = (gEvtDtSum>0.0 && gEvtNumDt>1) ? 
+        static_cast<float>(gEvtNumDt) / (gEvtDtSum/1e3) :0;
 }
 
 void AddToRate(const float dt, const bool isThm) {
@@ -729,6 +729,13 @@
             //
             
             led4=1;
+
+            // TODO: no way to check for external trigger?
+            if (gEvent.IsForcedTrg()==false) {
+                gEvent.SetTrgBit(kThmTrg);
+                gEvent.SetTrgNum(++(gTrgNum[kThmTrg]));
+                AddToRate(ttms, true);
+            } // else already set by procForceTrigger
             
             if ( gEvent.IsForcedTrg() || gFirstEvt ||
                 (etms>gConf.GetEvtThrtlPeriodMs()) ) {
@@ -746,13 +753,6 @@
 #endif
 
                 gEvent.SetCurMbedTime();
-                // TODO: no way to check for external trigger?
-                if (gEvent.IsForcedTrg()==false) {
-                    gEvent.SetTrgBit(kThmTrg);
-                    gEvent.SetTrgNum(++(gTrgNum[kThmTrg]));
-                    AddToRate(ttms, true);
-                } // else already set by procForceTrigger
-                // (no need to calc if we throw this event away)
                 
                 Watchdog::kick(); // don't reset!