From 6d59bd455c600757d1e967875b66601520869145 Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Sun, 16 Feb 2014 11:20:17 -0500 Subject: [PATCH] Change so memoryClean and memoryDirty signals properly handle packetnak, and whole table writes. --- plugins/freeems/freeemscomms.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/freeems/freeemscomms.cpp b/plugins/freeems/freeemscomms.cpp index f406524..b586de7 100644 --- a/plugins/freeems/freeemscomms.cpp +++ b/plugins/freeems/freeemscomms.cpp @@ -455,6 +455,11 @@ int FreeEmsComms::burnBlockFromRamToFlash(unsigned short location,unsigned short m_sequenceNumber++; m_reqList.append(req); + if (size == 0) + { + size = emsData.getLocalRamBlock(location).size(); + } + for (int i=emsData.getLocalRamBlockInfo(location)->ramAddress + offset;iramAddress+offset+size;i++) { if (m_dirtyRamAddresses.contains(i)) @@ -1728,6 +1733,22 @@ void FreeEmsComms::packetNakedRec(unsigned short payloadid,QByteArray header,QBy m_locIdToConfigListMap[locid][i]->setData(emsData.getLocalRamBlock(locid)); } } + + unsigned short offset = m_currentWaitingRequest.args[1].toUInt(); + unsigned short size = m_currentWaitingRequest.args[2].toUInt(); + unsigned short ramaddress = emsData.getLocalRamBlockInfo(locid)->ramAddress; + for (int i=ramaddress+offset;i