BRP / CommandFrame Protocol Frame
A command frame is sent by the host to initiate communication
with the reader and invoke a command.
Properties
- Frame value: 0x01
Format
Name | Type/Size | Description | ||
---|---|---|---|---|
FormatFlags | Bit mask (8 bits) | Flags that enable optional fields in the command frame. These fields will then also be enabled in the response frame. | ||
RFU | Integer (bit mask area 0xC0) | Zero padding | ||
CheckSumAlgo | Enumeration (bit mask area 0x30) |
Creates a checksum using 1 of the available
algorithms. Please use checksums only for unsecured connections, i.e. connections via RS-232/UART. For security reasons, we highly recommend CRC-16. Values:
|
||
UncompressedLength | Boolean (bit 0x08) |
Increases the space for payload length information
from 8 to 16 bits by enabling the optional
LengthHigh field.
We recommend you always set this bit and use uncompressed length. |
||
UncompressedCmdCode | Boolean (bit 0x04) |
Increases the space for the command code from 8 to
16 bits by disabling the CompressedCmdCode
field and enabling the CmdCode field.
We recommend you always set this bit and use uncompressed command code. |
||
ExecutionMode | Enumeration (bit mask area 0x03) |
Defines the
execution mode Values:
|
||
Optional field, condition: UncompressedCmdCode | ||||
CmdCode | Integer (16 bits) | Command code (see command reference page) | ||
Optional field, condition: not UncompressedCmdCode | ||||
CompressedCmdCode | Bit mask (8 bits) | Command code (see command reference page), compressed from 16 to 8 bits. | ||
CmdCodeHigh | Integer (bit mask area 0xE0) | Lower 3 bits of 1st byte of uncompressed command code | ||
CmdCodeLow | Integer (bit mask area 0x1F) | Lower 5 bits of 2nd byte of uncompressed command code | ||
LengthLow | Integer (8 bits) | Length of payload data | ||
Optional field, condition: UncompressedLength | ||||
LengthHigh | Integer (8 bits) | Length of payload data. If this optional additional byte is used, it's transmitted LSB first (little endian). | ||
Payload | Raw data (length 0 Bytes) | Parameters for the command (see command reference page) Length is LengthLow + LengthHigh *256 | ||
Optional field, condition: CheckSumAlgo == CheckSumAlgo.BCC8 | ||||
ShortCheckSum | Integer (8 bits) | Checksum if BCC-8 algorithm is used | ||
Optional field, condition: (CheckSumAlgo == CheckSumAlgo.BCC16) or (CheckSumAlgo == CheckSumAlgo.CRC16) | ||||
LongCheckSum | Integer (16 bits) | Checksum if BCC-16 or CRC-16 algorithm is used |