예제 #1
0
def test_usb_match_linux_nxp(filter_usb_id: str, vid: str, pid: str, path: str,
                             expected: bool):
    with patch("platform.system", MagicMock(return_value="Linux")):
        usb_filter = NXPUSBDeviceFilter(usb_id=filter_usb_id)
        g_virtual_hid_device = {
            "vendor_id": int(vid, 0),
            "product_id": int(pid, 0),
            "path": path
        }

        assert usb_filter.compare(g_virtual_hid_device) == expected
예제 #2
0
def test_device_name_mac(filter_usb_id: str, vid: str, pid: str, path: str,
                         expected: bool):
    with patch("platform.system", MagicMock(return_value="Darwin")):
        usb_filter = NXPUSBDeviceFilter(usb_id=filter_usb_id,
                                        nxp_device_names=USB_DEVICES)
        g_virtual_hid_device = {
            "vendor_id": int(vid, 0),
            "product_id": int(pid, 0),
            "path": path
        }

        assert usb_filter.compare(g_virtual_hid_device) == expected
예제 #3
0
def scan_usb(device_name: str = None) -> Sequence[Interface]:
    """Scan connected USB devices. Return a list of all devices found.

    :param device_name: see USBDeviceFilter classes constructor for usb_id specification
    :return: list of matching RawHid devices
    """
    usb_filter = NXPUSBDeviceFilter(usb_id=device_name, nxp_device_names=USB_DEVICES)
    return RawHid.enumerate(usb_filter)
예제 #4
0
def scan_usb(device_id: str = None) -> List["RawHid"]:
    """Scan connected USB devices.

    :param device_id: see USBDeviceFilter classes constructor for usb_id specification
    :return: list of matching RawHid devices
    """
    usb_filter = NXPUSBDeviceFilter(usb_id=device_id,
                                    nxp_device_names=USB_DEVICES)
    return RawHid.enumerate(usb_filter)