app_error_weak.c, 105, Mesh assert at 0x0002D7B4 (:0)

Dear All:

  We run a simple message model in light_switch_client and light_switch_server code.

After provisioning the two nodes via nRFmesh app and set pubilsh in clent and subscribe in the server using the app.

Then we can use the button1/2 in the client as a interrupt to control the light on/off in the server.

Now we hope to test the command "status = generic_onoff_client_set(&m_clients[0], &set_params, &transition_params)" once ", when some flag is true in the while loop.

but then I receive the message of app_error_weak.c,  105, Mesh assert at 0x0002D7B4 (:0)

How can we fixed the error?

Best regards,

ShengHua

Parents Reply
  • Hi ShengHua, 

    If you configure your mesh with NRF_MESH_IRQ_PRIORITY_LOWEST you should always call Mesh API in an interrupt (like you have already figured out). 

    If you configure your mesh with NRF_MESH_IRQ_PRIORITY_THREAD , then you should check your application and make sure no API is called inside a interrupt handler. 

    If you have an error, please use addr2line tool to find where the error is. Error 15 is NRF_ERROR_FORBIDDEN, most likely the function was called from an interrupt handler which is forbidden when you configure your mesh with NRF_MESH_IRQ_PRIORITY_THREAD 

Children
Related