示例#1
0
 def calibrate(self):
     message = Message()
     message.id = 31
     message.ctrl = 0x03
     self.dobot.lock.acquire()
     self.dobot._send_message(message)
     self.dobot.lock.release()
示例#2
0
 def _set_home_cmd(self, temp):
     msg = Message()
     msg.id = 31
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('i', temp)))
     return self._send_command(msg)
示例#3
0
文件: dobot.py 项目: phibla/pydobot
 def _set_home_cmd(self):
     msg = Message()
     msg.id = 31
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.append(0x00)
     return self._send_command(msg)
示例#4
0
 def _setHomeCmd(self):
     msg = Message()
     msg.id = 31
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('I', 0)))
     return self._send_command(msg)
示例#5
0
 def _set_io_multiplexing(self, address, mode):
     msg = Message()
     msg.id = 130
     msg.ctrl = 0x03
     msg.params = bytearray(struct.pack('B', address))
     msg.params.extend(bytearray(struct.pack('B', mode)))
     return self._send_command(msg)
示例#6
0
 def _get_queued_cmd_current_index(self):
     msg = Message()
     msg.id = GET_QUEUED_CMD_CURRENT_INDEX
     response = self._send_command(msg)
     # sometimes (when a command is running?) the returned struct has more than the index, but the index seems to
     # always be the last 8 bytes
     return struct.unpack("L", response.params[-8:])[0]
示例#7
0
 def _set_ptp_l_params(self, velocity, acceleration):
     msg = Message()
     msg.id = 85
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', velocity)))
     msg.params.extend(bytearray(struct.pack('f', acceleration)))
     return self._send_command(msg)
示例#8
0
 def index(self):
     msg = Message()
     msg.id = 246
     msg.ctrl = 0x00
     self.i = struct.unpack_from('i', response.params, 0)[0]
     return self._send_command(msg)
     if self.verbose:
         print("index: %i" % (self.i))
示例#9
0
 def _set_ptp_jump_params(self, jump, limit):
     msg = Message()
     msg.id = 82
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', jump)))
     msg.params.extend(bytearray(struct.pack('f', limit)))
     return self._send_command(msg)
示例#10
0
文件: JOG.py 项目: Rikitardi/dobotPA
 def _set_jog_cmd(self, isJoint, cmd):
     msg = Message()
     msg.id = 73
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([isJoint]))
     msg.params.extend(bytearray(struct.pack('i', cmd)))
     return self._send_command(msg)
示例#11
0
    def get_hht_trig_output(self) -> bool:

        msg = Message()
        msg.id = 41
        msg.ctrl = 0

        response = self._send_command(msg)
        return bool(struct.unpack_from('B', response.params, 0)[0])
示例#12
0
 def _get_pose_l(self):
     msg = Message()
     msg.id = 13
     response = self._send_command(msg)
     self.l = struct.unpack_from('f', response.params, 0)[0]
     if self.verbose:
         print("pydobot: l:%03.1f" % (self.l))
     return response
示例#13
0
 def _set_jog_command(self, cmd):
     msg = Message()
     msg.id = 73
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x0]))
     msg.params.extend(bytearray([cmd]))
     return self._send_command(msg)
示例#14
0
 def _get_queued_cmd_current_index(self):
     msg = Message()
     msg.id = 246
     response = self._send_command(msg)
     if response and response.id == 246:
         return self._extract_cmd_index(response)
     else:
         return -1
示例#15
0
 def get_color_sensor(self):
     msg = Message()
     msg.id = 137
     msg.ctrl = 0x00
     response = self._send_command(msg)
     # return response
     print(response)
     return struct.unpack_from('?', response.params, 0)[0]
示例#16
0
 def set_color_sensor(self):
     msg = Message()
     msg.id = 137
     msg.ctrl = 0x02
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x00]))  # enable
     msg.params.extend(bytearray([0x03]))  # port5
     return self._send_command(msg)
示例#17
0
 def set_infrared_sensor(self):
     msg = Message()
     msg.id = 138
     msg.ctrl = 0x02
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x00]))  # enable
     msg.params.extend(bytearray([0x01]))  # port2
     return self._send_command(msg)
示例#18
0
 def _set_io_pwm(self, address, f, d):
     msg = Message()
     msg.id = 132
     msg.ctrl = 0x03
     msg.params = bytearray(struct.pack('B', address))
     msg.params.extend(bytearray(struct.pack('f', f)))
     msg.params.extend(bytearray(struct.pack('f', d)))
     return self._send_command(msg)
示例#19
0
文件: dobot.py 项目: remintz/pydobot
 def _set_ptp_common_params(self, velocity, acceleration):
     msg = Message()
     msg.id = 83
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', velocity)))
     msg.params.extend(bytearray(struct.pack('f', acceleration)))
     return self._send_command(msg)
示例#20
0
文件: info.py 项目: Rikitardi/dobotPA
 def devicesn(self):
     msg = Message()
     msg.id = 0
     msg.ctrl = 0x00
     response = self._send_command(msg)
     self.ret = struct.unpack_from('char', response.params)
     if self.verbose:
         print("pydobot: " % self.ret)
     return response
示例#21
0
 def _set_device_with_l(self, with_l, version):
     msg = Message()
     msg.id = 3
     msg.ctrl = 0x01
     msg.params = bytearray([])
     msg.params.extend(bytearray([with_l]))
     msg.params.extend(bytearray([version]))
     msg.params.append(0x00)
     return self._send_command(msg)
示例#22
0
    def set_hht_trig_output(self, state: bool) -> None:

        msg = Message()
        msg.id = 41
        msg.ctrl = 0x02
        msg.params = bytearray([])
        msg.params.extend(bytearray(struct.pack('B', int(state))))

        self._send_command(msg)
示例#23
0
 def _set_end_effector_params(self, x, y, z):
     msg = Message()
     msg.id = SET_END_EFFECTOR_PARAMS
     msg.ctrl = 0x02
     msg.params = bytearray([])
     msg.params.extend(struct.pack('f', x))
     msg.params.extend(struct.pack('f', y))
     msg.params.extend(struct.pack('f', z))
     return self._send_command(msg)
示例#24
0
 def _set_stepper_motor(self, speed):
     msg = Message()
     msg.id = 135
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x00]))
     msg.params.extend(bytearray([0x01]))
     print(speed)
     msg.params.extend(bytearray(struct.pack('i', int(speed))))
     return self._send_command(msg)
示例#25
0
def empty():
    msg = Message()
    msg.id = 62
    msg.ctrl = 0x03
    #dist=msg.pose()

    msg.params = bytearray([])
    msg.params.extend(bytearray([0x00]))
    msg.params.extend(bytearray([0x00]))
    return device._send_command(msg)
示例#26
0
 def _set_home_coordinate(self, x, y, z, r):
     msg = Message()
     msg.id = 30
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', x)))
     msg.params.extend(bytearray(struct.pack('f', y)))
     msg.params.extend(bytearray(struct.pack('f', z)))
     msg.params.extend(bytearray(struct.pack('f', r)))
     return self._send_command(msg)
示例#27
0
 def _set_ptp_coordinate_params(self, velocity, acceleration):
     msg = Message()
     msg.id = SET_PTP_COORDINATE_PARAMS
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', velocity)))
     msg.params.extend(bytearray(struct.pack('f', velocity)))
     msg.params.extend(bytearray(struct.pack('f', acceleration)))
     msg.params.extend(bytearray(struct.pack('f', acceleration)))
     return self._send_command(msg)
示例#28
0
文件: dobot.py 项目: remintz/pydobot
 def _set_cp_cmd(self, x, y, z):
     msg = Message()
     msg.id = 91
     msg.ctrl = 0x03
     msg.params = bytearray(bytes([0x01]))
     msg.params.extend(bytearray(struct.pack('f', x)))
     msg.params.extend(bytearray(struct.pack('f', y)))
     msg.params.extend(bytearray(struct.pack('f', z)))
     msg.params.append(0x00)
     return self._send_command(msg)
示例#29
0
 def _set_cp_cmd(self, x, y, z):
     msg = Message()
     msg.id = 91
     msg.ctrl = 0x03
     msg.params = bytearray(bytes([0x01]))
     msg.params.extend(bytearray(struct.pack('f', x)))
     msg.params.extend(bytearray(struct.pack('f', y)))
     msg.params.extend(bytearray(struct.pack('f', z)))
     msg.params.append(0x00)
     return self._send_command(msg)
示例#30
0
文件: dobot.py 项目: remintz/pydobot
 def _set_ptp_cmd(self, x, y, z, r, mode):
     msg = Message()
     msg.id = 84
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([mode]))
     msg.params.extend(bytearray(struct.pack('f', x)))
     msg.params.extend(bytearray(struct.pack('f', y)))
     msg.params.extend(bytearray(struct.pack('f', z)))
     msg.params.extend(bytearray(struct.pack('f', r)))
     return self._send_command(msg)
示例#31
0
文件: dobot.py 项目: remintz/pydobot
 def _set_end_effector_suction_cup(self, suck=False):
     msg = Message()
     msg.id = 62
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x01]))
     if suck is True:
         msg.params.extend(bytearray([0x01]))
     else:
         msg.params.extend(bytearray([0x00]))
     return self._send_command(msg)
示例#32
0
 def _set_ptp_cmd(self, x, y, z, r, mode, wait):
     msg = Message()
     msg.id = 84
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([mode]))
     msg.params.extend(bytearray(struct.pack('f', x)))
     msg.params.extend(bytearray(struct.pack('f', y)))
     msg.params.extend(bytearray(struct.pack('f', z)))
     msg.params.extend(bytearray(struct.pack('f', r)))
     return self._send_command(msg, wait)
示例#33
0
 def _set_end_effector_gripper(self, enable=False):
     msg = Message()
     msg.id = 63
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x01]))
     if enable is True:
         msg.params.extend(bytearray([0x01]))
     else:
         msg.params.extend(bytearray([0x00]))
     return self._send_command(msg)
示例#34
0
文件: dobot.py 项目: gtesalt/pydobot
    def _set_cp_params(self, velocity, acceleration, period):

        msg = Message()
        msg.id = 90
        msg.ctrl = 0x3
        msg.params = bytearray([])
        msg.params.extend(bytearray(struct.pack('f', acceleration)))
        msg.params.extend(bytearray(struct.pack('f', velocity)))
        msg.params.extend(bytearray(struct.pack('f', period)))
        msg.params.extend(bytearray([0x0]))  # non real-time mode (what does it mean??)
        return self._send_command(msg)
示例#35
0
文件: dobot.py 项目: remintz/pydobot
 def _get_pose(self):
     msg = Message()
     msg.id = 10
     response = self._send_command(msg)
     self.x = struct.unpack_from('f', response.params, 0)[0]
     self.y = struct.unpack_from('f', response.params, 4)[0]
     self.z = struct.unpack_from('f', response.params, 8)[0]
     self.r = struct.unpack_from('f', response.params, 12)[0]
     self.j1 = struct.unpack_from('f', response.params, 16)[0]
     self.j2 = struct.unpack_from('f', response.params, 20)[0]
     self.j3 = struct.unpack_from('f', response.params, 24)[0]
     self.j4 = struct.unpack_from('f', response.params, 28)[0]
     if self.verbose:
         print("pydobot: x:%03.1f y:%03.1f z:%03.1f r:%03.1f j1:%03.1f j2:%03.1f j3:%03.1f j4:%03.1f" %
               (self.x, self.y, self.z, self.r, self.j1, self.j2, self.j3, self.j4))
     return response