Arianna autonomous DAQ firmware
Dependencies: mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW
Diff: SnCommAfarTCP.h
- Revision:
- 6:6f002d202f59
- Parent:
- 5:9cea89700c66
- Child:
- 7:079617408fec
--- a/SnCommAfarTCP.h Fri Aug 03 00:04:34 2012 +0000 +++ b/SnCommAfarTCP.h Fri Aug 03 23:50:57 2012 +0000 @@ -2,6 +2,7 @@ #define SN_SnCommAfarTCP /* #include "SnCommWin.h" +#include "string" class SnConfigFrame; class SnEventFrame; @@ -11,29 +12,39 @@ class SnCommAfarTCP : public SnCommWin { public: - static const int kSockTimeoutMs; - - typedef int (TCPSocketConnection::*TCPSendRecv)(char*, int, int); + typedef int (TCPSocketConnection::*TCPSendRecv)(char*, int); protected: - char* const fB64buf; - uint32_t fbblen; + bool fUseB64; + std::string fRserv; + int32_t fRport; EthernetInterface* fEth; TCPSocketConnection* fSock; - std::string fRserv; - int32_t fRport; - virtual SnCommWin::ECommWinResult SendFilename(const char* fn, char* const genBuf); - virtual SnCommWin::ECommWinResult SendData(FILE* inf); - virtual SnCommWin::ECommWinResult SendConfAndEvents(FILE* inf, + int DoIO(char* const data, + const uint32_t length, + const uint32_t timeout_clock, + TCPSendRecv fcn); + int ReceiveAll(char* const buf, const uint32_t mlen, + const uint32_t timeout_clock); + int SendAll(char* const data, const uint32_t length, + const uint32_t timeout_clock); + + virtual SnCommWin::ECommWinResult SendFilename(const char* fn, + char* const genBuf, + const uint32_t timeout_clock); + virtual SnCommWin::ECommWinResult SendFileContents(FILE* inf, const SnConfigFrame& curConf, SnEventFrame& evt, char* const genBuf, - const uint32_t nevts, + uint32_t nevts, + const uint32_t timeout_clock, const uint32_t firstEvt=0); public: - SnCommAfarTCP(char* const b64buf, const uint32_t bblen); + SnCommAfarTCP(const bool useb64, + const char* remote="128.195.204.151", + const int32_t rport=6655); virtual ~SnCommAfarTCP(); virtual bool Connect(const uint32_t timeout); @@ -46,7 +57,8 @@ virtual SnCommWin::ECommWinResult WaitHandshake(const uint32_t timeout, char* const buf, - const uint32_t bsize); + const uint32_t bsize, + uint8_t& hndShkCode); virtual SnCommWin::ECommWinResult GetConfig(SnConfigFrame& conf, const uint32_t timeOut, @@ -55,7 +67,8 @@ virtual SnCommWin::ECommWinResult SendStatus(const SnConfigFrame& conf, const SnEventFrame& evt, - char* const genBuf); + char* const genBuf, + const uint32_t timeout_clock); };