Ejemplo n.º 1
0
 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')
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)