Skip to content

Espressif BLE: Heart Rate not working #9338

Closed
@dhalbert

Description

@dhalbert

Testing on main (after #9325):

Run ble_heart_rate_simpletest on a Metro ESP32-S3. Does not work on 9.0.5 either.

Fixes and diagnoses already done:

  1. xTaskNotifyWait(0, 0, (uint32_t *)&error_code, 200); used several times. 200 is ticks. We changed ticks from 1 per 10msecs to 1 per msec in CONFIG_FREERTOS_HZ = 1000 #9134. I changed to use pdMS_TO_TICKS() to make it tick-length independent.
  2. xTaskNotifyWait() above may return error_code BLE_HS_EAGAIN, which has to be handled. I added a routine to handle that and called it in various places.
  3. In progress: The default characteristic size for a remote characteristic appears to be zero. By comparison, on nordic it's 20. The zero causes a PacketBuffer only big enough for a 2-byte length to be constructed. That then invokes code which never grows the packet buffer. Looking into this to see where the default characteristic size is set up.

Metadata

Metadata

Assignees

Labels

bleespressifapplies to multiple Espressif chips

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions