Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
10:3c93db1cfb12
Parent:
8:95a325df1f6b
Child:
12:d472f9811262
--- a/SnCommWin.cpp	Thu Aug 09 02:16:08 2012 +0000
+++ b/SnCommWin.cpp	Fri Aug 10 18:35:43 2012 +0000
@@ -139,13 +139,21 @@
 SnCommWin::ECommWinResult SnCommWin::SendStatus(const SnConfigFrame& conf,
                                                 const SnEventFrame& evt,
                                                 const SnPowerFrame& pow,
+                                                const uint16_t seq,
+                                                const float thmrate,
+                                                const float evtrate,
                                                 char* const genBuf,
                                                 const uint32_t timeout_clock) {
     // TODO: check if connected?
     const uint32_t ssize = SnStatusFrame::SizeOf(SnStatusFrame::kIOVers, conf);
     char* b = genBuf;
     SnHeaderFrame::WriteTo(b, SnHeaderFrame::kStatusCode, ssize);
-    SnStatusFrame::WriteTo(b, GetCommType(), conf, evt, genBuf);
+    SnStatusFrame::WriteTo(b, GetCommType(), conf, evt, genBuf, seq, thmrate, evtrate);
+    SnHeaderFrame::WriteTo(b, SnHeaderFrame::kPowerCode, 
+        pow.SizeOf(SnPowerFrame::kIOvers));
+    pow.WriteTo(b);
+    int msiz = b-genBuf;
+    int mlen = SendAll(genBuf, msiz, timeout_clock);
 #ifdef DEBUG
     printf("status frame:\r\n");
     for (uint32_t i=0; i<msize; i++) {
@@ -153,20 +161,17 @@
     }
     printf("\r\n");
 #endif
-    int msiz = b-genBuf;
-    int mlen = SendAll(genBuf, msiz, timeout_clock);
+    msiz = b-genBuf;
+    mlen = SendAll(genBuf, msiz, timeout_clock);
     if (mlen==msiz) {
-        printf("status sent\r\n");
+        printf("status+power sent\r\n");
         b = genBuf;
-        SnHeaderFrame::WriteTo(b, SnHeaderFrame::kPowerCode, 
-            pow.SizeOf(SnPowerFrame::kIOvers));
-        //SnPowerFrame::WriteTo(b, pow.GetAveV1(), pow.GetAveV2(), pow.GetTime());
-        pow.WriteTo(b);
-        msiz = b-genBuf;
-        mlen = SendAll(genBuf, msiz, timeout_clock);
-        if (mlen==msiz) {
-            return SnCommWin::kOkMsgSent;
-        }
+        SnHeaderFrame::WriteTo(b, SnHeaderFrame::kEventCode,
+            evt.SizeOf(SnEventFrame::kIOVers,
+                       conf.GetWvLoseLSB(), conf.GetWvLoseMSB()));
+        evt.WriteTo(b, conf.GetWvLoseLSB(), conf.GetWvLoseMSB(),
+                    conf.GetWvBaseline());
+        return SnCommWin::kOkMsgSent;
     }
     return SnCommWin::kFailPartSent;
 }