Diferencia entre revisiones de «APIenglish»
De Proyecto Butiá
(→The Butiá API in Python) |
(→Functions and properties) |
||
Línea 74: | Línea 74: | ||
robot.find_butias() | robot.find_butias() | ||
robot.getBatteryCharge() | robot.getBatteryCharge() | ||
+ | robot.getFirmwareVersion() | ||
+ | robot.getVersion() | ||
+ | robot.get_butia_count() #the number of usb4butia board connected | ||
+ | robot.get_modules_list() #the list of devices connected (in all boards) | ||
+ | robot.isPresent(device) #check if device is present | ||
+ | robot.loopBack(data) #send 'data' to the board and read the return | ||
+ | robot.reconnect() | ||
+ | robot.refresh() | ||
+ | |||
+ | Sensors | ||
+ | |||
robot.getButton(port) | robot.getButton(port) | ||
robot.getDistance(port) | robot.getDistance(port) | ||
− | |||
robot.getGray(port) | robot.getGray(port) | ||
− | |||
robot.getLight(port) | robot.getLight(port) | ||
robot.getResistance(port) | robot.getResistance(port) | ||
robot.getTemperature(port) | robot.getTemperature(port) | ||
− | |||
robot.getVoltage(port) | robot.getVoltage(port) | ||
− | robot. | + | robot.setLed(port, on) #if on 1, turn on the LED, if 0, turn off |
− | + | ||
− | + | Hack pins | |
− | + | ||
− | robot.modeHack(pin, mode) #pin number. mode 0 means input and 1 ouput | + | robot.modeHack(pin, mode) #pin number. mode 0 means input and 1 ouput |
− | robot. | + | robot.setHack(pin, value) #pin number, value is 0 (GND) and 1 (VCC) |
− | robot. | + | robot.getHack(pin) #read the value of the pin |
− | robot.set2MotorSpeed(leftSense, leftSpeed, rightSense, rightSpeed) #sense is 0 or 1, speed is between 0 and 1023 | + | |
− | + | Motors | |
− | + | ||
− | robot.setMotorSpeed(idMotor, sense, speed) #idMotor 0 for left motor, 1 for right | + | robot.set2MotorSpeed(leftSense, leftSpeed, rightSense, rightSpeed) #sense is 0 or 1, speed is between 0 and 1023 |
+ | robot.setMotorSpeed(idMotor, sense, speed) #idMotor 0 for left motor, 1 for right |
Revisión del 07:11 27 feb 2013
See also API in Spanish. Note, the API now uses English syntax as from Turtlebots V17
Butiá can be used in many forms as a consumable service through the network as is the case of the bobot server directly using the bobot library or through various APIs such as C, Java, Python
The Butiá API in Python
Description of the function and various examples.
In a XO, for use from Python or Pippy begin your code with:
import sys sys.path.insert(0, '/home/olpc/Activities/TurtleBots.activity/plugins/butia/pybot')
Now, import the usb4butia library:
import usb4butia
Create an instance of the class:
robot = usb4butia.USB4Butia()
Functions and properties
Items in 'quotes' uncertain usage and syntax
'bb' robot.callModule(modulename, function, params ) robot.close() #close communication with the bobot server 'debug' 'drivers_loaded' 'find_butias' robot.getBatteryCharge() #the battery charge, -1 if no motor connected robot.getButton(port) #port: to the connector that the button sensor is connected, J2 is port 1 etc. robot.getDistance(port) robot.getFirmwareVersion() #return the version of the firmware inside the pic robot.getGray(port) 'getHack' robot.getLight(port) 'getResistance' 'getTemperature' 'getVersion' 'getVoltage' 'get_all_drivers' 'get_butia_count' 'get_driver' robot.get_modules_list() #returns the list of modules available in the Butia board's firmware 'hotplug' robot.isPresent(modulename) #Returns if the module is present robot.loopBack(data) #Send a message to the board and expect to receive exactly what was sent 'modeHack' 'modules' 'openables' robot.reconnect(address, port) #connect or reconnect to the bobot at address:port 'refresh' robot.set2MotorSpeed(self, directionleft, speedleft, directionright, speedright) 'setHack' 'setLed' robot.setMotorSpeed(self, idMotor, direction, speed) dir(robot) #get all properties and functions
The new fucntions:
robot._bb robot._drivers_loaded robot._debug robot._get_all_drivers() robot._get_driver() robot._hotplug() robot._modules() robot._openables robot.callModule(modulename, board_number, number, function, params) robot.close() robot.find_butias() robot.getBatteryCharge() robot.getFirmwareVersion() robot.getVersion() robot.get_butia_count() #the number of usb4butia board connected robot.get_modules_list() #the list of devices connected (in all boards) robot.isPresent(device) #check if device is present robot.loopBack(data) #send 'data' to the board and read the return robot.reconnect() robot.refresh()
Sensors
robot.getButton(port) robot.getDistance(port) robot.getGray(port) robot.getLight(port) robot.getResistance(port) robot.getTemperature(port) robot.getVoltage(port) robot.setLed(port, on) #if on 1, turn on the LED, if 0, turn off
Hack pins
robot.modeHack(pin, mode) #pin number. mode 0 means input and 1 ouput robot.setHack(pin, value) #pin number, value is 0 (GND) and 1 (VCC) robot.getHack(pin) #read the value of the pin
Motors
robot.set2MotorSpeed(leftSense, leftSpeed, rightSense, rightSpeed) #sense is 0 or 1, speed is between 0 and 1023 robot.setMotorSpeed(idMotor, sense, speed) #idMotor 0 for left motor, 1 for right