Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnHeartbeatFrame.h
- 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