Hello, I have DWM3001CDK_C2 which contains DWM3001C module, which contains two chips: DWM3001C: nRF52833 a DW3110.
I have been tinkering with some examples that use dwt uwb driver and that worked.
But I don’t have experience with nRF52 SDK and its structure.
The problem is: I need to use on-demand position detection inside of a module to multiple anchors (ideally the whole ranging anchor mesh should be self-configured for a tag to support from 1 up to as many anchors as possible). On demand means that the CPU would wake up on external interrupt, a ranging routine would execute and the processor would go back to sleep. The DWM3110 should go to DEEPSLEEP state, which supposedly consumes less than 250nA as soon as possible to conserve power.
What approach should I use? I think I could:
- Builld the fine-ranging application (both tag and anchor software) from scratch using dwt uwp driver and its SPI registry read/write commands, implementing Time Difference of Arrival or Time Division Multiple Access, range acquisition and position calculation. This could be achieved without an OS on the chip and should be as energy efficient as it can possibly be. It would be very time demanding and very expensive though.
- Use existing demo FIRA and strip it of the RTOS scheduled tasks under which it runs. I was able to remove the CLI part so that the FIRA app starts with its big configuration after the board init, but it seems not to be built with power efficiency in mind.
And the last thing is that it should support bluetooth, so I imagine I will need to use a softdevice, which means running bootloader and RTOS anyway, which would be energy expensive I imagine.
Am I thinking about this correctly? Are there any projects similar to this one, or these are under NDA cause they need some intellectual property?