- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am developing a wristband based on the CYBLE-022001-00 module and currently, I am displaying only date and time. but I am facing problems related to consumption. I am getting only 4 hours backup on 160mAh battery which is very less and not acceptable. So I have added deep sleep but the problem is that it shows the lag in watch date time for displaying DateTime I have used the RTC component and I am executing RTC_update() after every 1 second. As it is wristband it has to be a compact so I cannot add RTC circuit externally.
Also, I tried to calculate deep sleep time and add those seconds manually to RTC but it is not that accurate. Their remains a huge lag.
What is the solution to this problem.? If I am not giving any sleep then it gives back of only 4 hours and if I add sleep then there is lags in DateTime.
Thanks in advance
Regards,
Neeraj Dhekale
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Neeraj,
I have gone through RTC_P4_WDT_Example it working perfectly with no lag but@ found that it is consuming around 7 milliAmps.Currently, it is consuming 0.3 milliamps with our current firmware.
We recommend you to follow the firmware flow present in the RTC_P4_WDT_Example. To reduce power consumption of the project:
1. Please remove all the print statements from the code. Disable the UART.
2. Remove all the LEDs and LFCLK pin that drives the clock signal on the pin.
3. In the Systems Tab change the Debug select option to GPIO as shown in the image attached.
It is possible to keep the maximum time controller in deep sleep and wake up after say 30-60 seconds to update time by 30-60 seconds directly?
Yes. It is possible. For that, you need to call the API RTC_Update() once in 30-60 seconds. Before that you need to call RTC_SetPeriod() with the number of ticks/seconds you want to increment for every RTC_Update() function. Please go through the function description in the void RTC_Update(void) in RTC.c . You can see the usage of both of these APIs in the code example I pointed in the previous response.
For more information, please refer RTC component datasheet.
Kindly update if you have any other queries.
Thanks
Ganesh