コード例 #1
0
ファイル: mockusb.py プロジェクト: cruizdeg/pyftdi
 def test_list_devices(self):
     """List FTDI devices."""
     vid = 0x403
     vids = {'ftdi': vid}
     pids = {
         vid: {
             '230x': 0x6015,
             '232r': 0x6001,
             '232h': 0x6014,
             '2232h': 0x6010,
             '4232h': 0x6011,
         }
     }
     devs = UsbTools.list_devices('ftdi:///?', vids, pids, vid)
     self.assertEqual(len(devs), 6)
     ifmap = {0x6001: 1, 0x6010: 2, 0x6011: 4, 0x6014: 1, 0x6015: 1}
     for dev, desc in devs:
         strings = UsbTools.build_dev_strings('ftdi', vids, pids,
                                              [(dev, desc)])
         self.assertEqual(len(strings), ifmap[dev.pid])
         for url, _ in strings:
             parts, _ = UsbTools.parse_url(url, 'ftdi', vids, pids, vid)
             self.assertEqual(parts.vid, dev.vid)
             self.assertEqual(parts.pid, dev.pid)
             self.assertEqual(parts.bus, dev.bus)
             self.assertEqual(parts.address, dev.address)
             self.assertEqual(parts.sn, dev.sn)
     devs = UsbTools.list_devices('ftdi://:232h/?', vids, pids, vid)
     self.assertEqual(len(devs), 2)
     devs = UsbTools.list_devices('ftdi://:2232h/?', vids, pids, vid)
     self.assertEqual(len(devs), 1)
コード例 #2
0
ファイル: ftdi.py プロジェクト: valeruozi/pyftdi
    def get_identifiers(cls, url):
        """Extract the identifiers of a FTDI device from URL, if any

            :param url: input URL to parse
            :return: (vendor, product, index, sernum, interface)
        """
        ids = UsbTools.parse_url(url, cls, cls.SCHEME, cls.VENDOR_IDS,
                                 cls.PRODUCT_IDS, cls.DEFAULT_VENDOR)
        return ids
コード例 #3
0
ファイル: serialusb.py プロジェクト: pgrudzinski/pyftdi
 def open(self, devclass, scheme, vdict, pdict, default_vendor):
     """Open the initialized serial port"""
     from serial import SerialException
     if self._port is None:
         raise SerialException("Port must be configured before use.")
     try:
         vendor, product, interface, sernum, ix = UsbTools.parse_url(
             self.portstr, devclass, scheme, vdict, pdict, default_vendor)
     except UsbToolsError, e:
         raise SerialException(str(e))
コード例 #4
0
ファイル: serialusb.py プロジェクト: alexforencich/pyftdi
 def open(self, devclass, scheme, vdict, pdict, default_vendor):
     """Open the initialized serial port"""
     from serial import SerialException
     if self._port is None:
         raise SerialException("Port must be configured before use.")
     try:
         vendor, product, interface, sernum, ix = UsbTools.parse_url(
             self.portstr, devclass, scheme, vdict, pdict, default_vendor)
     except UsbToolsError, e:
         raise SerialException(str(e))
コード例 #5
0
ファイル: serialusb.py プロジェクト: shangdawei/pyftdi
 def open(self, devclass, scheme, vdict, pdict, default_vendor):
     """Open the initialized serial port"""
     from serial import SerialException
     if self._port is None:
         raise SerialException("Port must be configured before use.")
     try:
         vendor, product, interface, sernum, ix = UsbTools.parse_url(
             self.portstr, devclass, scheme, vdict, pdict, default_vendor)
     except UsbToolsError as e:
         raise SerialException(str(e))
     try:
         self.udev = devclass()
         self.udev.open(vendor, product, interface, ix, sernum)
         self.flushOutput()
         self.flushInput()
     except IOError:
         raise SerialException('Unable to open USB port %s' % self.portstr)
     self._set_open_state(True)
     self._reconfigurePort()
     self._product = product