Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
116:8099b754fbb4
Parent:
84:80b15993944e
--- a/SnStatusFrame.h	Fri Dec 04 02:57:12 2015 +0000
+++ b/SnStatusFrame.h	Tue May 03 02:01:35 2016 +0000
@@ -42,25 +42,19 @@
     static const uint32_t   kMaxSizeOfV7 = kMaxSizeOfV6 + sizeof(float); // temperature
     static const uint32_t   kMaxSizeOfV8 = kMaxSizeOfV7 + sizeof(uint8_t);
     static const uint32_t   kMaxSizeOfV9 = kMaxSizeOfV8; // V9 just marks that no event is automatically sent along
+    static const uint32_t   kMaxSizeOfV10 = kMaxSizeOfV9
+            - (2u*sizeof(float))    // remove thmrate, evtrate
+            + (2u*sizeof(uint32_t)) // add num thm trigs, num saved evts
+            + sizeof(float);        // add seq livetime
     static const uint32_t   kMaxSizeOf   = kMaxSizeOfV1;
     
 
  public:
     static bool             fgRecalcFiles;
  private:
-/*
-    static uint32_t         fgNfiles;
-    static float            fgTotKbytes;
-*/
     static float            fgFreeMB;
 
  public:
-    /*
-    static
-    uint32_t    GetNfiles() { return fgNfiles; }
-    static
-    float       GetTotKbytes() { return fgTotKbytes; }
-    */
     static
     float       GetFreeMB() { return fgFreeMB; }
     
@@ -84,6 +78,8 @@
             return kMaxSizeOfV8;
          } else if (rv==9) {
             return kMaxSizeOfV9;
+         } else if (rv==10) {
+            return kMaxSizeOfV10;
          } else {
             return kMaxSizeOf;
          }
@@ -93,11 +89,10 @@
     static
     SnCommWin::ECommWinResult WriteTo(T& x,
                                       const SnConfigFrame& conf,
-                                      const SnEventFrame& evt,
-                                      char* const evtBuf,
                                       const uint16_t seq,
-                                      const float thmrate,
-                                      const float evtrate,
+                                      const uint32_t numThmTrigs,
+                                      const uint32_t numSavedEvts, 
+                                      const float    seqlive,
                                       const uint32_t powerOnTime,
                                       const SnTempFrame& temper,
                                       const uint8_t loseLSB,
@@ -118,8 +113,8 @@
         x = SnBitUtils::WriteTo(x, loseLSB);
         x = SnBitUtils::WriteTo(x, loseMSB);
         x = SnBitUtils::WriteTo(x, wvBase);
-        x = SnBitUtils::WriteTo(x, thmrate);
-        x = SnBitUtils::WriteTo(x, evtrate);
+//        x = SnBitUtils::WriteTo(x, thmrate);
+//        x = SnBitUtils::WriteTo(x, evtrate);
         // file info
         if (fgRecalcFiles) {
             /*
@@ -138,10 +133,6 @@
 #endif
             fgRecalcFiles = false;
         }
-        /*
-        x = SnBitUtils::WriteTo(x, fgNfiles);
-        x = SnBitUtils::WriteTo(x, fgTotKbytes);
-        */
         x = SnBitUtils::WriteTo(x, fgFreeMB);
         
         // watchdog reset bit cleared after status received successfully, not here
@@ -155,6 +146,11 @@
         x = SnBitUtils::WriteTo(x, temper.GetTemperature());
         x = SnBitUtils::WriteTo(x, static_cast<uint8_t>(SnSDUtils::IsInitOk()));
         
+        // send number of thm trigs, num saved events and livetime
+        x = SnBitUtils::WriteTo(x, numThmTrigs);
+        x = SnBitUtils::WriteTo(x, numSavedEvts);
+        x = SnBitUtils::WriteTo(x, seqlive);
+        
         return SnCommWin::kOkMsgSent;
     }