BB.Error.Invalid.Feetech.StallTorque exception (bb_servo_feetech v0.7.0)

Copy Markdown View Source

A servo's rated stall torque isn't known, so effort can't be scaled.

Raised at startup, once the servo on the bus has reported its model number. These servos take a torque ceiling as a fraction of what they can produce, so turning a BB.Message.Actuator.Command.Effort in newton metres into a torque_limit needs the rating — and nothing on the bus reports it.

Every mode accepts Effort, so an unrecognised servo refuses to start rather than accepting effort commands it would have to guess at. Set :stall_torque on the actuator from the servo's specification table and it will start.

Summary

Types

t()

@type t() :: %BB.Error.Invalid.Feetech.StallTorque{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  model_number: integer(),
  path: term(),
  servo_id: non_neg_integer(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}

Functions

exception(args)

@spec exception(opts :: Keyword.t()) :: %BB.Error.Invalid.Feetech.StallTorque{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  model_number: term(),
  path: term(),
  servo_id: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}

Create an Elixir.BB.Error.Invalid.Feetech.StallTorque without raising it.

Keys

  • :servo_id
  • :model_number