311b8519af
MicroPython and NimBLE must be on the same core, for synchronisation of the BLE ringbuf and the MicroPython scheduler. However, in the current IDF versions (3.3 and 4.0) there are issues (see e.g. #5489) with running NimBLE on core 1. This change - pinning both tasks to core 0 - makes it possible to reliably run the BLE multitests on esp32 boards.
28 lines
862 B
Plaintext
28 lines
862 B
Plaintext
# Note this requires building with IDF 4.x
|
|
CONFIG_BT_ENABLED=y
|
|
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
|
|
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=
|
|
CONFIG_BTDM_CTRL_MODE_BTDM=
|
|
|
|
CONFIG_BT_NIMBLE_ENABLED=y
|
|
|
|
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=4
|
|
|
|
# Pin to the same core as MP.
|
|
# Until we move to IDF 4.2+, we need NimBLE on core 0, and for synchronisation
|
|
# with the ringbuffer and scheduler MP needs to be on the same core.
|
|
# See https://github.com/micropython/micropython/issues/5489
|
|
CONFIG_BT_NIMBLE_PINNED_TO_CORE_0=y
|
|
CONFIG_BT_NIMBLE_PINNED_TO_CORE_1=n
|
|
CONFIG_BT_NIMBLE_PINNED_TO_CORE=0
|
|
|
|
# v3.3-only (renamed in 4.0)
|
|
CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y
|
|
CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY=
|
|
CONFIG_BTDM_CONTROLLER_MODE_BTDM=
|
|
CONFIG_BLUEDROID_ENABLED=n
|
|
CONFIG_NIMBLE_ENABLED=y
|
|
CONFIG_NIMBLE_MAX_CONNECTIONS=4
|
|
CONFIG_NIMBLE_PINNED_TO_CORE_0=n
|
|
CONFIG_NIMBLE_PINNED_TO_CORE_1=y
|