Skip to main content
Skip table of contents

PSP Communication Format

Byte format (Serial)

Baud rate

P6X: Configurable (default 57600 bps)

Apollo: Configurable (default 57600 bps)

Serial bit format

1 start bit

8 data bits

1 stop bit

LSB

MSB

Start

0

1

2

3

4

5

6

7

Stop

Block format

preamble:

length:

magic

header

payload

payload

CS

0xAA

0x04

0x3C

0x21

0x03

0x66

0x74

Extended block format

preamble:

length 3

length 2

length 1

length 0

magic

header

payload

payload

CS

0xAA

0x00

0x00

0x00

0x04

0x3C

0x21

0x03

0x66

0x74

A command consists of a preamble byte, length byte (length of the block without preamble, length and checksum), magic/routing byte, header byte, payload bytes and a checksum byte. A command is limited to a maximum of 36 bytes (version 1 and 2) or 257 bytes (version 3 and newer). If extended block format is enabled the length block is 4 bytes. The commands are defined in chapter 4.

Preamble Byte

The preamble byte is used to provide a device address.

For P6X
A device will put a configurable address byte here.

For APOLLO
The preamble to the terminal is 0xCC
The preamble to the host is 0xAA

Magic Byte

For P6X
The magic byte can be set to any value for example 0x3C. The terminal will ignore it and will place a configurable value in the location.

For APOLLO
The magic byte is always 0x3C.

Checksum byte

A checksum byte must be sent at the end of each command. The checksum byte is a checksum calculated by adding all bytes in the block together. The checksum byte is not included in the summation. The carry bit for checksum additions is ignored since the checksum byte is limited to eight bits.

Byte order

If data bytes consists of a multi byte parameter (i.e.. 0xABCD) the most significant byte is sent first. (0xAB 0xCD)

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.