I want to give some Feedback to the documentation of the DW3000.
- DW3000 User Manual
- DW3000 Device Driver Application Programming Interface (API) Guide
in the User Manual under “220.127.116.11 Sub-register 0x00:1C–System time counter” is written:
Note: once this register is read the system time value is latched and any subsequent read will return the same value. To clear the current value in the register an SPI write transaction is necessary, the following read of the SYS_TIME register will return a new value.
But in the API Guide is neither under “5.3.15 dwt_readsystime” nor under “5.3.16 dwt_readsystimestamphi32” anything written about this behavior.
- In the API Guide 5.1.12:
- In the source code (deca_device.c):
- In the user manual (18.104.22.168Sub-register 0x00:44–System event status)
According to the description of the function it checks for the state “IDLE_RC” but digging into it makes me think it actually checks for the state “INIT_RC”. According to the user manuals state diagram, these are different states.
Seems like “checking for the IDLE_RC event to be set” means checking the “INIT_RC” bit. Over all, it is confusing.
c) IDLE state
In the API Guide under “” is written:
The time will only be valid when the IC is in IDLE, TX or RX states because the system timer is running, the timer is disabled in IDLE_RC or SLEEP states.
According to the user manuals state diagram, there is no IDLE state but IDLE_RC and IDLE_PLL. I think it would be great if the states would be referenced consistently.
Thank you for taking feedback serious, would be great to see this changed in a future version of the documentation .