Additional configurations for the DWM1001/MDEK1001 modules

I am reading through a lot of the material that is available on these modules, and I learned a lot about some characteristics of the system and the modules. Right now I am doing my configuration via shell commands and TLV through the “tlv” shell command, along with the Android app.

I am not understanding how I adjust some of the characteristics the texts talk about. For example, the documents mention that choosing a lower transmission channel translates into improved range. However, I can not find where to choose the transmission channel. Matter of fact, I can not even check what channel I am currently using, as the “si” shell command does not provide such information. It is the same for preamble length, smart power status, data rate, PAC size and some others.

I can find and set the transmission power, but I can not understand it. I thought if I just set the maximum hexadecimal value possible, I would maximise transmission power, but I get better range with an incredibly smaller value, which makes no sense. That is less of a problem, because I can check and change the transmission power. I can not with many other variables.

On the same topic, but with a different weight in what the configuration does, I have read mentions of the system being capable of swapping between TWR and TDoA, but somewhere in the code I found the ranging method to be TWR if this mode was set to 0, and the other values were reserved for other ranging methods, but they were not implemented. I know the tags are capable of TDoA, as per the TTK1000 application, but I wonder if they are swappable with the PANS firmware as it is.

I think you are getting confused by references to different firmwares.
PANS is very locked down and limited in the flexibility to adjust settings. This is because a DWM1001C with PANS has FCC modular approval, you can sell it without needing to do the full suite of intentional transmitter testing. Considering how much time and money these involve this is normally a huge plus.

However this means that there are a lot of features and capabilities that the part has that aren’t available when running PANS. In order to gain the full range if capabilities you need to use other firmware that will give you the ability to use any setting you want and any positioning system you want, SS-TWR, DS-TWR, TDoA etc…
The down side (beyond the additional firmware work) is that in order to then sell the resulting system you will need to do all of that intentional transmitter testing.

Basically if PANS can be made to work for what you want to do then use it.

For how exactly the register values impact the settings, such as how the power register works you need to look at the DW1000 user manual. The power register is an odd one, it had 4 different power settings, each of which is 8 bits. Within those 8 bits there are two different fields for two different gain blocks. One of the first things I did was write some functions that converted back and forth between gain in dB and register values.

I figured some settings were just not there, but the many many manuals and guides mention several ways of improving range, battery efficiency, etc.
For our need, it would be ideal to just turn it on and use it, but despite reading about a 30 m-50 m out-of-the-box range, we were not able to make it past 15 m, which was a point for concern.
I fiddled with the transmit power which is available through the API. I based values on the tables available at the DW1000 documentation.
I don’t like empirically changing values and seeing what they do, specially because I don’t know how effective range and power efficiency is supposed to be measured. I mean, I am almost taking the modules to the street for longer distances, and I don’t think that and guessing values is a trustable way of testing stuff.
Anyways, thanks, I know now that I better try to push the PANS firmware to its limits to see if it works as is. I was wondering if there was a way to at least check the settings I am not able to change, like the channel, preamble, smart power status, power transmission frequency, etc.