Fixed hard-coded configurationIndex value when setting USB configuration on a USB device

This commit is contained in:
Nav
2022-10-02 13:28:27 +01:00
parent 28cbeb6fc4
commit afffaafc86
2 changed files with 8 additions and 4 deletions

View File

@@ -55,9 +55,13 @@ namespace Bloom::Usb
this->libusbDeviceHandle.reset(deviceHandle);
}
void UsbDevice::setConfiguration(int configIndex) {
void UsbDevice::setConfiguration(std::uint8_t configurationIndex) {
::libusb_config_descriptor* configDescriptor = {};
int libusbStatusCode = ::libusb_get_config_descriptor(this->libusbDevice.get(), 0, &configDescriptor);
auto libusbStatusCode = ::libusb_get_config_descriptor(
this->libusbDevice.get(),
configurationIndex,
&configDescriptor
);
if (libusbStatusCode < 0) {
throw DeviceInitializationFailure(

View File

@@ -33,9 +33,9 @@ namespace Bloom::Usb
/**
* Selects a specific configuration on the device, using the configuration index.
*
* @param configIndex
* @param configurationIndex
*/
virtual void setConfiguration(int configIndex);
virtual void setConfiguration(std::uint8_t configurationIndex);
virtual ~UsbDevice();