C Code user app for DWM1001

Are the deca API functions for TWR (Initiator to responder ranging) available in PANS library or only Location functions?

I am wanting to just measure distance between nodes without anchors.

Hello orbitcoms

It is possible to only use TWR between 2 or more nodes in PANS, but you always need at least one anchor/initiator.It might make more sense to look at the DWM1001 example code. The point of PANS is that it allows tags to range (using TWR) with multiple anchors with known locations, allowing the tag to triangulate it’s own location.

PANS also offers a TDMA schema allowing all devices to operate in the same radio space without interfering. If you want to range between multiple nodes at the same time in the same space it might be interesting to stick to PANS, since the basic example does not allow for this. The easiest way to set this up is to have one of the nodes you want to range between act as an anchor, the other one as a tag.

Not directly, but you can use the API to configure nodes as anchors or tags. Having a the user code start ad-hoc ranging would mess with the TDMA scheme. Ranging between anchors and nodes always needs to happen in a known order to prevent collisions.

I cannot use anchors. I want to implement SS-TWR for ranging between mobile Originators and mobile Responders that can come in and out of range. I can provide a synch signal and have them use TDMA based on their ID I suppose.

For this use-case TWR should work great, see the examples I linked before. These examples will need to be adapted so multiple “responders” can range with the same "Originators ". You could use TDMA for this, you can look at the PANS system overview to get an understanding about how it is implemented there. An other option could be LBT (Listen Before Talk/Transmit) in the form of CSMA/CA.


I can use those examples and maybe port across to my PSOC hardware.