Changed the MSTP_MASTER_STATE_ANSWER_DATA_REQUEST state to always send a REPLY_POSTPONED by

commenting out the section that checks for new packets to send.  It was not the intent of the BACnet standard, but it makes the Master Node FSM compliant.  It's either that or re-parse the message for a matching apdu and invoke id, and then defer if the next message does not match.  The problem happens when an unconfirmed request (i.e. WhoIs) is followed immediated by a confirmed request (i.e. ReadProperty) before the device can respond to the unconfirmed request (i.e. the I-Am is queued in the Transmit buffer).
This commit is contained in:
skarg
2007-07-14 00:09:16 +00:00
parent 3d54a5cd50
commit e53f38dd40
8 changed files with 271 additions and 441 deletions
+9
View File
@@ -49,6 +49,14 @@
<Unit filename="..\..\crc.h" />
<Unit filename="..\..\datalink.h" />
<Unit filename="..\..\dlmstp.h" />
<Unit filename="..\..\indtext.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="..\..\indtext.h" />
<Unit filename="..\..\mstptext.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="..\..\mstptext.h" />
<Unit filename="..\..\npdu.h" />
<Unit filename="dlmstp.c">
<Option compilerVar="CC" />
@@ -63,6 +71,7 @@
<Unit filename="rs485.h" />
<Extensions>
<code_completion />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>