def test_string(self): """Retrieve a string from its identifier.""" ftdis = [(0x403, 0x6010)] ft2232h = UsbTools.find_all(ftdis)[0] devdesc, _ = ft2232h dev = UsbTools.get_device(devdesc) serialn = UsbTools.get_string(dev, dev.iSerialNumber) self.assertEqual(serialn, 'FT2DEF')
def test_usb_device(self): """Demo instanciation from an existing UsbDevice. """ candidate = Ftdi.get_identifiers(self.ftdi_url) usbdev = UsbTools.get_device(candidate[0]) spi = SpiController(cs_count=1) spi.configure(usbdev, interface=candidate[1]) flash = SerialFlashManager.get_from_controller(spi, cs=0, freq=self.frequency)
def test_device(self): """Access and release FTDI device.""" ftdis = [(0x403, 0x6001)] ft232rs = UsbTools.find_all(ftdis) self.assertEqual(len(ft232rs), 1) devdesc, ifcount = ft232rs[0] self.assertEqual(ifcount, 1) dev = UsbTools.get_device(devdesc) self.assertIsNotNone(dev) UsbTools.release_device(dev)
def open(self, vendor=0x0403, product=None, interface=1, index=0, serial=None, description=None): """Open a new interface to the specified FTDI device""" self.usb_dev = UsbTools.get_device(vendor, product, index, serial, description) # detect invalid interface as early as possible config = self.usb_dev.get_active_configuration() if interface > config.bNumInterfaces: raise FtdiError('No such FTDI port: %d' % interface) self._set_interface(config, interface) self.max_packet_size = self._get_max_packet_size() self._reset_device() self.set_latency_timer(self.LATENCY_MIN)
def open(self, vendor, product, index=0, serial=None, interface=1): """Open a new interface to the specified FTDI device""" self.usb_dev = UsbTools.get_device(vendor, product, index, serial) try: self.usb_dev.set_configuration() except usb.core.USBError: pass # detect invalid interface as early as possible config = self.usb_dev.get_active_configuration() if interface > config.bNumInterfaces: raise FtdiError('No such FTDI port: %d' % interface) self._set_interface(config, interface) self.max_packet_size = self._get_max_packet_size() # Drain input buffer self.purge_buffers() self._reset_device() self.set_latency_timer(self.LATENCY_MIN)