Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnCommWin.h
- Revision:
- 1:e392595b4b76
- Parent:
- 0:664899e0b988
- Child:
- 2:e67f7c158087
--- a/SnCommWin.h Sat Jun 30 02:03:51 2012 +0000 +++ b/SnCommWin.h Fri Jul 20 19:04:02 2012 +0000 @@ -1,83 +1,84 @@ -#ifndef SN_SnCommWin -#define SN_SnCommWin - -#include "mbed.h" -#include <stdint.h> - -class SnConfigFrame; -class SnEventFrame; - -// ABC for communication types - -class SnCommWin { - public: - enum ECommWinResult { - kUndefFail, // undefined fail type - kCanNotConnect, // unable to connect to port - kFailTimeout, // timed out but message required - kFailPartSent, // only part of the message sent - kAllFails, // to be used for "if (ret > kAllFails) ==> success" - // only successes should go below - kConnected, // connection established, no messaging attempted - kOkMsgSent, // message sent without waiting for "received" handshake - kOkNoMsg, // timed out with no message, but that is ok - kOkWithMsg // successfully received message - }; - - private: - //bool fWinOpen; // whether this comm should listen - - ECommWinResult SendData(const char* infn, - const SnConfigFrame& curConf, - SnEventFrame& evt, - char* const evtBuf, - char* const confBuf, - const uint32_t nevts=0, - const uint32_t firstEvt=0); - - protected: - virtual ECommWinResult SendConfAndEvents(FILE* inf, - const SnConfigFrame& curConf, - SnEventFrame& evt, - char* const evtBuf, - char* const confBuf, - const uint32_t nevts, - const uint32_t firstEvt=0)=0; - public: - virtual ~SnCommWin() {} - - /* - void SetCommWinOpen(const bool o) { fWinOpen = o; } - bool IsCommWinOpen() const { return fWinOpen; } - */ - - virtual ECommWinResult OpenWindow(Timer& timer, - const uint32_t timeout, - const bool sendStatus, - const SnConfigFrame& conf, - const SnEventFrame& evt, - char* const evtBuf, - char* const statBuf)=0; - - virtual bool Connect(Timer& timer, const uint32_t timeout)=0; - - virtual ECommWinResult GetConfig(SnConfigFrame& conf, - Timer& timer, - const uint32_t timeOut, - char* const confBuf)=0; - - virtual ECommWinResult SendStatus(const SnConfigFrame& conf, - const SnEventFrame& evt, - char* const evtBuf, - char* const statBuf)=0; - - ECommWinResult SendData(SnConfigFrame& conf, - SnEventFrame& evt, - char* const evtBuf, - char* const confBuf); - - virtual ECommWinResult SendData(FILE* inf)=0; - -}; - -#endif // SN_SnCommWin +#ifndef SN_SnCommWin +#define SN_SnCommWin + +#include "mbed.h" +#include <stdint.h> + +class SnConfigFrame; +class SnEventFrame; + +// ABC for communication types + +class SnCommWin { + public: + enum ECommWinResult { + kUndefFail, // undefined fail type + kCanNotConnect, // unable to connect to port + kFailTimeout, // timed out but message required + kFailPartSent, // only part of the message sent + kAllFails, // to be used for "if (ret > kAllFails) ==> success" + // only successes should go below + kConnected, // connection established, no messaging attempted + kOkMsgSent, // message sent without waiting for "received" handshake + kOkNoMsg, // timed out with no message, but that is ok + kOkWithMsg // successfully received message + }; + + private: + //bool fWinOpen; // whether this comm should listen + + ECommWinResult SendData(FILE* inf, const char* infn, + const SnConfigFrame& curConf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf, + const uint32_t nevts, + const uint32_t firstEvt=0); + ECommWinResult SendData(const char* infn, + const SnConfigFrame& curConf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf, + const uint32_t nevts, + const uint32_t firstEvt=0); + + protected: + virtual ECommWinResult SendConfAndEvents(FILE* inf, + const SnConfigFrame& curConf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf, + const uint32_t nevts, + const uint32_t firstEvt=0)=0; + public: + virtual ~SnCommWin() {} + + virtual ECommWinResult OpenWindow(const uint32_t timeout, + const bool sendStatus, + const SnConfigFrame& conf, + const SnEventFrame& evt, + char* const evtBuf, + char* const statBuf)=0; + + virtual bool Connect(const uint32_t timeout)=0; + + virtual ECommWinResult GetConfig(SnConfigFrame& conf, + const uint32_t timeOut, + char* const confBuf)=0; + + virtual ECommWinResult SendStatus(const SnConfigFrame& conf, + const SnEventFrame& evt, + char* const evtBuf, + char* const statBuf)=0; + + ECommWinResult SendData(SnConfigFrame& conf, + SnEventFrame& evt, + char* const evtBuf, + char* const confBuf, + const uint32_t timeout); + + virtual ECommWinResult SendData(FILE* inf)=0; + +}; + +#endif // SN_SnCommWin