This library allows to parse and work with data sent by the Paradigma pelletti oven.
Revision 2:27334bd6dc28, committed 2013-06-27
- 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