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

Reply via email to