Robotis (robotis v0.1.0)

Driver for interfacing with Robotis Dynmixel servos.

Link to this section Summary

Link to this section Types

@type connect() :: %{uart: pid()}
@type param() :: Robotis.ControlTable.param()
@type server() :: atom() | pid()
@type servo_id() :: byte()

Link to this section Functions

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

clear(pid, servo)

@spec clear(server(), servo_id()) :: :ok | {:error, any()}
Link to this function

factory_reset(pid, servo)

@spec factory_reset(server(), servo_id()) :: :ok | {:error, any()}
Link to this function

fast_sync_read(pid, servos, param)

@spec fast_sync_read(server(), [servo_id()], param()) :: [
  {servo_id(), {:ok, any()} | {:error, any()}}
]
@spec ping(server()) :: Robotis.Ping.result()
Link to this function

ping(pid, servo)

@spec ping(server(), servo_id()) :: Robotis.Ping.result()
Link to this function

read(pid, servo, param)

@spec read(server(), servo_id(), param()) :: {:ok, any()} | {:error, any()}
Link to this function

reboot(pid, servo)

@spec reboot(server(), servo_id()) :: :ok | {:error, any()}
Link to this function

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()
Link to this function

sync_write(pid, param, servos_and_values)

@spec sync_write(server(), param(), [{servo_id(), any()}]) :: :ok | {:error, any()}
Link to this function

write(pid, servo, param, value, await_status \\ false)

@spec write(server(), servo_id(), param(), any(), boolean()) :: :ok | {:error, any()}