def find_first_device_or_simulate(self): simulated_device = SimulatedUSB() try: fd = FindDevices() result, usb_info = fd.list_usb() log.debug(" USB ID strings: %s" % usb_info[0]) (vid, pid) = usb_info[0].split(':')[0:2] except: log.debug("Error find devices: %s" % str(sys.exc_info())) try: real_device = CameraUSB() log.debug("Attempt real device connection") if real_device.connect(9386, pid): log.debug("Succesfull connection to: %s" % pid) return real_device except: log.debug("Exception %s" % str(sys.exc_info())) pass log.debug("Return simulated device") simulated_device.assign("Stroker785L") simulated_device.serial_number = "Simulated Stroker785L" return simulated_device
def test_no_device_connection(self): # Devices are on from setup, turn off manually here and wait self.ensure_all_off(self.phd_relay) time.sleep(1) ud = CameraUSB() vid = 0x24aa pid = 0x0009 result = ud.connect(vid, pid) self.assertFalse(result) fd = FindDevices() result, serial = fd.get_serial(vid, pid) self.assertFalse(result) self.assertTrue(ud.disconnect())
def setUp(self): self.relay = relay.Relay() self.fd = FindDevices() self.vid = 0x24aa self.pid = 0x0009
class Test(unittest.TestCase): def setUp(self): self.relay = relay.Relay() self.fd = FindDevices() self.vid = 0x24aa self.pid = 0x0009 def test_get_serial(self): self.ensure_all_off(self.relay) time.sleep(1) result, dev_list = self.fd.get_serial(self.vid, self.pid) self.assertFalse(result) self.assertEquals(dev_list, "serial_failure") # Assumes a wasatch camera is plugged into USB self.ensure_all_on(self.relay) time.sleep(10) # Get the device list manually result, dev_list = self.fd.get_serial(self.vid, self.pid) self.assertTrue(result) self.assertNotEqual(dev_list, "serial_failure") # Arbitrary requirement that serial number has to be at least # 3 chars self.assertTrue(len(dev_list) > 3) def test_list_usb(self): # With no devices powered, ensure the list is empty self.ensure_all_off(self.relay) time.sleep(1) result, usb_list = self.fd.list_usb() self.assertTrue(result) self.assertEqual(usb_list, []) # Connect devices, ensure at least one is listed self.ensure_all_on(self.relay) # As of 2015-08-15 11:06 certain devices are not available on # the bus on odroid for way too long. Give them time to # initialize before trying to read the usb descriptor. # Sometimes even 20 seconds is not long enough. time.sleep(20) result, usb_list = self.fd.list_usb() print "List is: %s" % usb_list self.assertTrue(result) self.assertTrue(len(usb_list) == 1) self.assertTrue("24aa" in str(usb_list)) def ensure_all_off(self, relay): self.assertTrue(relay.zero_off()) self.assertTrue(relay.one_off()) self.assertTrue(relay.two_off()) self.assertTrue(relay.three_off()) return True def ensure_all_on(self, relay): self.assertTrue(relay.zero_on()) self.assertTrue(relay.one_on()) self.assertTrue(relay.two_on()) self.assertTrue(relay.three_on()) return True