-
-
Notifications
You must be signed in to change notification settings - Fork 157
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
NimBLEHIDDevice does not report PNP info and manufacturer string properly #492
Comments
I'm unsure what is going on here, I'll have a look into it. |
Update on this issue: void NimBLEHIDDevice::pnp(uint8_t sig, uint16_t vid, uint16_t pid, uint16_t version)
{
//uint8_t pnp[] = {sig, (uint8_t)(vid >> 8), (uint8_t)vid, (uint8_t)(pid >> 8), (uint8_t)pid, (uint8_t)(version >> 8), (uint8_t)version};
uint8_t pnp[] = {
sig,
((uint8_t *)&vid)[0],
((uint8_t *)&vid)[1],
((uint8_t *)&pid)[0],
((uint8_t *)&pid)[1],
((uint8_t *)&version)[0],
((uint8_t *)&version)[1]
};
m_pnpCharacteristic->setValue(pnp, sizeof(pnp));
} |
Manufacturer string seems to be properly set, from my test with nRF Connect on Android. I found this post that suggests a bug in the Windows API when retrieving the manufacturer string (which seems to extend to model number and revision strings): |
Fixed issue h2zero#492
Fixed issue h2zero#492
Fixed issue h2zero#492
This should now be resolved. |
Steps to reproduce
NimBLEHIDDevice
instance.manufacturer()->setValue()
.pnp()
Example code:
BLE_VENDOR_ID
and the other constants are non-zero.Expected behavior
At the hosting PC, the PNP device enumeration should show the given VID and PID, along with the manufacturer string.
Actual behavior
The hosting PC show VID=0, PID=0 and an empty manufacturer string.
The text was updated successfully, but these errors were encountered: