This library allows to parse and work with data sent by the Paradigma pelletti oven.

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
--- 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
--- 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