From 92a446e3bb965f9d118d9ce71ead27206360015e Mon Sep 17 00:00:00 2001 From: john30 Date: Sat, 17 Oct 2015 12:51:10 +0200 Subject: [PATCH] added getLastMasterData(), fix for storing last master data in prepareMaster() --- src/lib/ebus/message.cpp | 4 ++-- src/lib/ebus/message.h | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/ebus/message.cpp b/src/lib/ebus/message.cpp index 4c7655d1..ff33cfda 100644 --- a/src/lib/ebus/message.cpp +++ b/src/lib/ebus/message.cpp @@ -380,10 +380,10 @@ result_t Message::prepareMaster(const unsigned char srcAddress, SymbolString& ma switch (master.compareMaster(m_lastMasterData)) { case 1: // completely different m_lastChangeTime = m_lastUpdateTime; - m_lastMasterData = masterData; + m_lastMasterData = master; break; case 2: // only master address is different - m_lastMasterData = masterData; + m_lastMasterData = master; break; } masterData.addAll(master); diff --git a/src/lib/ebus/message.h b/src/lib/ebus/message.h index 557bfea3..507783cc 100644 --- a/src/lib/ebus/message.h +++ b/src/lib/ebus/message.h @@ -265,6 +265,12 @@ public: */ result_t decodeLastDataField(unsigned int& output, const char* fieldName, signed char fieldIndex=-1); + /** + * Get the last seen master data. + * @return the last seen master @a SymbolString. + */ + SymbolString& getLastMasterData() { return m_lastMasterData; } + /** * Get the last seen slave data. * @return the last seen slave @a SymbolString.