Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

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);
     
 };