How to send and receive customized data using dwm1001?

Hi all,

I am using dwm1001 module to transmit and receive a user data set. After referring to the api guide, I did find dwm_usr_data_read and dwm_usr_data_write. Could anyone please advice me on a starting point on how to write a customized firmware according to the user guide using these two apis and other apis which are necessary. Thanks in advance.

Hi Kasun,

Have you looked at the firmware user guide and the user app application examples for embedded studio ?


Hi Yves,
Thank you for your reply.

And I did try using the examples in the firmware user guide. I am confused with the function dwm_evt_wait(&evt).

It keeps on waiting for an event even when the event is registered using dwm_evt_listener_register.

I am not quite fluent in English. Apologies in advance.

Also Yves,

I am quoting the readme.txt from dwm-range-iot

Firstly, on the user_data_ready event, checking if 0x0f is received.
If received, then for the next 1000 location_ready_event, the ranges are stored in the uplink data and sent back to gateway.
After 1000 echange, the sequence is reproduced if 0x0f is received.

0x0f should be received by a broker. Does this mean two low-level dwm1001 modules cannot communicate with each other directly?

Yes that’s correct the communication is only between nodes and the gateway hosting the broker.

If you need to exchange data between two nodes the following sequence can be implemented:

  • node1 send data to gateway (mqtt broker)
  • gateway receive and process data from node1
  • gateway send data to node2 based on node1 previous data
  • node2 receive data from gateway

Regarding the example, the application will wait for evt until an event is actually received. Have you send downlink (either from webserver of directly mqtt) to generate an event ? You can also add the location ready event that should be triggered (accordingly to update rate).