Skip to content

Conversation

@dhalbert
Copy link
Collaborator

@dhalbert dhalbert commented Jun 25, 2024

Changes:

  • In Adapter.c and Connection.c, busy-wait for incoming events using status variables, instead of using FreeRTOS task notification. This fixes some breaking out-of-order notifications I saw during GATT discovery, and and also allows for background tasks to run and also allows for ctrl-C interruption.
  • Characteristic observer when not present should have been mp_const_none, not NULL. This fixed a hard crash when there was no observer.
  • Use GATT_MAX_DATA_LENGTH, not 0, for default size of remote characteristics. When zero, the initial PacketBuffer ringbuf was set too small.
  • Retry a few times after occasional HS_BLE_EBUSY when starting a GAP scan.
  • A little cleanup here and there.

Tested with:

  • ble_ibbq_simpletest.py - iBBQ NutriChef thermometer
  • ble_heart_rate_simpletest.py - Schosche heart rate monitor
  • ble_uart_echo_test.py and ble_uart_echo_client.py - tested both directions, talking to an nRF52840.

@jedgarpark This should fix your iBBQ project issue.
@tyeth Does this solve #9304 for you?

@dhalbert dhalbert requested a review from tannewt June 25, 2024 19:23
@tyeth
Copy link
Member

tyeth commented Jun 25, 2024

Lovely, thanks for the work and ping, I'll probably get to it Thursday

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you for the fixes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Espressif BLE: iBBQ not working Espressif BLE: Heart Rate not working Espressif BLE: uart_echo_client not working: regression from 9.0.5

3 participants