nRF5 SDK for Mesh v1.0.1
Coexistence with other Nordic SDKs

NOTE:

nRF5 SDK integration

If you plan to use an example from the nRF5 SDK in combination with the mesh stack, move the mesh stack repository into the Nordic nRF5 SDK examples folder and include the necessary source files in the Nordic nRF5 SDK project that you want to use.

To do so, make the following changes:

If there is no particular nRF5 SDK example that you want to start with, but instead you want to use some of the nRF5 SDK modules, it might be easier to move the respective nRF5 SDK modules into the mesh stack repository and create an example project using one of the methods provided by the mesh stack repository.

nRF5 SDK NVM storage modules

Using nRF5 SDK modules such as fstorage, pstorage, or ble_flash for writing to flash may be problematic due to long timeslot events occupied by the mesh stack. Use the Flash manager module provided by the mesh stack instead.

Furthermore, when writing to flash, ensure to not write or erase areas utilized by the mesh stack modules and the bootloader (if present). By default, the mesh modules utilize the last x number of pages before the start of the bootloader, if present, or the last x number of pages of the available flash on the Nordic SoC. The value of x depends on the configuration of the mesh stack and can be calculated by:

x = 1 + ACCESS_FLASH_PAGE_COUNT + DSM_FLASH_PAGE_COUNT + NET_FLASH_PAGE_COUNT

SoftDevice

SoftDevice events

The mesh stack relies on receiving the events generated by the SoftDevice for proper functioning. The SoftDevice may generate events relevant only to the application, only to the mesh stack, or both for application and the mesh stack. Therefore, it is important that the SoftDevice events reported via SD_EVT_IRQHandler and extracted via sd_evt_get are processed by the mesh stack as well as the relevant application handlers.

Concurrent SoftDevice and mesh activity

By design, the SoftDevice activity is prioritized over mesh activity. Therefore, you should keep the connection and advertisement intervals used by the SoftDevice as large as possible (i.e. infrequent) when using Bluetooth low energy connections. If scanning, keep the scan duty cycle as low as possible. You should also reduce mesh activity while the SoftDevice is doing fast advertising and continue normal activity after a connection is established.


Documentation feedback | Developer Zone | Subscribe | Updated