OSDP

OSDP Communication Settings

Manual Version 2.2.2 - Section 5.6

The max packet size for both the ACU and PD is 1440 bytes. Each device must be able tolerate the max packet size. Usually, a PD will monitor and process each byte of the packet to maintain sync.

Each Peripheral Devices (PDs) must be able to receive up to 128 bytes of packet data. An ACU is to assume the PD can only handle 128 bytes given no other information. The ACU can and should execute an osdp_CAP command to get back what size of a packat and PD.

If the PD receives a packet specifically addressed to it which is greater than its reported RX buffer size, it constitutes a protocol error and shall respond with a NAK code 0x02.

The spec states, 'The nominal value of the inter-character timeout shall be 20 milliseconds. This parameter may need to be adjusted for special channel timing considerations.' This is misleading. In order to maintain interoperability, there is no timing tuning. Any timing change would indicate a custom OSDP implementation.

The transmitting device shall drive the line to a marking state for a minimum time pause equivalent of one UTF-8 character before starting to send the first character of a message (this can be achieved by sending a character with all bits set to '1').

Practically, this means that each sent packet should be preceded by an 0xFF.

The receiving side, should not start to assemble a frame until is see the SOM character.

As soon a get a message, look for SOM pull in 4 bytes, look at length, look a frame, then look at crc/check sum, then look at the address.