예제 #1
0
from time import sleep

from uf.wrapper.swift_api import SwiftAPI
from uf.utils.log import *
logger_init(logging.DEBUG)


def report_position(position):
    print("x:{x} y:{y} z:{z} ".format(x=position[0],
                                      y=position[1],
                                      z=position[2]))


swift = SwiftAPI()  # default by filters: {'hwid': 'USB VID:PID=2341:0042'}
sleep(2)
swift.send_cmd_sync("M2019")
"""Normally, all joint could be attach by command:

M17        # for all, or
M2201 N0~3 # for specified joint
detach by:

M2019      # for all, or
M2202 N0~3 # for specified joint
"""
swift.register_report_position_callback(report_position)
swift.set_report_position(1)

while (True):
    pass
# logger_init(logging.DEBUG)
# logger_init(logging.INFO)

print('setup swift ...')

# swift = SwiftAPI(dev_port = '/dev/ttyACM0')
# swift = SwiftAPI(filters = {'hwid': 'USB VID:PID=2341:0042'})
swift = SwiftAPI()  # default by filters: {'hwid': 'USB VID:PID=2341:0042'}


def report_position(data):
    print('data:', data)  # [x, y, z, r], r is wrist angle, ignore if not used


swift.register_report_position_callback(report_position)
swift.set_report_position(interval=0.5)  # 0.5 second (set 0 disable report)

print('sleep 2 sec ...')
sleep(2)

print('device info: ')
print(swift.get_device_info())

print('\nset X350 Y0 Z50 F500 ...')
swift.set_position(350, 0, 50, speed=1500)

print('set X340 ...')
swift.set_position(x=340)
print('set X320 ...')
swift.set_position(x=320)
print('set X300 ...')