def getAllConnectedInterface():
        """
        returns all the connected devices which matches PyUSB.vid/PyUSB.pid.
        returns an array of PyUSB (Interface) objects
        """
        # find all devices matching the vid/pid specified
        dev = usb.core.find(idVendor=0x2886, idProduct=0x0007)

        if not dev:
            logging.debug("No device connected")
            return []

        interface_number = -1

        # get active config
        config = dev.get_active_configuration()

        # iterate on all interfaces:
        #    - if we found a HID interface
        for interface in config:
            if interface.bInterfaceClass == 0x03:
                interface_number = interface.bInterfaceNumber
                break

        if interface_number == -1:
            return []

        try:
            if dev.is_kernel_driver_active(interface_number):
                dev.detach_kernel_driver(interface_number)
        except Exception as e:
            print(e)

        ep_in, ep_out = None, None
        for ep in interface:
            if ep.bEndpointAddress & 0x80:
                ep_in = ep
            else:
                ep_out = ep

        """If there is no EP for OUT then we can use CTRL EP"""
        if not ep_in:
            logging.error('Endpoints not found')
            return []

        board = PyUSB()
        board.ep_in = ep_in
        board.ep_out = ep_out
        board.dev = dev
        board.intf_number = interface_number
        board.start_rx()

        return [board]
returns all the connected devices which matches PyUSB.vid/PyUSB.pid.
        returns an array of PyUSB (Interface) objects