Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
56:0bba0ef15697
Parent:
41:d6f5e2f09e07
Child:
84:80b15993944e
--- a/SnCommWin.h	Fri Jan 03 13:03:01 2014 +0000
+++ b/SnCommWin.h	Thu Oct 30 06:42:17 2014 +0000
@@ -10,6 +10,7 @@
 class SnPowerFrame;
 class SnSignalStrengthFrame;
 class SnCommPeripheral;
+class SnTempFrame;
 
 // DAQ station communication utilities
 
@@ -38,6 +39,11 @@
     static const uint8_t  kDelAllConfCodeLen; // the length of the magic string
  
  private:
+    bool                  fSendingInHandshake; // true if we are sending files as a result of a handshake.
+                                               // will ignore further handshake requests to send new files
+                                               // in order to avoid a stack overflow
+    
+    
     SnCommWin::ECommWinResult GetFilename(const uint32_t timeout,
                                           char* const buf,
                                           const uint32_t namelen);
@@ -99,6 +105,8 @@
                                        const uint16_t seq,
                                        const float thmrate,
                                        const float evtrate,
+                                       const uint32_t powerOnTime,
+                                       const SnTempFrame& temper,
                                        char* const genBuf)=0;
     
     virtual bool            GetDeleteAllConfirmCode(const SnConfigFrame& conf,
@@ -141,6 +149,8 @@
                                const uint16_t seq,
                                const float thmrate,
                                const float evtrate,
+                               const uint32_t powerOnTime,
+                               const SnTempFrame& temper,
                                char* const genBuf,
                                const uint32_t timeout_clock);
             
@@ -170,6 +180,18 @@
                              const uint32_t bsize,
                              const uint32_t timeout);
     
+    // assume little endian
+    static
+    uint16_t GetMinSeqFrom(const uint32_t hndshk) {
+        // left-most 2 bytes
+        return (hndshk>>16u);
+    }
+    static
+    uint16_t GetMaxSeqFrom(const uint32_t hndshk) {
+        // right-most 2 bytes
+        return (hndshk&0xFFFF);
+    }
+    
 };
 
 #endif // SN_SnCommWin