Henry Leinen / ParadigmaPelletti

Files at this revision

API Documentation at this revision

Comitter:
leihen
Date:
Thu Jun 27 00:29:33 2013 +0000
Parent:
1:9c48326ad8c9
Commit message:
Logger working locally
;

Changed in this revision

ParadigmaData.cpp Show annotated file Show diff for this revision Revisions of this file
ParadigmaData.h Show annotated file Show diff for this revision Revisions of this file
diff -r 9c48326ad8c9 -r 27334bd6dc28 ParadigmaData.cpp
--- a/ParadigmaData.cpp	Wed Jun 26 21:04:07 2013 +0000
+++ b/ParadigmaData.cpp	Thu Jun 27 00:29:33 2013 +0000
@@ -39,8 +39,8 @@
                     m_Data1.PuffertemperaturOben.adjustEndiness();
                     m_Data1.PuffertemperaturUnten.adjustEndiness();
                     m_Data1.Zirkulationstemperatur.adjustEndiness();
-                    INFO("*********************** received new data !");
-                    callBack();
+                    INFO("*********************** received new data1 !");
+                    callBack1();
                 }
                 invalidateHeader();
             }
@@ -62,8 +62,8 @@
                     m_Data2.BetriebsstundenKessel.adjustEndiness();
                     m_Data2.AnzahlKesselstarts.adjustEndiness();
                     m_Data2.StoercodeKessel.adjustEndiness();
-                    INFO("*********************** received new data !");
-                    callBack();
+                    INFO("*********************** received new data2 !");
+                    callBack2();
                 }
                 invalidateHeader();
             }
@@ -104,7 +104,7 @@
                     m_actualPos = 0;
                     m_checksum += c;
                     m_activeDataBlock = (ParadigmaDatasetType_t)c;
-                    INFO("Dataset Number !\n");
+                    INFO("Dataset Number %d!\n", c);
                 } else {
                     invalidateHeader();
                     INFO("Rejected due to incorrect Dataset number %d\n", c);
@@ -128,7 +128,7 @@
 void ParadigmaMonitorData::invalidateHeader()
 {
     //  Invalidate Header information
-    memset(&m_Header, 0, sizeof(m_Header)); 
+    memset(&m_Header, 0, sizeof(m_Header));     
     //  Set active data block information to invalid
     m_activeDataBlock = (ParadigmaDatasetType_t)Invalid; 
     //  Reset actual position with in Buffer so that next char starts from beginning
diff -r 9c48326ad8c9 -r 27334bd6dc28 ParadigmaData.h
--- a/ParadigmaData.h	Wed Jun 26 21:04:07 2013 +0000
+++ b/ParadigmaData.h	Thu Jun 27 00:29:33 2013 +0000
@@ -131,7 +131,8 @@
   */
 class ParadigmaMonitorData
 {
-    FunctionPointer         m_Callback;
+    FunctionPointer         m_CallbackData1;
+    FunctionPointer         m_CallbackData2;
 
     MonDta1_t               m_Data1;
     MonDta2_t               m_Data2;
@@ -142,8 +143,11 @@
     char                    m_checksum;
 
     void                    invalidateHeader();
-    void                    callBack()  {
-        m_Callback.call();
+    void                    callBack1()  {
+        m_CallbackData1.call();
+    }
+    void                    callBack2()  {
+        m_CallbackData2.call();
     }
     word                    swapWord(word d) {
         return ((d&0xFF)<<8) | ((d>>8)&0xFF);
@@ -264,14 +268,24 @@
     ParadigmaMonitorData& operator<<( char c );
     ParadigmaMonitorData& operator<<( char Buffer[] );
 
-    void attach( void (*fct)(void) )    {
-        m_Callback.attach(fct);
+    void attach1( void (*fct)(void) )    {
+        m_CallbackData1.attach(fct);
+    }
+    void attach2( void (*fct)(void) )   {
+        m_CallbackData2.attach(fct);
     }
     
     template<typename T>
-    void attach(T* p, void (T::*mptr)(void)) {
-        m_Callback.attach(p, mptr);
+    void attach1(T* p, void (T::*mptr)(void)) {
+        m_CallbackData1.attach(p, mptr);
     }
+    template<typename T>
+    void attach2(T* p, void (T::*mptr)(void)) {
+        m_CallbackData2.attach(p, mptr);
+    }
+    
+    MonDta1_t *  getData1()      { return &m_Data1; }
+    MonDta2_t *  getData2()      { return &m_Data2; }
 };
 }
 #endif
\ No newline at end of file