Compare commits
No commits in common. 'e0a898d423723d8f80ee9e3cd55a1e10f879d11d' and '0fbc0c02e0df0fe8981e6289f746d0400ee26522' have entirely different histories.
e0a898d423
...
0fbc0c02e0
@ -1,104 +1,19 @@
|
|||||||
import time
|
import time
|
||||||
import threading
|
from glob import glob
|
||||||
import DobotDllType as dType
|
|
||||||
|
|
||||||
class Candybot:
|
from pydobot import Dobot
|
||||||
def __init__(self):
|
|
||||||
CON_STR = {
|
|
||||||
dType.DobotConnect.DobotConnect_NoError: "DobotConnect_NoError",
|
|
||||||
dType.DobotConnect.DobotConnect_NotFound: "DobotConnect_NotFound",
|
|
||||||
dType.DobotConnect.DobotConnect_Occupied: "DobotConnect_Occupied"}
|
|
||||||
|
|
||||||
#Load Dll
|
available_ports = glob('/dev/cu*usb*') # mask for OSX Dobot port
|
||||||
self.api = dType.load()
|
if len(available_ports) == 0:
|
||||||
|
print('no port found for Dobot Magician')
|
||||||
|
exit(1)
|
||||||
|
|
||||||
#Connect Dobot
|
device = Dobot(port=available_ports[0])
|
||||||
state = dType.ConnectDobot(self.api, "", 115200)[0]
|
|
||||||
print("Connect status:",CON_STR[state])
|
|
||||||
|
|
||||||
if (state == dType.DobotConnect.DobotConnect_NoError):
|
time.sleep(0.5)
|
||||||
|
device.speed(100)
|
||||||
#Clean Command Queued
|
device.go(250.0, 0.0, 25.0)
|
||||||
dType.SetQueuedCmdClear(self.api)
|
device.speed(10)
|
||||||
|
device.go(250.0, 0.0, 0.0)
|
||||||
#Async Motion Params Setting
|
time.sleep(2)
|
||||||
dType.SetHOMEParams(self.api, 250, 0, 50, 0, isQueued = 1)
|
device.close()
|
||||||
dType.SetJOGJointParams(self.api, 50, 50, 50, 50, 50, 50, 50, 50, isQueued = 1)
|
|
||||||
dType.SetJOGCommonParams(self.api, 100, 100, isQueued = 1)
|
|
||||||
|
|
||||||
#linear rail
|
|
||||||
dType.SetDeviceWithL(self.api, 1)
|
|
||||||
dType.SetJOGLParams(self.api, 50, 50, isQueued=0)
|
|
||||||
|
|
||||||
#Async Home
|
|
||||||
dType.SetHOMECmd(self.api, temp = 0, isQueued = 1)
|
|
||||||
|
|
||||||
def disconnect(self):
|
|
||||||
#Disconnect Dobot
|
|
||||||
dType.DisconnectDobot(self.api)
|
|
||||||
|
|
||||||
def base(self, direction):
|
|
||||||
if direction == 1:
|
|
||||||
dType.SetJOGCmd(self.api,1,1)
|
|
||||||
|
|
||||||
elif direction == -1:
|
|
||||||
dType.SetJOGCmd(self.api,1,2)
|
|
||||||
|
|
||||||
else :
|
|
||||||
return
|
|
||||||
threading.Timer(0.1,self.stop).start()
|
|
||||||
|
|
||||||
def rearArm(self, direction):
|
|
||||||
if direction == 1:
|
|
||||||
dType.SetJOGCmd(self.api,1,3)
|
|
||||||
|
|
||||||
elif direction == -1:
|
|
||||||
dType.SetJOGCmd(self.api,1,4)
|
|
||||||
|
|
||||||
else :
|
|
||||||
return
|
|
||||||
dType.SetWAITCmd(api, 1, isQueued=0)
|
|
||||||
#threading.Timer(0.1,self.stop).start()
|
|
||||||
|
|
||||||
def forearm(self, direction):
|
|
||||||
if direction == 1:
|
|
||||||
dType.SetJOGCmd(self.api,1,5)
|
|
||||||
|
|
||||||
elif direction == -1:
|
|
||||||
dType.SetJOGCmd(self.api,1,6)
|
|
||||||
|
|
||||||
else :
|
|
||||||
return
|
|
||||||
dType.SetWAITCmd(api, 1, isQueued=0)
|
|
||||||
#threading.Timer(0.1,self.stop).start()
|
|
||||||
|
|
||||||
def gripperRotation(self, direction):
|
|
||||||
if direction == 1:
|
|
||||||
dType.SetJOGCmd(self.api,1,7)
|
|
||||||
|
|
||||||
elif direction == -1:
|
|
||||||
dType.SetJOGCmd(self.api,1,8)
|
|
||||||
|
|
||||||
else :
|
|
||||||
return
|
|
||||||
dType.SetWAITCmd(api, 1, isQueued=0)
|
|
||||||
#threading.Timer(0.1,self.stop).start()
|
|
||||||
|
|
||||||
def linear(self, direction):
|
|
||||||
if direction == 1:
|
|
||||||
dType.SetJOGCmd(self.api,1,9)
|
|
||||||
|
|
||||||
elif direction == -1:
|
|
||||||
dType.SetJOGCmd(self.api,1,10)
|
|
||||||
|
|
||||||
else :
|
|
||||||
return
|
|
||||||
dType.SetWAITCmd(api, 1, isQueued=0)
|
|
||||||
#threading.Timer(0.1,self.stop).start()
|
|
||||||
|
|
||||||
|
|
||||||
def stop(self):
|
|
||||||
dType.SetJOGCmd(self.api, 1, 0)
|
|
||||||
|
|
||||||
def panic(self):
|
|
||||||
dType.SetQueuedCmdForceStopExec(self.api)
|
|
Loading…
Reference in new issue