Hi,
I have a nrf52840 DK (pca10056) and a nrf52840 Dongle (pca10059).
I am using the following SDK versions:
nRF5_SDK_15.2.0_9412b96
nRF5_SDK_for_Thread_and_Zigbee_2
And the s140_nrf52_6.1.0_softdevice.hex
I am working with the multiprotocol support for BLE and Thread using the following example:
nRF5_SDK_for_Thread_and_Zigbee_2/multiprotocol/ble_thread_dyn_proximity
I have created a gcc project using the example and have been able to successfully flash the pca10056 board and get it to work successfully. I am using nrfutil in the last step to flash the binaries and everything works as expected with BLE and Thread.
Next I have created a copy of the project and then have modified the board definition pre-processor to PCA10059 and then have rebuilt it and flashed it to the pca10059 device (dongle). Unfortunately it does not work. However, I have been debugging it and have been able to narrow it down. If I disable the thread functionality (comment out the thread_instance_init and other thread methods) then the BLE part works flawlessly and I can interact with the dongle from my phone using nrf connect. As soon as I call thread_instance_init, then everything stops working (including BLE). I have pinpointed it to:
mp_ot_instance = otInstanceInitSingle();
At this point it fails, so it looks like it fails to initiate the thread functionality.
Unfortunately I don't have access to the logs.
I have been using the openthread libraries included with the Nordic SDK and have tried to build them from scratch using the open thread code but the result has been the same.
Can anyone think of a reason why the otInstanceInitSingle() fails? It is working with no issues in the pca10056 board.
Thanks
Manuel