NDT outside of Zephyr (specifically arduino)

Hi,

My ultimate goal is to add NDT [1] to a meshtastic [2] device implemented with RAK4631[3]. For this goal I can see the following obstacles:

- The meshtastic stack is arduino based.

- The nordic SDK is Zephyr dependent

- The NDT is not standalone, it requires the nordic SDK.

So at first glance, it seems that is not possible to do an integration. Luckily I have a sketch of a plan:

- Meshtastic uses softdevice (for nrf52 devices) [4]

- NDT can be accessed using RPC, which is OS-independent.  [5]

My conclusion is; the "only" missing link is the IPC [6] support from within the meshtatic stack. So NDT could be implemented by sending and receiving RPC packets.

Is this the only hurdle? Could I be missing something?

Regards,

Juan Andrés

[1] https://blog.nordicsemi.com/getconnected/using-the-nordic-distance-toolbox-to-measure-the-distance-between-short-range-radios

[2] https://meshtastic.org/

[3] https://store.rakwireless.com/products/rak4631-lpwan-node

[4] https://github.com/meshtastic/firmware/tree/master/src/platform/nrf52

[5] https://github.com/nrfconnect/sdk-nrf/tree/main/subsys/dm/rpc

[6] https://docs.zephyrproject.org/latest/services/ipc/ipc_service/ipc_service.html

Parents
  • Okay, so they got back to me pretty quickly, and here are some additional thoughts/details on this.

    The NDT nrfxlib library is static and does not have any dependencies in Zephyr, correct. There should be no problems porting that as long as you're using a supported nRF SoC (seems like you're using the nRF52840, so no problem there).

    However, the Distance measurement subsystem is a different story, and was written specifically for use in NCS. Worst case, you would have to rewrite the entire subsystem, but the functionality to do ranging on a device does not necessarily need the full subsystem depending on the use-case you're gunning for. It might be sufficient to write your own software to integrate nrf_dm with Meshtastic. So it does not sound as grim as I initially thought, but the statement still stands, that we won't be able to support you with the implementation, as we're not familiar with the Meshtastic stack, and strive to focus on the NCS solution.

    Let me know if you have any specific questions though, and I'll do what I can to answer.

    Best regards,

    Simon

  • Hi Simon,

    Thank you for your response. I am aware that this project won't be straightforward nor I will have Nordic support in developing it. Thank you for taking your time to look into the feasibility of it!

    Yes, we plan on using the nrf52480. As understood I need to meet the following conditions:

    - Make sure I support or implement IPC in the meshtastic stack.

    - Implementing RPC for the distance measurement functionality (thus porting/re-implementing the dm_rpc module)

    - Make sure to link the NDT static library.

    Only with the last condition I am still a bit confused. Is it enough to link the softdevice library from the SDK [1]? (for example ./components/softdevice/s132/hex/s132_nrf52_7.2.0_softdevice.hex)
    Or does the NDT funcionality comes on a separated hex or bin file that has to be linked in addition to softdevice?

    [1] https://www.nordicsemi.com/Products/Development-software/nrf5-sdk/download

    Best regards,
    Juan Andrés

  • Hi Juan

    I don't think there should be any additional files that need to be linked here.

    Best of luck,

    Simon

Reply Children
No Data
Related