-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setVid and setPid seems to be broken since NimBLE-Arduino 1.4.2 #229
Comments
Could this possibly be linked to this upstream issue?. The old behaviour was that there was some bit-shifting happening to the vid and pid values before they got stored in m_pnpCharacteristic. Looking BleGamepad::begin, I noticed that the high and low bytes for the vid and pid values are getting swapped before being passed to the pnp function call to set pnp values - maybe they values don't need to be swapped anymore? |
@microbmen Can confirm that getting rid of the high/low byte flipping that was occuring with the VID, PID and GUID values before they were sent to NimBLE fixed the problem for me. Seems that upstream they removed the need for those bytes to be flipped. Submitted a PR to fix the issue. Tested by running the First I ran the sketch with the old behaviour and the following string was returned in Windows device manager for the Hardware IDs property: Then I re-ran the sketch with the fix applied that removes the VID, PID and GUID high/low bytes reversal and received the following: I also tested this fix over in my EPS32-BLE-CompositeHID fork with my Xbox controller sketch. The VID and PID are vital for convincing Windows to load the correct |
Something changed on NimBLE-Arduino on version 1.4.2,
bleGamepadConfig.setVid(0xe502);
bleGamepadConfig.setPid(0xabcd);
Doesn't work any longer. No matter what its the same value
VID=0x02e5, PID=0xcdab
even if set to the above or anything else....
when i downgrade to NimBLE-Arduino 1.4.1 this works again.
The text was updated successfully, but these errors were encountered: