BB.Error.Protocol.Ufactory.CommandRejected exception (bb_ufactory v0.1.0)

Copy Markdown View Source

Raised when the xArm returns a non-zero status byte in a command response.

The UFactory Modbus-TCP response frame (port 502) has the format:

[Transaction ID: u16 BE] [Protocol: u16 BE] [Length: u16 BE]
[Register: u8] [Status: u8] [Params: binary]

A status of 0x00 means success. Any non-zero status means the arm rejected or failed to execute the command. See the xArm Developer Manual V1.10.0, section 2.1.5 for the full status byte table.

Note: The controller currently operates in fire-and-forget mode and does not read back command responses. This error type is provided for use when synchronous response handling is added (e.g. for gripper position confirmation or F/T sensor enable acknowledgement).

Summary

Functions

exception(args)

@spec exception(opts :: Keyword.t()) :: %BB.Error.Protocol.Ufactory.CommandRejected{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  description: term(),
  path: term(),
  register: term(),
  splode: term(),
  stacktrace: term(),
  status_byte: term(),
  vars: term()
}

Create an Elixir.BB.Error.Protocol.Ufactory.CommandRejected without raising it.

Keys

  • :register
  • :status_byte
  • :description