You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since the key omits the upper nibble of the address, it's impossible to store a pair of endpoints with opposite directions but the same endpoint number. The second insert has no effect (because the key already exits), and the newly created Endpoint is deleted.
A subsequent call to Interface::getEPNumberByIndex() throws std::logic_error(LibUSB::InterfaceImpl::getEPNumberByIndex(): Endpoint not found.)
The text was updated successfully, but these errors were encountered:
I have a device that has two bulk endpoints with addresses
0x05
and0x85
. Libusbcpp ignores the latter completely for the following reason.In
InterfaceImpl::CreateEndpoints()
, a newstd::shared_ptr<Endpoint>
namedpEndpoint
is created and then inserted into a std::map like so:Libusbpp/src/InterfaceImpl.cpp
Line 424 in 389ceea
The map key being generated by
Endpoint::Number
, which is implemented like so:Libusbpp/src/EndpointImpl.cpp
Line 57 in 389ceea
Since the key omits the upper nibble of the address, it's impossible to store a pair of endpoints with opposite directions but the same endpoint number. The second
insert
has no effect (because the key already exits), and the newly createdEndpoint
is deleted.A subsequent call to
Interface::getEPNumberByIndex()
throwsstd::logic_error(LibUSB::InterfaceImpl::getEPNumberByIndex(): Endpoint not found.)
The text was updated successfully, but these errors were encountered: