Exemple #1
0
    def test_equality(self):
        p = packet.InstructionPacket(4, pt.WRITE_DATA,
                                     [pt.ANGLE_LIMITS.addr, 34, 0, 68, 0])
        p2 = packet.InstructionPacket(4, pt.WRITE_DATA,
                                      [pt.ANGLE_LIMITS.addr, 34, 0, 68, 0])

        self.assertEqual(p.data, p2.data)
        self.assertEqual(p, p2)
        self.assertTrue(not p != p2)
Exemple #2
0
    def test_comexc(self):
        #temp = tempfile.TemporaryFile()
        p = packet.InstructionPacket(4, pt.WRITE_DATA, [pt.ANGLE_LIMITS.addr, 34, 0, 68, 0])

        exc = serialcom.CommunicationError('bla', p, p)
        s = pickle.dumps(exc)
        exc2 = pickle.loads(s)

        self.assertEqual(exc, exc2)
        self.assertEqual(exc.inst_packet, exc2.inst_packet)
Exemple #3
0
from __future__ import print_function, division
import time
import sys

from pydyn.refs import protocol as pt
from pydyn.ios.serialio import serialio, serialcom, packet
from pydyn import color

sio = serialio.Serial(device_type='USB2Serial', latency=1, timeout=2)
print('I/O open on {}{}{}'.format(color.cyan, sio, color.end))
mcom = serialcom.SerialCom(sio)
detected = [mid for mid in range(0, 253) if mcom.ping(mid)]
print('detected: {}'.format(detected))

assert len(detected) == 1
mid = detected[0]

print('You are about to RESET the motor with id {}.'.format(mid))
print('Are you sure (y/N): ', end='')
s = raw_input()
if s != 'y':
    print('Exiting without changes')
    sys.exit()

print('Reseting...')
reset_packet = packet.InstructionPacket(mid, pt.RESET)
mcom._send_packet(reset_packet)

time.sleep(1.0)
print('Done.')
Exemple #4
0
 def test_write_packet(self):
     p = packet.InstructionPacket(4, pt.WRITE_DATA,
                                  [pt.ANGLE_LIMITS.addr, 34, 0, 68, 0])
     self.assertEqual(list(p.data),
                      [255, 255, 4, 7, 3, 6, 34, 0, 68, 0, 133])
Exemple #5
0
 def test_ping_packet(self):
     p = packet.InstructionPacket(3, pt.PING)
     self.assertEqual(p.mid, 3)
     self.assertEqual(p.instruction, pt.PING)
     self.assertEqual(p.length, len(p.params) + 2)
     self.assertTrue(len(p) == p.length + 4 == 6)