Skip to content

Commit 387f713

Browse files
authored
fix broadcast on merge #62 (#64)
#62 still did not fully work => the callback was not called fixed with ```diff @@ -589,7 +590,7 @@ bool Modbus::readRequest() bool Modbus::relevantAddress(uint8_t unitAddress) { // Every device should listen to broadcast messages. - if (isBroadcast()) + if (unitAddress==MODBUS_BROADCAST_ADDRESS) { return true; } ``` secondly: ``` @@ -838,7 +839,7 @@ uint8_t Modbus::executeCallback(uint8_t slaveAddress, uint8_t callbackIndex, uin } } - return isBroadcast ? STATUS_ACKNOWLEDGE : STATUS_ILLEGAL_FUNCTION; + return isBroadcast ? STATUS_OK : STATUS_ILLEGAL_FUNCTION; } /** ``` for cleanup later and prevent acknowledge
1 parent a9559f9 commit 387f713

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/ModbusSlave.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ bool Modbus::readRequest()
589589
bool Modbus::relevantAddress(uint8_t unitAddress)
590590
{
591591
// Every device should listen to broadcast messages.
592-
if (isBroadcast())
592+
if (unitAddress==MODBUS_BROADCAST_ADDRESS)
593593
{
594594
return true;
595595
}
@@ -838,7 +838,7 @@ uint8_t Modbus::executeCallback(uint8_t slaveAddress, uint8_t callbackIndex, uin
838838
}
839839
}
840840

841-
return isBroadcast ? STATUS_ACKNOWLEDGE : STATUS_ILLEGAL_FUNCTION;
841+
return isBroadcast ? STATUS_OK : STATUS_ILLEGAL_FUNCTION;
842842
}
843843

844844
/**

0 commit comments

Comments
 (0)