示例#1
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)
示例#2
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)
示例#3
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)
示例#4
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)
示例#5
0
 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)
示例#6
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)
示例#7
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)
示例#8
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)
示例#9
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)
示例#10
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)
示例#11
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)
示例#12
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)
示例#13
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)
示例#14
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)
示例#15
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)
示例#16
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)
示例#17
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)
示例#18
0
 def set_home(self, home: DobotPosition):
     message = Message()
     message.id = 30
     message.ctrl = 0x03
     message.params = bytearray([])
     message.params.extend(bytearray(struct.pack('f', home.x)))
     message.params.extend(bytearray(struct.pack('f', home.y)))
     message.params.extend(bytearray(struct.pack('f', home.z)))
     message.params.extend(bytearray(struct.pack('f', home.r_head)))
     self.dobot._send_message(message)
     self.home = home
示例#19
0
 def get_infrared_sensor(self):
     msg = Message()
     msg.id = 138
     msg.ctrl = 0x00
     msg.params = bytearray([])
     msg.params.extend(bytearray([0x01]))  # port2
     msg.params.extend(bytearray([0x01]))  # value
     response = self._send_command(msg)
     # return response
     print(response)
     return struct.unpack_from('?', response.params, 0)[0]
示例#20
0
 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)
示例#21
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)
示例#22
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)
示例#23
0
 def _set_ptp_cmd(self, x, y, z, r, mode, sync):
     msg = Message()
     msg.id = SET_PTP_CMD
     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)))
     response = self._send_command(msg, sync=sync)
     return response
示例#24
0
    def _set_cple_cmd(self, x, y, z, power, absolute=False):

        assert 0 <= power <= 100

        msg = Message()
        msg.id = 92
        msg.ctrl = 0x3
        msg.params = bytearray([int(absolute)])
        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', power)))
        return self._send_command(msg)
示例#25
0
    def io_adc(self, address: int) -> int:
        """
        Read the I/O analog-digital conversion value.

        :param address: I/O port address(1~20)
        :return: I/O analog-digital conversion value
        """

        message = Message()
        message.id = 134
        message.params = bytearray([address])
        response = self.dobot._send_command(message, wait=True)
        assert False  # TODO: Return correct value
示例#26
0
    def set_io(self, address: int, state: bool):

        if not 1 <= address <= 22:
            raise DobotException("Invalid address range.")

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

        self.wait_for_cmd(self._extract_cmd_index(self._send_command(msg)))
示例#27
0
    def foo_suck_3(self):
        time.sleep(0.1)

        # command = bytes([0xAA, 0xAA, 4, 131, 0x03, self.checksum])
        command = Message()
        command.len = 2 + 2
        command.id = 131
        command.params = bytes([0x12, 0x00])
        command.header = bytes([0xAA, 0xAA])
        command.ctrl = 0x03
        print(command.bytes())
        # command.checksum = None

        self.ser.write(command.bytes())
示例#28
0
 def _set_ptp_joint_params(self, v_x, v_y, v_z, v_r, a_x, a_y, a_z, a_r):
     msg = Message()
     msg.id = 80
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', v_x)))
     msg.params.extend(bytearray(struct.pack('f', v_y)))
     msg.params.extend(bytearray(struct.pack('f', v_z)))
     msg.params.extend(bytearray(struct.pack('f', v_r)))
     msg.params.extend(bytearray(struct.pack('f', a_x)))
     msg.params.extend(bytearray(struct.pack('f', a_y)))
     msg.params.extend(bytearray(struct.pack('f', a_z)))
     msg.params.extend(bytearray(struct.pack('f', a_r)))
     return self._send_command(msg)
示例#29
0
 def _set_end_effector_laser(self, power=255, enable=False):
     """Enables the laser. Power from 0 to 255. """
     msg = Message()
     msg.id = 61
     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]))
     # Assuming the last byte is power. Seems to have little effect
     msg.params.extend(bytearray([power]))
     return self._send_command(msg)
示例#30
0
 def _set_arc_cmd(self, x, y, z, r, cir_x, cir_y, cir_z, cir_r):
     msg = Message()
     msg.id = 101
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', cir_x)))
     msg.params.extend(bytearray(struct.pack('f', cir_y)))
     msg.params.extend(bytearray(struct.pack('f', cir_z)))
     msg.params.extend(bytearray(struct.pack('f', cir_r)))
     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
 def _set_stepper_motor(self, speed, interface=0, motor_control=True):
     msg = Message()
     msg.id = 0x87
     msg.ctrl = 0x03
     msg.params = bytearray([])
     if interface == 1:
         msg.params.extend(bytearray([0x01]))
     else:
         msg.params.extend(bytearray([0x00]))
     if motor_control is True:
         msg.params.extend(bytearray([0x01]))
     else:
         msg.params.extend(bytearray([0x00]))
     msg.params.extend(bytearray(struct.pack('i', speed)))
     return self._send_command(msg)
示例#32
0
 def move_with_conveyor(self,
                        destination: DobotPosition,
                        conveyor_position: int,
                        ptp_mode=default_ptp_mode):
     message = Message()
     message.id = 86
     message.ctrl = 0x03
     message.params = bytearray([])
     message.params.extend(bytearray([ptp_mode]))
     message.params.extend(bytearray(struct.pack('f', destination.x)))
     message.params.extend(bytearray(struct.pack('f', destination.y)))
     message.params.extend(bytearray(struct.pack('f', destination.z)))
     message.params.extend(bytearray(struct.pack('f', destination.r_head)))
     message.params.extend(bytearray(struct.pack('f', conveyor_position)))
     self.dobot._send_command(message, wait=True)
示例#33
0
 def _set_jog_coordinate_params(self,
                                vx,
                                vy,
                                vz,
                                vr,
                                ax=100,
                                ay=100,
                                az=100,
                                ar=100):
     msg = Message()
     msg.id = 71
     msg.ctrl = 0x03
     msg.params = bytearray([])
     msg.params.extend(bytearray(struct.pack('f', vx)))
     msg.params.extend(bytearray(struct.pack('f', vy)))
     msg.params.extend(bytearray(struct.pack('f', vz)))
     msg.params.extend(bytearray(struct.pack('f', vr)))
     msg.params.extend(bytearray(struct.pack('f', ax)))
     msg.params.extend(bytearray(struct.pack('f', ay)))
     msg.params.extend(bytearray(struct.pack('f', az)))
     msg.params.extend(bytearray(struct.pack('f', ar)))
     return self._send_command(msg)
示例#34
0
 def _set_home_cmd(self):
     msg = Message()
     msg.id = 31
     msg.ctrl = 0x03
     msg.params = bytearray([])
     return self._send_command(msg)