Acknowledgment rules – Echelon LonTal Stack User Manual

Page 56

Advertising
background image

44

Creating a LonTalk Stack Serial MIP Driver

• All length fields do not count for escape prefixes. Instead, they reflect the

length of the real data stream above the link-layer protocol. All length

fields do not account for the checksum.

• Broken code packets (code packets with missing or corrupt bytes) are not

responded to at all, and they rely on time-out mechanisms for

re-transmission.

• Broken message streams are responded to as soon as the error condition

is observed. The response is the CpFail code packet.

Acknowledgment Rules

The Ack bit is used to send a success response to a previous transfer, specifically
transfers that send data that is above the LLP (non-LLP data). These are

transfers of messages and transfers of local network interface commands.

To reduce traffic, not all data transfers require acknowledgement. Following are

the acknowledgement rules:

• If a transfer requires an acknowledgment and there is no other data that

needs to be sent, a CpNull packet is sent with the Pass/Ack bit set.

Otherwise, if there is outgoing traffic to be sent the Ack bit will be
included in the following transfer. This is true for both uplink and

downlink data messages.

• Code packets that do not require an acknowledgment via the Ack bit are

packets that result in an immediate response anyway. The response

implies acknowledgment. The following table lists these types of code
packets:

Code Packet

Description

CpMsgReq

The Serial MIP will respond with either the
CpMsgAck, or a criss-cross could occur and an

unrelated code packet will be sent by the Serial
MIP.

CpMsgAck

The host does not need to acknowledge this

message. Instead it provides an implied
acknowledgement by sending the CpMsg code

packet followed by a message packet

• Data that is sent and requires acknowledgement will persist in the source

until the acknowledgment is received. While the persistent data is

waiting for acknowledgement, the Acknowledge Wait timeout, which is

300ms for the Serial MIP and the driver, causes the persistent data to be
re-sent.

Advertising