BRP / ResponseFrame Protocol Frame
After receiving a command frame, the reader responds with 1 or
more response frames, depending on the execution mode. Response
frames contain the requested response data or a status code,
depending on the result of command execution.
Properties
- Frame value: 0x02
Format
Name | Type/Size | Description | ||
---|---|---|---|---|
FormatFlags | Bit mask (8 bits) | Flags that enable optional fields in the response frame. These are the same flags as set in the command frame. | ||
Failure | Boolean (bit 0x80) | Status of command execution. False represents status code OK (0x00). True enables the StatusCode field with additional status information and disables the Payload field. | ||
CriticialBootStatus | Boolean (bit 0x40) | True indicates a hardware problem. This can be any status returned by Sys.GetBootStatus with bitmask 0x00FFFFFF. | ||
CheckSumAlgo | Enumeration (bit mask area 0x30) |
Checksum algorithm as specified in the command
frame. Values:
|
||
UncompressedLength | Boolean (bit 0x08) | Value as specified in command frame. If true , the space for the command code is increased from 8 to 16 bits by enabling the optional LengthHigh field. | ||
UncompressedCmdCode | Boolean (bit 0x04) | Value as specified in command frame. If true , the space for the command code is increased from 8 to 16 bits by disabling the CompressedCmdCode field and enabling the CmdCode field. | ||
Phase | Enumeration (bit mask area 0x03) |
Confirms the end of a command loop in
continuous or repeat mode. This happens when
the command is aborted or (in continuous mode) was
executed successfully. Values:
|
||
Optional field, condition: UncompressedCmdCode | ||||
CmdCode | Integer (16 bits) | Command code as specified in command frame | ||
Optional field, condition: not UncompressedCmdCode | ||||
CompressedCmdCode | Bit mask (8 bits) | Command code as specified in command frame, 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. If command execution has failed, this is the length of the StatusCode and set to 1 |
||
Optional field, condition: UncompressedLength | ||||
LengthHigh | Integer (8 bits) | Length of payload. If this optional additional byte is used, it's transmitted LSB first (little endian) | ||
Optional field, condition: Failure | ||||
StatusCode | Integer (8 bits) | Status of command execution if !== OK (see general status codes ) | ||
Optional field, condition: not Failure | ||||
Payload | Raw data (length 0 Bytes) | Returned values for the command (see command reference page) | ||
Optional field, condition: CheckSumAlgo == CheckSumAlgo.BCC8 | ||||
ShortCheckSum | Integer (8 bits) | Checksum if BCC-8 is used | ||
Optional field, condition: (CheckSumAlgo == CheckSumAlgo.BCC16) or (CheckSumAlgo == CheckSumAlgo.CRC16) | ||||
LongCheckSum | Integer (16 bits) | Checksum if BCC-16 or CRC-16 is used |