Arianna autonomous DAQ firmware

Dependencies:   mbed SDFileSystemFilinfo AriSnProtocol NetServicesMin AriSnComm MODSERIAL PowerControlClkPatch DS1820OW

Revision:
8:95a325df1f6b
Parent:
6:6f002d202f59
Child:
10:3c93db1cfb12
--- a/SnCommWin.h	Sat Aug 04 01:48:55 2012 +0000
+++ b/SnCommWin.h	Wed Aug 08 23:27:37 2012 +0000
@@ -4,8 +4,9 @@
 #include "mbed.h"
 #include <stdint.h>
 
-class SnConfigFrame;
+#include "SnConfigFrame.h"
 class SnEventFrame;
+class SnPowerFrame;
 
 // ABC for communication types
 
@@ -26,25 +27,34 @@
         kOkWithMsg      // successfully received message
     };
         
- private:
-    //bool                    fWinOpen;  // whether this comm should listen
-    
 
  protected:
-    virtual SnCommWin::ECommWinResult SendFileContents(FILE* inf,
-                                                    const SnConfigFrame& curConf,
-                                                    SnEventFrame& evt,
-                                                    char* const genBuf,
-                                                    uint32_t nevts,
-                                                    const uint32_t timeout_clock,
-                                                    const uint32_t firstEvt=0)=0;
+    virtual ECommWinResult SendFileContents(FILE* inf,
+                                            const SnConfigFrame& curConf,
+                                            SnEventFrame& evt,
+                                            SnPowerFrame& pow,
+                                            char* const genBuf,
+                                            uint32_t nevts,
+                                            const uint32_t timeout_clock,
+                                            const uint32_t firstEvt=0);
+
+    virtual SnConfigFrame::EDatPackBit GetCommType() const=0;
+    
+    virtual int32_t ReceiveAll(char* const buf, const uint32_t mlen,
+                               const uint32_t timeout_clock)=0;
+    virtual int32_t SendAll(char* const data, const uint32_t length,
+                            const uint32_t timeout_clock)=0;
+
  public:
     virtual ~SnCommWin() {}
     
+    virtual void Set(const SnConfigFrame& conf)=0;
+    
     virtual ECommWinResult  OpenWindow(const uint32_t timeout,
                                        const bool sendStatus,
                                        const SnConfigFrame& conf,
                                        const SnEventFrame& evt,
+                                       const SnPowerFrame& pow,
                                        char* const genBuf)=0;
     
     virtual bool            Connect(const uint32_t timeout)=0;
@@ -52,37 +62,40 @@
     virtual ECommWinResult  WaitHandshake(const uint32_t timeout,
                                           char* const buf,
                                           const uint32_t bsize,
-                                          uint8_t& hndShkCode)=0;
+                                          uint8_t& hndShkCode);
     
-    virtual ECommWinResult  GetConfig(SnConfigFrame& conf,
-                                      const uint32_t timeOut,
-                                      char* const confBuf,
-                                      const uint32_t bsize)=0;
+    ECommWinResult  GetConfig(SnConfigFrame& conf,
+                              const uint32_t timeOut,
+                              char* const confBuf,
+                              const uint32_t bsize);
     
-    virtual ECommWinResult  SendStatus(const SnConfigFrame& conf,
-                                       const SnEventFrame& evt,
-                                       char* const genBuf,
-                                       const uint32_t timeout_clock)=0;
+    ECommWinResult  SendStatus(const SnConfigFrame& conf,
+                               const SnEventFrame& evt,
+                               const SnPowerFrame& pow,
+                               char* const genBuf,
+                               const uint32_t timeout_clock);
             
-    virtual SnCommWin::ECommWinResult SendFilename(const char* fn,
-                                                   char* const genBuf,
-                                                   const uint32_t timeout_clock)=0;
+    ECommWinResult SendFilename(const char* fn,
+                                char* const genBuf,
+                                const uint32_t timeout_clock);
 
-            ECommWinResult SendData(FILE* inf, const char* infn,
-                                    const SnConfigFrame& curConf,
-                                    SnEventFrame& evt,
-                                    char* const genBuf,
-                                    const uint32_t bsize,
-                                    const uint32_t nevts,
-                                    const uint32_t timeout_clock,
-                                    const uint32_t firstEvt=0);
+    ECommWinResult SendData(FILE* inf, const char* infn,
+                            const SnConfigFrame& curConf,
+                            SnEventFrame& evt,
+                            SnPowerFrame& pow,
+                            char* const genBuf,
+                            const uint32_t bsize,
+                            const uint32_t nevts,
+                            const uint32_t timeout_clock,
+                            const uint32_t firstEvt=0);
 
-            ECommWinResult  SendData(SnConfigFrame& conf,
-                                     SnEventFrame& evt,
-                                     char* const genBuf,
-                                     const uint32_t bsize,
-                                     const uint32_t timeout);
-    
+    ECommWinResult  SendData(SnConfigFrame& conf,
+                             SnEventFrame& evt,
+                             SnPowerFrame& pow,
+                             char* const genBuf,
+                             const uint32_t bsize,
+                             const uint32_t timeout);
+
 };
 
 #endif // SN_SnCommWin