mirror of
https://github.com/thelsing/knx.git
synced 2025-05-12 01:15:12 +02:00
fix Bau091A:IsAckRequired for Broadcasts
This commit is contained in:
parent
919b8e35eb
commit
c1588e12d5
@ -175,17 +175,25 @@ TPAckType Bau091A::isAckRequired(uint16_t address, bool isGrpAddr)
|
|||||||
{
|
{
|
||||||
// ACK for broadcasts
|
// ACK for broadcasts
|
||||||
if (address == 0)
|
if (address == 0)
|
||||||
|
{
|
||||||
ack = TPAckType::AckReqAck;
|
ack = TPAckType::AckReqAck;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if(lcconfig & LCCONFIG::GROUP_IACK_ROUT)
|
if(lcconfig & LCCONFIG::GROUP_IACK_ROUT)
|
||||||
|
{
|
||||||
// is group address in filter table? ACK if yes, No if not
|
// is group address in filter table? ACK if yes, No if not
|
||||||
if(_netLayer.isRoutedGroupAddress(address, 1))
|
if(_netLayer.isRoutedGroupAddress(address, 1))
|
||||||
ack = TPAckType::AckReqAck;
|
ack = TPAckType::AckReqAck;
|
||||||
else
|
else
|
||||||
ack = TPAckType::AckReqNone;
|
ack = TPAckType::AckReqNone;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
// all are ACKED
|
// all are ACKED
|
||||||
ack = TPAckType::AckReqAck;
|
ack = TPAckType::AckReqAck;
|
||||||
|
}
|
||||||
|
}
|
||||||
#ifdef KNX_TUNNELING
|
#ifdef KNX_TUNNELING
|
||||||
if(_dlLayerPrimary.isSentToTunnel(address, isGrpAddr))
|
if(_dlLayerPrimary.isSentToTunnel(address, isGrpAddr))
|
||||||
ack = TPAckType::AckReqAck;
|
ack = TPAckType::AckReqAck;
|
||||||
@ -209,7 +217,7 @@ TPAckType Bau091A::isAckRequired(uint16_t address, bool isGrpAddr)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
printf("ack %u\n", ack);
|
||||||
return ack;
|
return ack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user