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

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:
  • None (0)
  • BCC8 (1)
  • CRC16 (2)
  • BCC16 (3)
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:
  • None (0)
  • RepeatEnd (1)
  • ContinuousEnd (2)
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