Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
arbotix_python.arbotix.ArbotiX Class Reference

This class controls an ArbotiX, USBDynamixel, or similar board through a serial connection. More...

List of all members.

Public Member Functions

def __init__
 Constructs an ArbotiX instance, optionally opening the serial connection.
def __write__
def closePort
def disableTorque
 Turn on the torque of a servo.
def disableWheelMode
 Put a servo into servo mode.
def enableTorque
 Turn on the torque of a servo.
def enableWheelMode
 Put a servo into wheel mode (continuous rotation).
def execute
 Send an instruction to the device.
def getAnalog
 Get the value of an analog input pin.
def getDigital
 Get the value of an digital input pin.
def getGoalSpeed
 Get the goal speed of a servo.
def getPacket
 Read a dynamixel return packet in an iterative attempt.
def getPosition
 Get the position of a servo.
def getReturnLevel
 Get the return level of a device.
def getSpeed
 Get the speed of a servo.
def getTemperature
 Get the temperature of a device.
def getVoltage
 Get the voltage of a device.
def isMoving
 Determine if a device is moving.
def openPort
def read
 Read values of registers.
def rescan
 Force the ArbotiX2 to rescan the Dynamixel busses.
def setBaud
 Set baud rate of a device.
def setDigital
 Get the value of an digital input pin.
def setLed
 Set the status of the LED on a servo.
def setPosition
 Set the position of a servo.
def setReturnLevel
 Set the return level of a device.
def setServo
 Set the position of a hobby servo.
def setSpeed
 Set the speed of a servo.
def setWheelSpeed
 Set the speed and direction of a servo which is in wheel mode (continuous rotation).
def syncRead
 Read values of registers on many servos.
def syncWrite
 Write values to registers on many servos.
def write
 Write values to registers.

Public Attributes

 error
 The last error level read back.

Static Public Attributes

int ANA_BASE = 18
 Register address of first analog port (read only).
int BACKWARD = 1
 Direction definition for setWheelSpeed.
int FORWARD = 0
 Direction definition for setWheelSpeed.
int HIGH = 0xff
 Helper definition for analog and digital access.
int INPUT = 0
 Helper definition for analog and digital access.
int LOW = 0
 Extended ArbotiX Driver.
int OUTPUT = 0xff
 Helper definition for analog and digital access.
int REG_DIGITAL_IN0 = 5
 Register base address for reading digital ports.
int REG_DIGITAL_IN1 = 6
int REG_DIGITAL_IN2 = 7
int REG_DIGITAL_IN3 = 8
int REG_DIGITAL_OUT0 = 47
int REG_RESCAN = 15
 Register address for triggering rescan.
int SERVO_BASE = 26
 Register address of analog servos.

Private Attributes

 _mutex
 _ser

Detailed Description

This class controls an ArbotiX, USBDynamixel, or similar board through a serial connection.

Definition at line 42 of file arbotix.py.


Constructor & Destructor Documentation

def arbotix_python.arbotix.ArbotiX.__init__ (   self,
  port = "/dev/ttyUSB0",
  baud = 115200,
  timeout = 0.1,
  open_port = True 
)

Constructs an ArbotiX instance, optionally opening the serial connection.

Parameters:
portThe name of the serial port to open.
baudThe baud rate to run the port at.
timeoutThe timeout to use for the port. When operating over a wireless link, you may need to increase this.
openWhether to open immediately the serial port.

Definition at line 54 of file arbotix.py.


Member Function Documentation

def arbotix_python.arbotix.ArbotiX.__write__ (   self,
  msg 
)

Definition at line 68 of file arbotix.py.

Definition at line 82 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.disableTorque (   self,
  index 
)

Turn on the torque of a servo.

Parameters:
indexThe ID of the device to disable.
Returns:
The error level.

Definition at line 278 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.disableWheelMode (   self,
  index,
  resolution = 10 
)

Put a servo into servo mode.

Parameters:
indexThe ID of the device to write.
resolutionThe resolution of the encoder on the servo. NOTE: if using 12-bit resolution servos (EX-106, MX-28, etc), you must pass resolution = 12.
Returns:

Definition at line 395 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.enableTorque (   self,
  index 
)

Turn on the torque of a servo.

Parameters:
indexThe ID of the device to enable.
Returns:
The error level.

Definition at line 270 of file arbotix.py.

Put a servo into wheel mode (continuous rotation).

Parameters:
indexThe ID of the device to write.

Definition at line 384 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.execute (   self,
  index,
  ins,
  params,
  ret = True 
)

Send an instruction to the device.

Parameters:
indexThe ID of the servo to write.
insThe instruction to send.
paramsA list of the params to send.
retWhether to read a return packet.
Returns:
The return packet, if read.

Definition at line 149 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getAnalog (   self,
  index,
  leng = 1 
)

Get the value of an analog input pin.

Parameters:
indexThe ID of the pin to read (0 to 7).
lengThe number of bytes to read (1 or 2).
Returns:
8-bit/16-bit analog value of the pin, -1 if error.

Definition at line 466 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getDigital (   self,
  index 
)

Get the value of an digital input pin.

Parameters:
indexThe ID of the pin to read (0 to 31).
Returns:
0 for low, 255 for high, -1 if error.

Definition at line 478 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getGoalSpeed (   self,
  index 
)

Get the goal speed of a servo.

Parameters:
indexThe ID of the device to read.
Returns:
The servo goal speed.

Definition at line 340 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getPacket (   self,
  mode,
  id = -1,
  leng = -1,
  error = -1,
  params = None 
)

Read a dynamixel return packet in an iterative attempt.

Parameters:
modeThis should be 0 to start reading packet.
Returns:
The error level returned by the device.

Definition at line 90 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getPosition (   self,
  index 
)

Get the position of a servo.

Parameters:
indexThe ID of the device to read.
Returns:
The servo position.

Definition at line 316 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getReturnLevel (   self,
  index 
)

Get the return level of a device.

Parameters:
indexThe ID of the device to read.
Returns:
The return level, .

Definition at line 249 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getSpeed (   self,
  index 
)

Get the speed of a servo.

Parameters:
indexThe ID of the device to read.
Returns:
The servo speed.

Definition at line 328 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getTemperature (   self,
  index 
)

Get the temperature of a device.

Parameters:
indexThe ID of the device to read.
Returns:
The temperature, in degrees C.

Definition at line 363 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.getVoltage (   self,
  index 
)

Get the voltage of a device.

Parameters:
indexThe ID of the device to read.
Returns:
The voltage, in Volts.

Definition at line 352 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.isMoving (   self,
  index 
)

Determine if a device is moving.

Parameters:
indexThe ID of the device to read.
Returns:
True if servo is moving.

Definition at line 374 of file arbotix.py.

Definition at line 75 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.read (   self,
  index,
  start,
  length 
)

Read values of registers.

Parameters:
indexThe ID of the servo.
startThe starting register address to begin the read at.
lengthThe number of bytes to read.
Returns:
A list of the bytes read, or -1 if failure.

Definition at line 176 of file arbotix.py.

Force the ArbotiX2 to rescan the Dynamixel busses.

Definition at line 456 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setBaud (   self,
  index,
  baud 
)

Set baud rate of a device.

Parameters:
indexThe ID of the device to write (Note: ArbotiX is 253).
baudThe baud rate.
Returns:
The error level.

Definition at line 241 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setDigital (   self,
  index,
  value,
  direction = 0xff 
)

Get the value of an digital input pin.

Parameters:
indexThe ID of the pin to write (0 to 31).
valueThe value of the port, >0 is high.
directionThe direction of the port, >0 is output.
Returns:
-1 if error.

Definition at line 500 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setLed (   self,
  index,
  value 
)

Set the status of the LED on a servo.

Parameters:
indexThe ID of the device to write.
value0 to turn the LED off, >0 to turn it on
Returns:
The error level.

Definition at line 288 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setPosition (   self,
  index,
  value 
)

Set the position of a servo.

Parameters:
indexThe ID of the device to write.
valueThe position to go to in, in servo ticks.
Returns:
The error level.

Definition at line 298 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setReturnLevel (   self,
  index,
  value 
)

Set the return level of a device.

Parameters:
indexThe ID of the device to write.
valueThe return level.
Returns:
The error level.

Definition at line 262 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setServo (   self,
  index,
  value 
)

Set the position of a hobby servo.

Parameters:
indexThe ID of the servo to write (0 to 7).
valueThe position of the servo in milliseconds (1500-2500). A value of 0 disables servo output.
Returns:
-1 if error.

Definition at line 520 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setSpeed (   self,
  index,
  value 
)

Set the speed of a servo.

Parameters:
indexThe ID of the device to write.
valueThe speed to write.
Returns:
The error level.

Definition at line 308 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.setWheelSpeed (   self,
  index,
  direction,
  speed 
)

Set the speed and direction of a servo which is in wheel mode (continuous rotation).

Parameters:
indexThe ID of the device to write.
directionThe direction of rotation, either FORWARD or BACKWARD
speedThe speed to move at (0-1023).
Returns:

Definition at line 413 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.syncRead (   self,
  servos,
  start,
  length 
)

Read values of registers on many servos.

Parameters:
servosA list of the servo IDs to read from.
startThe starting register address to begin reading at.
lengthThe number of bytes to read from each servo.
Returns:
A list of bytes read.

Definition at line 231 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.syncWrite (   self,
  start,
  values 
)

Write values to registers on many servos.

Parameters:
startThe starting register address to begin writing to.
valuesThe data to write, in a list of lists. Format should be [(id1, val1, val2), (id2, val1, val2)]

Definition at line 202 of file arbotix.py.

def arbotix_python.arbotix.ArbotiX.write (   self,
  index,
  start,
  values 
)

Write values to registers.

Parameters:
indexThe ID of the servo.
startThe starting register address to begin writing to.
valuesThe data to write, in a list.
Returns:
The error level.

Definition at line 192 of file arbotix.py.


Member Data Documentation

Definition at line 54 of file arbotix.py.

Definition at line 54 of file arbotix.py.

Register address of first analog port (read only).

Each additional port is BASE + index.

Definition at line 448 of file arbotix.py.

Direction definition for setWheelSpeed.

Definition at line 402 of file arbotix.py.

The last error level read back.

Definition at line 55 of file arbotix.py.

Direction definition for setWheelSpeed.

Definition at line 400 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 430 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 432 of file arbotix.py.

Extended ArbotiX Driver.

Helper definition for analog and digital access.

Definition at line 428 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 434 of file arbotix.py.

Register base address for reading digital ports.

Definition at line 439 of file arbotix.py.

Definition at line 440 of file arbotix.py.

Definition at line 441 of file arbotix.py.

Definition at line 442 of file arbotix.py.

Definition at line 453 of file arbotix.py.

Register address for triggering rescan.

Definition at line 444 of file arbotix.py.

Register address of analog servos.

Up to 10 servos, each uses 2 bytes (L, then H), pulse width (0, 1000-2000ms) (Write only)

Definition at line 451 of file arbotix.py.


The documentation for this class was generated from the following file:


arbotix_python
Author(s): Michael Ferguson
autogenerated on Sat Jun 8 2019 19:34:55