Hi, I'm working with NimBLE on ESP32 (ESP-IDF v4.0b2), and I'm running into unusual behavior.
I've got 3 custom services plus two "standard services" (DIS & Battery). One custom service is the Nordic UART service, and the remaining two specific to my application. Each has several characteristics (some r/w, some notifying). I'm connecting from iOS (13), using my own app & also LightBlue Explorer as my primary debugging tool. I'm connecting, and seeing the connection within the NimBLE logs. My app will start to discover services (using a fixed list), or when I connect via Light Blue it will try to discover all services. But nothing happens, no further messages come across the logs, and then there is a disconnect. NimBLE shows a reason code of 531 (0x213, Remote User Terminated Connection). However, the app is not explicitly doing so. There's 25-30 seconds between the connection and disconnection. If I connect in Light Blue, it connects, then spends a while Interrogating, and then it disconnects. But this isn't 100% consistent. Sometimes it works just fine, and sometimes I can watch it enumerate the characteristics at a pace of 1 every 2-3 seconds. I've basically got nothing else running on the ESP device (97-99% idle on each of the CPUs). There's a console available and debug output to a serial port, but nothing is taking up very much in the way of CPU time. If things always worked, or always didn't work, I'd be happier (consistenyt behavior is good). It's the inconsistencies that get me. Any ideas for how to go further in debugging this? david zuhn -- zoo @ statebeltrailway.org
