3.4.2. Examples of Forced Sleep
The forced-sleep interface can be called, and the RF circuit can be closed mandatorily so
as to lower the power.
Example One: Modem-sleep Mode (RF Disabled)
#defineFPM_SLEEP_MAX_TIME 0xFFFFFFF
voidfpm_wakup_cb_func1(void)
{
Wi-Fi_fpm_close();//disableforcesleepfunction
Wi-Fi_set_opmode(STATION_MODE);//setstationmode
Wi-Fi_station_connect();//connecttoAP
}
voiduser_func(…)
{
…
Wi-Fi_station_disconnect();
Wi-Fi_set_opmode(NULL_MODE);//setWi-Fimodetonullmode.
Wi-Fi_fpm_set_sleep_type(MODEM_SLEEP_T);//modemsleep
Wi-Fi_fpm_open();//enableforcesleep
#ifdefSLEEP_MAX
/*Formodemsleep,FPM_SLEEP_MAX_TIMEcanonlybewakenedbycallingWi-Fi_fpm_do_wakeup.
*/
Wi-Fi_fpm_do_sleep(FPM_SLEEP_MAX_TIME);
#else
//wakeupautomaticallywhentimeout.
Wi-Fi_fpm_set_wakeup_cb(fpm_wakup_cb_func1);//Setwakeupcallback
Wi-Fi_fpm_do_sleep(50*1000);
#endif
…
}
#ifdefSLEEP_MAX
voidfunc1(void)
{
Wi-Fi_fpm_do_wakeup();
Wi-Fi_fpm_close();//disableforcesleepfunction
⚠ Notice:
•
When forced-sleep interface is called, the chip will not enter sleep mode instantly, it will enter sleep
mode when the system is executing the idle task.
•
Below are the sample codes for sleep modes.