I’m using DWM1001 module on DWM1001-DEV board.
When I try to put module into deep sleep using Segger IDE it works well - calling dwt_configuresleep, then dwt_entersleep and finally go to SYSOFF for main MCU.
And obtain supply current as low as 1uA.
But my goal is to put this into sleep in application in user space (sample code in Eclipse IDE).
Sometimes I need to completely switch off whole system till next reset, for example.
I realized that Anchor mode has no power saving option at all - ook.
And this option is available in Tag mode - but when I call dwm_sleep ( cfg_tag.low_power_en equals true of course) - nothing happens.
Supply current remains about 20mA, LEDs are blinking and so on.
I can switch off MCU by manually writing to NRF_POWER->SYSTEMOFF, thus dropping current to 14-15mA, idle current of DW1000 I think.
I have no API to access to DW1000 directly.
Of course, I can use dwt_configuresleep and dwt_entersleep - they are present in libraries but obviously this will not work. After calling dwt_configuresleep system freezes for about ten seconds then awakes due to watchdog I suppose - concurrent access to SPI by my code and system code.