I am looking to use libuarte in our project. We are creating a battery powered device and so need to be low powered. EasyDMA draws about 1mA when running which is far too high.
The idea to get around this is to only enable the UARTE (and thus EasyDMA) when comms are required.
Currently I am just using the libuarte example project to test the power usage. I have modified the example to call nrf_libuarte_async_uninit()
and then sleep once the Tx has finished. This still draws about 1mA of current even when sleeping, whereas, if I never initialise libuarte to start with then I get about 3uA!
This seems that EasyDMA is never actually being disabled when uninitialising the UARTE. I guess this is related to this known bug, however, this workaround is for the TWIM and SPIM.
My question is: how can I disable EasyDMA when it is not in use?