Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
22:f957c4f840ad
Child:
40:1324da35afd4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SnHeartbeatFrame.h	Tue Oct 16 04:47:44 2012 +0000
@@ -0,0 +1,44 @@
+#ifndef SN_SnHeartbeatFrame
+#define SN_SnHeartbeatFrame
+
+#include <stdint.h>
+#include "SnCommWin.h"
+
+class SnHeartbeatFrame {
+ public:
+    // i/o version
+    static const uint8_t    kIOVers;   // MUST BE INCREASED if any member var changes
+    static const uint32_t   kMaxSizeOf = 2u*sizeof(uint32_t);
+
+ public:
+    SnHeartbeatFrame() {}
+    virtual ~SnHeartbeatFrame() {}
+    
+    static
+    uint32_t SizeOf(const uint8_t rv) { return kMaxSizeOf; }
+    
+    template<class T>
+    static
+    SnCommWin::ECommWinResult WriteTo(T& x,
+                                      const uint32_t time,
+                                      const uint32_t num) {
+        // expect 'x' to be a MODSERIAL or a char const*
+        x = SnBitUtils::WriteTo(x, time);
+        x = SnBitUtils::WriteTo(x, num);
+        return SnCommWin::kOkMsgSent;
+    }
+    
+    template<class T>
+    static
+    SnCommWin::ECommWinResult ReadFrom(T& b,
+                                       uint32_t& time,
+                                       uint32_t& num) {
+        b           = SnBitUtils::ReadFrom(b, time);
+        b           = SnBitUtils::ReadFrom(b, num);
+        return SnCommWin::kOkWithMsg;
+    }
+    
+
+};
+
+#endif // SN_SnHeartbeatFrame
\ No newline at end of file