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 and opens the serial connection.
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 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 38 of file arbotix.py.


Constructor & Destructor Documentation

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

Constructs an ArbotiX instance and opens 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.

Definition at line 48 of file arbotix.py.


Member Function Documentation

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 268 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 385 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 260 of file arbotix.py.

Put a servo into wheel mode (continuous rotation).

Parameters:
indexThe ID of the device to write.

Definition at line 374 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 124 of file arbotix.py.

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

Get the value of an analog input pin.

Parameters:
indexThe ID of the pin to read (0 to 7).
Returns:
8-bit analog value of the pin, -1 if error.

Definition at line 454 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 465 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 330 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 65 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 306 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 239 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 318 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 353 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 342 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 364 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 166 of file arbotix.py.

Force the ArbotiX2 to rescan the Dynamixel busses.

Definition at line 446 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 231 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 487 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 278 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 288 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 252 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 507 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 298 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 403 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 221 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 192 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 182 of file arbotix.py.


Member Data Documentation

Definition at line 48 of file arbotix.py.

Definition at line 48 of file arbotix.py.

Register address of first analog port (read only).

Each additional port is BASE + index.

Definition at line 438 of file arbotix.py.

Direction definition for setWheelSpeed.

Definition at line 392 of file arbotix.py.

The last error level read back.

Definition at line 49 of file arbotix.py.

Direction definition for setWheelSpeed.

Definition at line 390 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 420 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 422 of file arbotix.py.

Extended ArbotiX Driver.

Helper definition for analog and digital access.

Definition at line 418 of file arbotix.py.

Helper definition for analog and digital access.

Definition at line 424 of file arbotix.py.

Register base address for reading digital ports.

Definition at line 429 of file arbotix.py.

Definition at line 430 of file arbotix.py.

Definition at line 431 of file arbotix.py.

Definition at line 432 of file arbotix.py.

Definition at line 443 of file arbotix.py.

Register address for triggering rescan.

Definition at line 434 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 441 of file arbotix.py.


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


arbotix_python
Author(s): Michael Ferguson
autogenerated on Wed Aug 26 2015 10:44:20