Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnCommWin.h
- Revision:
- 40:1324da35afd4
- Parent:
- 37:ff95e7070f26
- Child:
- 41:d6f5e2f09e07
--- a/SnCommWin.h Tue Jul 30 02:03:21 2013 +0000 +++ b/SnCommWin.h Sat Oct 05 04:45:22 2013 +0000 @@ -28,7 +28,8 @@ kOkMsgSent, // message sent without waiting for "received" handshake kOkNoMsg, // timed out with no message, but that is ok kOkWithMsg, // successfully received message - kOkWthMsgNoConf // successfully received message and it says to stick with the same config + kOkWthMsgNoConf,// successfully received message and it says to stick with the same config + kOkWthMsgDidDel // successfully received message and deleted a file because of it }; static const char* kLocalDir; // the local mbed directory @@ -55,32 +56,35 @@ protected: SnCommPeripheral* fComm; // the communication peripheral. deleted in dtor!! - virtual int SendFileBlock(FILE* inf, - const uint8_t blockHeaderCode, - const uint32_t blockSize, - char* const genBuf, - const uint32_t timeout); + virtual int32_t SendFileBlock(FILE* inf, + const uint8_t blockHeaderCode, + const uint32_t blockSize, + char* const genBuf, + int32_t& bytesToSend, + const uint32_t timeout); - virtual ECommWinResult SendFileContents(FILE* inf, - const SnConfigFrame& curConf, - SnEventFrame& evt, - SnPowerFrame& pow, - char* const genBuf, - uint32_t nevts, - const uint32_t timeout_clock); + virtual int32_t SendFileContents(FILE* inf, + const SnConfigFrame& curConf, + SnEventFrame& evt, + SnPowerFrame& pow, + char* const genBuf, + uint32_t nevts, + int32_t& bytesToBeSent, + const uint32_t timeout_clock); public: SnCommWin(SnCommPeripheral* p); virtual ~SnCommWin(); // probably no need to overload - virtual bool TrySetSysTimeUnix(const uint32_t timeout); + virtual bool TrySetSysTimeUnix(const uint32_t timeout, + uint32_t& prvTime, + uint32_t& setTime); virtual bool Connect(const uint32_t timeout); virtual bool CloseConn(const uint32_t timeout); + virtual bool PowerDown(const uint32_t timeout); // optional overloads - virtual uint32_t GetConnectTimeout() const; - virtual uint32_t GetListenTimeout() const; virtual void Set(const SnConfigFrame& conf) {} // mandatory overloads @@ -107,6 +111,19 @@ const uint32_t bsize, uint8_t& hndShkCode, uint32_t* hndShkLen=0); + + virtual ECommWinResult HandleHandshake(FILE* inf, const char* infn, + const SnConfigFrame& curConf, + SnEventFrame& evt, + SnPowerFrame& pow, + char* const genBuf, + const uint32_t bsize, + const uint32_t handshakeTimeout, + const uint8_t hndshk, + const uint32_t hndlen, + const uint32_t* nevts=0); + int32_t SendHndshkReq(char* const genBuf, + const uint32_t timeout_clock); ECommWinResult GetConfig(SnConfigFrame& conf, const uint32_t timeOut, @@ -125,11 +142,12 @@ SnCommWin::ECommWinResult SendString(const char* str, const uint32_t timeout); - ECommWinResult SendFilename(const char* fn, - char* const genBuf, - const uint32_t timeout_clock); + int32_t SendFilename(const char* fn, + char* const genBuf, + int32_t& bytesToBeSent, + const uint32_t timeout_clock); - ECommWinResult SendData(FILE* inf, const char* infn, + ECommWinResult SendDataFromFile(FILE* inf, const char* infn, const SnConfigFrame& curConf, SnEventFrame& evt, SnPowerFrame& pow, @@ -137,16 +155,15 @@ const uint32_t bsize, const uint32_t nevts, const uint32_t timeout_clock, - const uint32_t handshakeTimeout, - uint8_t* hndres=0); + uint8_t* hndcode=0, + uint32_t* hndlen=0); ECommWinResult SendData(SnConfigFrame& conf, SnEventFrame& evt, SnPowerFrame& pow, char* const genBuf, const uint32_t bsize, - const uint32_t timeout, - const uint32_t handshakeTimeout); + const uint32_t timeout); };