Fixed MS/TP Slave Node FSM to enable receiving DNER frames (#832)

This commit is contained in:
Steve Karg
2024-10-29 03:53:01 -05:00
committed by GitHub
parent 3329dff337
commit 05c6d06265
3 changed files with 40 additions and 4 deletions
+12 -1
View File
@@ -1163,6 +1163,18 @@ static void MSTP_Slave_Node_FSM(void)
MSTP_Flag.ReceivePacketPending = true;
}
break;
case FRAME_TYPE_BACNET_DATA_NOT_EXPECTING_REPLY:
if ((DestinationAddress == MSTP_BROADCAST_ADDRESS) &&
(npdu_confirmed_service(InputBuffer, DataLength))) {
/* quietly discard any Confirmed-Request-PDU, whose
destination address is a multicast or
broadcast address, received from the
network layer. */
} else {
/* indicate successful reception to higher layer */
MSTP_Flag.ReceivePacketPending = true;
}
break;
case FRAME_TYPE_TEST_REQUEST:
MSTP_Send_Frame(FRAME_TYPE_TEST_RESPONSE, SourceAddress,
This_Station, &InputBuffer[0], DataLength);
@@ -1170,7 +1182,6 @@ static void MSTP_Slave_Node_FSM(void)
case FRAME_TYPE_TOKEN:
case FRAME_TYPE_POLL_FOR_MASTER:
case FRAME_TYPE_TEST_RESPONSE:
case FRAME_TYPE_BACNET_DATA_NOT_EXPECTING_REPLY:
default:
break;
}