I am using the Quecopen SDK to develop some firmware for the BC660K.
There are let’s say 5 different tasks running on the module, and one of these tasks is responsible for monitoring the Battery Level via the ADC pin, the task’s name is
When the battery level reaches a low watermark, what we are currently doing is going into what we call an “emulated-sleep-mode”. By “emulated”, I mean that all the other tasks are stopped (killed), and only the
task_battery keeps running, the idea was to save power consumption.
task_battery basically measures the voltage of the battery every 100ms, and if it is below the
low_watermark the module goes into the “emulated-sleep-mode”.
And, when we are in this state, if the voltage raises back to a “normal_watermark” level, that means the battery is charged to a safe level, and the Firmware resets itself to go back to normal.
However, this basic idea of “killing” all the other tasks and disconnecting from the Network does not do the work. The module consumes around 27mA ~ 24mA.
Is there any other better way to do this logic, of keeping the
task_battery still running to monitor the battery, but reducing the current consumption?
AT+QSCLK does not do the work, because it causes the module to really sleep, which means, the
task_battery stops running, which is not desired.