Hi TI,
We have a unit in the field whose batteries died much before expected. The device operates as a STA and reports usage statistics and other diagnostic information to our backend once a day.
We use the WlanPolicySet(SL_WLAN_POLICY_PM, SL_WLAN_LONG_SLEEP_INTERVAL_POLICY) API with an LSI of 512 to save power.
We use the
int16_t sl_retval = sl_DeviceStatGet(SL_DEVICE_STAT_PM, length, &info);
API to gather TimeMacAwake, TimeMacSleep, TimeMacListen11B, TimeNWPAwake, TimeNWPStandBy, TimeNWPDeepSleep statistics.
Based on these daily statistics, we can see that after 2 months, the MAC stopped sleeping (the NWP however continued sleeping, and the MCU continued to enter LPDS). The MAC's total runtime (the sum of the 3 statistics returned by the above API, did not reset). We did not make any new calls to WlanPolicySet(SL_WLAN_POLICY_PM, SL_WLAN_LONG_SLEEP_INTERVAL_POLICY), so we are unsure how this is happening. Our system persistence setting is remained unchanged from the default, so this setting should be persistent through reset (even if it did reset, but it appears it did not).
We do however call WlanPolicySet(SL_WLAN_POLICY_PM, SL_WLAN_LONG_SLEEP_INTERVAL_POLICY) once every time we restart the entire device.
After a power cycle (and new batteries), we see the MAC sleep operation returning to normal.
Is there an API call that would cause the MAC to stop sleeping but the NWP to continue to enter sleep as normal? Is this any other info we can provide to help diagnose this issue? Any ideas to prevent this?
Thanks
Ben