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

PERSISTANT_STORAGE with dongle w/ mesh SDK crashes.

I am trying to get 2 of the nRF52840 dongles provisioned on a mesh network (client + server).  (versions nRF5_SDK_15.3.0_59ac345 / nrf5SDKforMeshv310src)

I am using examples from the light switch example + made adjustments to the button and LED assignments.  Also, I had to add defines for LED_START/LED_END to the PCA10059 config because they are missing.

---

I also added both the additional lines needed in flash_placement.xml:

To FLASH segment:
<ProgramSection
alignment="4" keep="Yes" load="Yes" name=".nrf_mesh_flash" inputsections="*(SORT(.nrf_mesh_flash.*))" address_symbol="__start_nrf_mesh_flash" end_symbol="__stop_nrf_mesh_flash"/>
To RAM segment:
<ProgramSection
alignment="4" keep="Yes" load="No" name=".nrf_mesh_ram" inputsections="*(SORT(.nrf_mesh_ram.*))" address_symbol="__start_nrf_mesh_ram" end_symbol="__stop_nrf_mesh_ram"/>

---

An error is being thrown on line 108 of mesh_config_backend.c by NRF_MESH_ASSERT:

NRF_MESH_ASSERT(p_file != NULL && p_file->p_backend_data != NULL);

--

...which is causing the sleep_forever() which lights up all the LED's

---

When I disable PERSISTANT_STORAGE by setting this = 0 in the Preproc Defs I am able to run the dongle firmware (both client/server)

I am able to see the nodes in IOS rF Mesh App, but when I try to identify it just hangs with the spinner. (prob because persistence is disabled.)

---

Can you guys please send me a link to any alpha/beta repos that might have a fix for this? It looks like the mesh_config_entry (p_entries) are maybe not getting configured properly.


Is there really no way send console output through the UART via serial on the USB port? Thats all I need for now, dont need j-link debug and all that..

Thanks,
Ryan
Parents Reply Children
  • I have the Server running, but the client does not. (Client is only running on the DK)  

    You say it not supported, but then in some answers on this forum, but they say in other places there is no reason it shouldn't run.   I think there is something wrong with the interrupt init on P1 for this board, which may be related because the SW1 button (P1.06) on the dongle is not working in either of your examples for the PCA10059

    I just purchased a couple of DK to debug, but I am not understanding why Nordic is selling a board that is perfect for Mesh SDK testing, but then not supporting it with any example code in the Mesh SDK. 

    You guys are getting a ton of questions about this because it's not clear why this is the case. 

    Thanks for the help,

    Ryan

  • Hi again. 

    Ryan said:
    You say it not supported, but then in some answers on this forum, but they say in other places there is no reason it shouldn't run.

     Yes, there isn't any reason that it shouldn't work on the dongle. It's just that we don't have any examples in the SDK for the dongle. 

     

    Ryan said:
    I just purchased a couple of DK to debug, but I am not understanding why Nordic is selling a board that is perfect for Mesh SDK testing, but then not supporting it with any example code in the Mesh SDK. 

     The only thing I can do about this is forward your feedback internally. Maybe in the future there will be support for the dongle in the nRF5 SDK for Mesh. 
    If you have any questions about 

     

    Ryan said:
    I think there is something wrong with the interrupt init on P1 for this board, which may be related because the SW1 button (P1.06) on the dongle is not working in either of your examples for the PCA10059

     This I can look into. 

    Best regards, 
    Joakim

  • Any luck looking into this?

    I got an implementation of the level server running on the dongle, but It would be great to have this button usable for testing mesh apps, like assigning it to remove the provisioning.  Right now I have a HEX file that auto clears the provisioning, but would be great to have the button.  I was able to get most of the GPIO's working that are on P0, so I think it has something to do with the interrupts for P1 on the dongle.  Please update this ticket when you have a have a chnce to look into this or hear of a solution.

    Thanks!

    Ryan

Related