def get_feature_report(report_number, buffer_size = nil)

      buffer_size ||= input_ep_max_packet_size

      mutex.synchronize do
        handle.control_transfer(
            bmRequestType: LIBUSB::REQUEST_TYPE_CLASS | LIBUSB::RECIPIENT_INTERFACE | LIBUSB::ENDPOINT_IN,
            bRequest: 0x01,   # HID Get_Report
            wValue: (3 << 8) | report_number,
            wIndex: interface,
            dataIn: buffer_size
        )
      end

    end
def get_feature_report(report_number, buffer_size = nil)

      buffer_size ||= input_ep_max_packet_size

      mutex.synchronize do
        handle.control_transfer(
            bmRequestType: LIBUSB::REQUEST_TYPE_CLASS | LIBUSB::RECIPIENT_INTERFACE | LIBUSB::ENDPOINT_IN,
            bRequest: 0x01,   # HID Get_Report
            wValue: (3 << 8) | report_number,
            wIndex: interface,
            dataIn: buffer_size
        )
      end

    end
Gets a feature report from the device.