pyuarm.uarm.UArm(port_name=None, logger=None, debug=False)¶Bases: object
connect()¶This function will open the port immediately. Function will wait for the READY Message for 5 secs. Once received READY message, Function will send the Version search command. :return:
disconnect()¶disconnect will release/close the uarm port :return:
firmware_version = None¶get_analog(pin)¶Get Analog Value from specific PIN :param pin: :return:
get_digital(pin)¶get_firmware_version()¶Get the firmware version. Protocol Cmd: protocol.GET_FIRMWARE_VERSION :return: firmware version, if failed return False
get_hardware_version()¶Get the Product version. Protocol Cmd: protocol.GET_HARDWARE_VERSION :return: firmware version, if failed return False
get_position()¶Get Current uArm position (x,y,z) mm :return: Returns an array of the format [x, y, z] of the robots current location
get_rom_data(address, data_type=1)¶Get DATA From EEPROM :param address: 0 - 2048 :param data_type: EEPROM_DATA_TYPE_FLOAT, EEPROM_DATA_TYPE_INTEGER, EEPROM_DATA_TYPE_BYTE :return:
get_servo_angle(servo_number=None)¶Get Current uArm Servo Angles include offset :param servo_number: if None, Return 4 servos Current Angles :return: Returns an angle in degrees, of the servo
get_simulation(x, y, z)¶validate the coordinate (x,y,z) if it can be reached or not. :param x: :param y: :param z: :return:
get_sn_number()¶Get Serial Number :return:
get_tip_sensor()¶Get Status from Tip Sensor :return: True On/ False Off
hardware_version = None¶is_connected()¶is_connected will return the uarm connected status :return: connected status
is_moving()¶Detect is uArm moving :return: Returns a 0 or a 1, depending on whether or not the robot is moving.
is_ready()¶set_buzzer(frequency, duration)¶Turn on the uArm Buzzer :param frequency: The frequency, in Hz :param duration: The duration of the buzz, in seconds :return:
set_gripper(catch)¶Turn On/Off Gripper :param catch: True On/ False Off :return:
set_position(x, y, z, speed=300, relative=False, wait=False)¶Move uArm to the position (x,y,z) unit is mm, speed unit is mm/sec :param x: :param y: :param z: :param speed: :return:
set_pump(ON)¶Control uArm Pump On or OFF :param ON: True On, False OFF :return: succeed True or Failed False
set_rom_data(address, data, data_type=1)¶Set DATA to EEPROM :param address: 0 - 2048 :param data: Value :param data_type: EEPROM_DATA_TYPE_FLOAT, EEPROM_DATA_TYPE_INTEGER, EEPROM_DATA_TYPE_BYTE :return:
set_servo_angle(servo_number, angle)¶Set uArm Servo Angle, 0 - 180 degrees, this Function will include the manual servo offset. :param servo_number: lease reference protocol.py SERVO_BOTTOM, SERVO_LEFT, SERVO_RIGHT, SERVO_HAND :param angle: 0 - 180 degrees :return: succeed True or Failed False
set_servo_attach(servo_number=None)¶Set Servo status attach, Servo Attach will lock the servo, You can’t move uArm with your hands. :param servo_number: If None, will attach all servos, please reference protocol.py SERVO_BOTTOM, SERVO_LEFT, SERVO_RIGHT, SERVO_HAND :return: succeed True or Failed False
set_servo_detach(servo_number=None)¶Set Servo status detach, Servo Detach will unlock the servo, You can move uArm with your hands. But move function won’t be effect until you attach. :param servo_number: If None, will detach all servos, please reference protocol.py SERVO_BOTTOM, SERVO_LEFT, SERVO_RIGHT, SERVO_HAND :return: succeed True or Failed False
set_wrist(angle)¶Set uArm Hand Wrist Angle. Include servo offset. :param angle: :return:
pyuarm.uarm.get_uarm(logger=None)¶It will return the first uArm Port detected by pyuarm.tools.list_uarms, If no available uArm ports, will print There is no uArm port available
>>> import pyuarm
>>> uarm = pyuarm.get_uarm()
There is no uArm port available
| Returns: | uArm() Instance |
|---|
TO-DO
pyuarm.tools.list_uarms.check_port_plug_in(serial_id)¶pyuarm.tools.list_uarms.get_port_property(port_name)¶pyuarm.tools.list_uarms.get_uarm_port_cli()¶pyuarm.tools.list_uarms.uarm_ports()¶pyuarm.tools.firmware.flash_firmware.download(url, filepath)¶pyuarm.tools.firmware.flash_firmware.exit_fun()¶pyuarm.tools.firmware.flash_firmware.flash(port, firmware_path, avrdude_path=None)¶pyuarm.tools.firmware.flash_firmware.gen_flash_cmd(port, firmware_path, avrdude_path=None)¶pyuarm.tools.firmware.flash_firmware.get_uarm_port_cli()¶pyuarm.tools.firmware.flash_firmware.resourcePath(relative_path)¶Get absolute path to resource, works for dev and for PyInstaller
pyuarm.tools.firmware.flash_firmware.uarm_ports(hardware_id='USB VID:PID=0403:6001')¶pyuarm.tools.calibration.calibrate.calibrate(port_name)¶pyuarm.tools.calibration.calibrate.exit_fun()¶pyuarm.tools.calibration.calibrate.get_serial_line(sp)¶pyuarm.tools.calibration.calibrate.read_completed_flag(uarm, flag_type)¶pyuarm.tools.calibration.calibrate.read_linear_offset(uarm)¶pyuarm.tools.calibration.calibrate.read_manual_offset(uarm)¶pyuarm.tools.miniterm.SerialMode(uarm)¶Bases: cmd.Cmd
default(line)¶do_EOF(args)¶do_quit(args)¶intro = 'Welcome to Serial Mode.'¶prompt = 'Serial >>> '¶uarm = None¶pyuarm.tools.miniterm.UArmCmd(port=None, debug=False, *args, **kwargs)¶Bases: cmd.Cmd
FIRMWARE = ['version', 'force', 'upgrade']¶ON_OFF = ['on', 'off']¶SERVO_STATUS = ['attach', 'detach']¶complete_pump(text, line, begidx, endidx)¶complete_servo(text, line, begidx, endidx)¶connect(port=None, debug=False)¶connect uArm. :param port: :return:
do_EOF(args)¶Quit, if uarm is connected, will disconnect before quit
do_alert(arg)¶alert control buzzer format: alert frequency duration eg. alert 1 1
do_connect(arg)¶connect, Open uArm Port, if more than one uArm Port found, will prompt options to choose. Please connect to uArm before you do any control action
do_disconnect(arg)¶disconnect, Release uarm port.
do_get_angle(arg)¶get_angle Read current servo angle. format: read_angle servo_number servo_number:
0 bottom servo, 1 left servo, 2 right servo,
if no servo_number provide, will list all servos angle eg. >>> get_angle Current Servo Angles: b:17.97, l:112.72, r:17.97, h:151.14
do_get_position(arg)¶get_position get current coordinate
do_help(arg)¶do_pump(arg)¶pump turn on/off pump
do_quit(args)¶Quit, if uarm is connected, will disconnect before quit
do_serial(arg)¶Raw Serial Mode You could direct input the communication protocol here.
do_servo(arg)¶Servo status format: servo attach servo_number
servo detach servo_number
do_set_angle(arg)¶set_angle format: write_angle servo_number angle servo_number:
0 bottom servo, 1 left servo, 2 right servo, 3 hand servo
eg. >>> set_angle 0 90 succeed
do_set_position(arg)¶set_position, move to destination coordinate. format: set_position X Y Z or move_to X Y Z S X,Y,Z unit millimeter, S means Speed, unit mm/s eg. set_position 100 200 150
do_sim(arg)¶sim format: sim X Y Z validate the coordinate. eg. sim 100 200 100 succeed
do_sp(args)¶same with set_position
help_msg = 'Shortcut:\nQuit: Ctrl + D, or input: quit\nClear Screen: Ctrl + L'¶intro = 'Welcome to use uArm Command Line - v0.1.4\nShortcut:\nQuit: Ctrl + D, or input: quit\nClear Screen: Ctrl + L\n\nInput help for more usage'¶prompt = '>>> '¶ruler = '-'¶uarm = None¶