Closed collin80 closed 8 years ago
7 Day Bump! Have you been able to reproduce this bug? Having to manually check GATT characteristics is sub-optimal.
Thanks for filing the issue, we received the email alert. Unfortunately no we haven't had a chance to look into this yet since we're a small team that manages literally hundreds of custom products, in addition to new product development and support, so we can't be instantly reactive on every issue that gets filed, but this is why tickets exist with an open and close system. We'll post here once we're able to reproduce the issue and get a fix out if appropriate, and the maintainer of that section of code is aware of the problem you raised. Thanks!
BTW, this is really the wrong repo for this request, which should be in https://github.com/adafruit/Adafruit_BluefruitLE_nRF51. I'm going to close this issue and move it as a new issue over there.
I asked someone to have a look at this issue next week. If you want to post a comment in the new thread in the right repo you'll get an alert when a BETA firmware is available. Thanks!
As in the topic, setting a callback on two GATT characteristics, as the example does, works fine. Three works fine. Four locks up the sketch hard as a stone. I've tried delays in between, changing the order, everything I can think of. I tried doing the things that setBleGattRxCallback does but manually in my sketch and it still locks up. There doesn't appear to be a way to get four or more callbacks registered at the same time. It's pretty easy to confim this, just a small edit to the callback example to add two more GATT callbacks will cause the example to lock up too. So far as I can tell this is a firmware bug of some sort.
Another thing I tried was calling setBleGattRxCallback once and then manually using lines like: AT+EVENTENABLE=0x0,0x2000
To enable more GATT callbacks (this seems undocumented but I think I'm doing it properly). This will still lock up at the 4th registered callback. The call never seems to return.