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¶