Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
Sorry to revive an old post but on the CYW43907 I see the same issue with sleep mode with SDK 6.2.1.
I am running the FreeRTOS build and there is definitely a major accuracy issue while using the tickless mode while sleeping the processor. The time functions in wiced are based on the host os tick value. I am seeing timing off by as much as 12 seconds over a minute period.
Attached is the example that I am using to test this issue. Please check the log mentioned below. I am not seeing any drift. Please let me know if I need to do anything different to reproduce the issue.
Starting WICED vWiced_006.002.001.0002
Platform CYW943907AEVAL1F initialised
Started FreeRTOS v9.0.0
Initialising LwIP v2.0.3
DHCP CLIENT hostname WICED IP
WWD SoC.43909 interface initializing with US/0
WLAN MAC Address : A4:08:EA:D9:D4:E6
WLAN Firmware : wl0: May 15 2018 19:39:17 version 220.127.116.11 (r689934) FWID 01-d6f88905
I will look at your example when i am back at work in a couple of weeks.
Here are the steps that i used to see the issue
1. Run Realterm with direct capture enabled and timestamp option set to YMDHS.
2. Run a periodic task in WICED that prints to the screen, like every 60 seconds.
3. Let run for an hour
4. Stop the Realterm capture and look at the output, compare the Realterm YMDS timestamp intervals to see if they differ from the 60s interval.
What i have found is that the rtos tick accumulates a lot of error over time. Specifically, when I wrap the sleep function in FreeRTOS task idle with a GPIO toggle i saw that sometimes the processor slept for around 300uS but the steptick will always increment by a minimum of 1.