Extract HID report size for EDBG debug tools via HID endpoint descriptor.

Removed hidapi bodge (where we were mimicking the hid_device_ struct, to
obtain the report size via `(hid_device_*)->input_ep_max_packet_size`).
This commit is contained in:
Nav
2023-01-14 03:03:10 +00:00
parent e3e37ace4b
commit dfaac9e30f
7 changed files with 84 additions and 82 deletions

View File

@@ -13,6 +13,7 @@ namespace Bloom::Usb
using LibusbContext = std::unique_ptr<::libusb_context, decltype(&::libusb_exit)>;
using LibusbDevice = std::unique_ptr<::libusb_device, decltype(&::libusb_unref_device)>;
using LibusbDeviceHandle = std::unique_ptr<::libusb_device_handle, decltype(&::libusb_close)>;
using LibusbConfigDescriptor = std::unique_ptr<::libusb_config_descriptor, decltype(&::libusb_free_config_descriptor)>;
class UsbDevice
{
@@ -47,6 +48,8 @@ namespace Bloom::Usb
std::vector<LibusbDevice> findMatchingDevices(std::uint16_t vendorId, std::uint16_t productId);
LibusbConfigDescriptor getConfigDescriptor(std::optional<std::uint8_t> configurationIndex = std::nullopt);
void detachKernelDriverFromInterface(std::uint8_t interfaceNumber);
void close();