log invalid self-addressed messages and skip them
This commit is contained in:
@@ -134,7 +134,7 @@ bool ScanRequest::notify(result_t result, SymbolString& slave)
|
|||||||
bool ActiveBusRequest::notify(result_t result, SymbolString& slave)
|
bool ActiveBusRequest::notify(result_t result, SymbolString& slave)
|
||||||
{
|
{
|
||||||
if (result == RESULT_OK)
|
if (result == RESULT_OK)
|
||||||
logNotice(lf_bus, "read res: %s", slave.getDataStr().c_str());
|
logDebug(lf_bus, "read res: %s", slave.getDataStr().c_str());
|
||||||
|
|
||||||
m_result = result;
|
m_result = result;
|
||||||
m_slave.addAll(slave);
|
m_slave.addAll(slave);
|
||||||
@@ -692,6 +692,10 @@ result_t BusHandler::setState(BusState state, result_t result, bool firstRepetit
|
|||||||
void BusHandler::receiveCompleted()
|
void BusHandler::receiveCompleted()
|
||||||
{
|
{
|
||||||
unsigned char srcAddress = m_command[0], dstAddress = m_command[1];
|
unsigned char srcAddress = m_command[0], dstAddress = m_command[1];
|
||||||
|
if (srcAddress == dstAddress) {
|
||||||
|
logError(lf_bus, "invalid self-addressed message from %2.2x", srcAddress);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (isMaster(srcAddress) && !m_seenAddresses[srcAddress]) {
|
if (isMaster(srcAddress) && !m_seenAddresses[srcAddress]) {
|
||||||
m_masterCount++;
|
m_masterCount++;
|
||||||
if (m_autoLockCount && m_masterCount>m_lockCount)
|
if (m_autoLockCount && m_masterCount>m_lockCount)
|
||||||
|
|||||||
Reference in New Issue
Block a user