This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Mesh light server with freeRTOS integration

I am currently working from an SDK16.0 peripheral example utilising freeRTOS and polling the softdevice (NRF_SDH_DISPATCH_MODEL == 2).

This has worked fine for nRF5 SDK based work, however I am now seeking to merge mesh functionality into the project.

I understand nordic hasn't tested rtos integration with mesh features yet. I was wondering if someone could comment on my current approach.

In terms of the mesh, I am basing this off the light switch server example with the goal of having a beaconing node using PB_ADV that I can provision using the android nRF Mesh app.

At this point I am not concerned with having support for GATT/GAP based devices, I simply want to prove that the mesh can work with the softdevice in a polled mode using freeRTOS.

For the mesh_stack_init_params_t I have set the irq_priority to NRF_MESH_IRQ_PRIORITY_THREAD. I have set a freeRTOS task that calls nrf_mesh_process().

Currently I have my provision bearer set to PB_ADV but I am unable to see any mesh beacon packets being sent (I expect these to come every 2 seconds) using a BLE sniffer.

If I run the light server example by itself I can see these packets fine.

Any idea if my current approach is sound or what might be causing these issues?

Related