Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
SnCommWin.h
- Committer:
- uci1
- Date:
- 2012-06-30
- Revision:
- 0:664899e0b988
- Child:
- 1:e392595b4b76
File content as of revision 0:664899e0b988:
#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