From fcb8c0b86a565e783c3369de5dd0089bb7c0aa1d Mon Sep 17 00:00:00 2001 From: skarg Date: Tue, 5 Apr 2016 18:55:10 +0000 Subject: [PATCH] Fixed Invalid Packets count when using "--scan" option with mstpcap utility. Thank you, Tyler Long! --- bacnet-stack/demo/mstpcap/main.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/bacnet-stack/demo/mstpcap/main.c b/bacnet-stack/demo/mstpcap/main.c index a2e0f3c2..41ef2930 100644 --- a/bacnet-stack/demo/mstpcap/main.c +++ b/bacnet-stack/demo/mstpcap/main.c @@ -791,12 +791,16 @@ static bool read_received_packet( mstp_port->HeaderCRC = CRC_Calc_Header(header[i], mstp_port->HeaderCRC); } - if (mstp_port->HeaderCRC != 0x55) { - mstp_port->ReceivedInvalidFrame = true; - } else if (mstp_port->DataLength == 0) { - mstp_port->ReceivedInvalidFrame = false; + if (mstp_port->HeaderCRC == 0x55) { mstp_port->ReceivedValidFrame = true; - mstp_port->ReceivedValidFrameNotForUs = true; + mstp_port->ReceivedInvalidFrame = false; + if (mstp_port->DataLength == 0) { + mstp_port->ReceivedValidFrame = true; + mstp_port->ReceivedValidFrameNotForUs = true; + } + } else { + mstp_port->ReceivedValidFrame = false; + mstp_port->ReceivedInvalidFrame = true; } if (orig_len > 8) { /* packet includes data */ @@ -830,8 +834,14 @@ static bool read_received_packet( CRC_Calc_Data(mstp_port->DataCRCActualMSB, mstp_port->DataCRC); mstp_port->DataCRC = CRC_Calc_Data(mstp_port->DataCRCActualLSB, mstp_port->DataCRC); - if (mstp_port->DataCRC != 0xF0B8) { + if (mstp_port->DataCRC == 0xF0B8) { + mstp_port->ReceivedInvalidFrame = false; + mstp_port->ReceivedValidFrame = true; + mstp_port->ReceivedValidFrameNotForUs = true; + } else { mstp_port->ReceivedInvalidFrame = true; + mstp_port->ReceivedValidFrame = false; + mstp_port->ReceivedValidFrameNotForUs = false; } } else { mstp_port->DataLength = 0;