-
-
Notifications
You must be signed in to change notification settings - Fork 86
Open
Description
Version: 2.3.4
I updated from 2.3.2 to 2.3.4 and one of my target devices fails during a subscribe with:
E (16166) NimBLERemoteCharacteristic: ble_gattc_disc_all_dscs: rc=3 One or more arguments are invalid
So, I dutifully hacked in some debug to dump the arguments:
...
E (15958) NimBLERemoteCharacteristic: 1 = 0, 2 = 77, 3 = 83, 4 = 0x4011e454, 5 = 0x3ffd9bb4
...
E (16158) NimBLERemoteCharacteristic: 1 = 0, 2 = 82, 3 = 76, 4 = 0x4011e454, 5 = 0x3ffd9bb4
E (16166) NimBLERemoteCharacteristic: ble_gattc_disc_all_dscs: rc=3 One or more arguments are invalid
Note that argument 2, the handle, is now beyond the 'end handle' returned by getRemoteService()->getEndHandle() and the end handle has changed.
The usage pattern is:
- pChr1 = pSvc->getCharacteristic(UUID1);
- pChr2 = pSvc->getCharacteristic(UUID2);
- pChr2->subscribe(UUID2A);
- pChr1->subscribe(UUID1A);
As this was working before, I backed up to 2.3.3 and got this output:
...
E (18026) NimBLERemoteCharacteristic: 1 = 0, 2 = 77, 3 = 83, 4 = 0x4011e3c4, 5 = 0x3ffd9c24
...
E (18227) NimBLERemoteCharacteristic: 1 = 0, 2 = 82, 3 = 83, 4 = 0x4011e3c4, 5 = 0x3ffd9c24
Note the end handle has not changed as before in the failure case.
I didn't bisect to confirm, but I'm fairly sure this is caused by #387.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels