Fix for system_deep_sleep ignoring argument
This commit is contained in:
parent
84ee8d493c
commit
62f55d499e
2 changed files with 14 additions and 2 deletions
|
@ -36,4 +36,8 @@ typedef struct ETSTimer_st {
|
||||||
void *timer_arg;
|
void *timer_arg;
|
||||||
} ETSTimer;
|
} ETSTimer;
|
||||||
|
|
||||||
|
void sdk_ets_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg);
|
||||||
|
void sdk_ets_timer_arm(ETSTimer *ptimer, uint32_t milliseconds, bool repeat_flag);
|
||||||
|
void sdk_ets_timer_disarm(ETSTimer *ptimer);
|
||||||
|
|
||||||
#endif /* _ETSTIMER_H */
|
#endif /* _ETSTIMER_H */
|
||||||
|
|
|
@ -55,6 +55,9 @@ sdk_wifi_promiscuous_cb_t sdk_promiscuous_cb;
|
||||||
|
|
||||||
static uint8_t _system_upgrade_flag; // Ldata009
|
static uint8_t _system_upgrade_flag; // Ldata009
|
||||||
|
|
||||||
|
// Timer to execute a second phase of switching to a deep sleep
|
||||||
|
static ETSTimer deep_sleep_timer;
|
||||||
|
|
||||||
// Prototypes for static functions
|
// Prototypes for static functions
|
||||||
static bool _check_boot_version(void);
|
static bool _check_boot_version(void);
|
||||||
static void _deep_sleep_phase2(void *timer_arg);
|
static void _deep_sleep_phase2(void *timer_arg);
|
||||||
|
@ -407,8 +410,13 @@ void sdk_system_deep_sleep(uint32_t time_in_us) {
|
||||||
sdk_wifi_softap_stop();
|
sdk_wifi_softap_stop();
|
||||||
}
|
}
|
||||||
sdk_os_timer_disarm(&sdk_sta_con_timer);
|
sdk_os_timer_disarm(&sdk_sta_con_timer);
|
||||||
sdk_os_timer_setfn(&sdk_sta_con_timer, _deep_sleep_phase2, (void *)time_in_us);
|
|
||||||
sdk_os_timer_arm(&sdk_sta_con_timer, 100, 0);
|
// Originally deep sleep function reused sdk_sta_con_timer
|
||||||
|
// but we can't mix functions sdk_ets_timer_ with sdk_os_timer_ for the
|
||||||
|
// same timer. So now deep sleep function uses a separate timer.
|
||||||
|
sdk_ets_timer_disarm(&deep_sleep_timer);
|
||||||
|
sdk_ets_timer_setfn(&deep_sleep_timer, _deep_sleep_phase2, (void *)time_in_us);
|
||||||
|
sdk_ets_timer_arm(&deep_sleep_timer, 100, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sdk_system_update_cpu_freq(uint8_t freq) {
|
bool sdk_system_update_cpu_freq(uint8_t freq) {
|
||||||
|
|
Loading…
Reference in a new issue