Skip to content

Commit 10f7ef0

Browse files
committed
cc3200: Keep WLAN enabled during suspend mode.
1 parent d1ba8b7 commit 10f7ef0

1 file changed

Lines changed: 5 additions & 23 deletions

File tree

cc3200/mods/pybsleep.c

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
#include "mpcallback.h"
5454
#include "mperror.h"
5555
#include "sleeprestore.h"
56-
#include "serverstask.h"
5756

5857
/******************************************************************************
5958
DECLARE PRIVATE CONSTANTS
@@ -323,11 +322,8 @@ void pybsleep_suspend_exit (void) {
323322
// ungate the clock to the shared spi bus
324323
MAP_PRCMPeripheralClkEnable(PRCM_SSPI, PRCM_RUN_MODE_CLK | PRCM_SLP_MODE_CLK);
325324

326-
// if wakeups are enabled, simplelink is as well, so we only need to
327-
// reinitialize the interface bus
328-
if (pybsleep_wake_cb.wlan_wake_cb) {
329-
sl_IfOpen (NULL, 0);
330-
}
325+
// reinitialize simplelink's bus
326+
sl_IfOpen (NULL, 0);
331327

332328
// initialize the system led
333329
mperror_init0();
@@ -434,27 +430,22 @@ STATIC mp_obj_t pyb_sleep_idle (mp_obj_t self_in) {
434430
}
435431
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_sleep_idle_obj, pyb_sleep_idle);
436432

437-
/// \function suspend()
433+
/// \function suspend(wlan)
438434
/// Enters suspended mode. Wake up sources should have been enable prior to
439-
// calling this method.
435+
/// calling this method.
440436
STATIC mp_obj_t pyb_sleep_suspend (mp_obj_t self_in) {
441437
nlr_buf_t nlr;
442-
bool servers_enabled = servers_are_enabled();
443438

444439
// check if we need to enable network wake-up
445440
if (pybsleep_wake_cb.wlan_wake_cb) {
446441
MAP_PRCMLPDSWakeupSourceEnable (PRCM_LPDS_HOST_IRQ);
447442
}
448443
else {
449444
MAP_PRCMLPDSWakeupSourceDisable (PRCM_LPDS_HOST_IRQ);
450-
if (servers_enabled) {
451-
wlan_stop_servers();
452-
}
453-
sl_Stop (SL_STOP_TIMEOUT);
454445
}
455446

456447
// entering and exiting suspend mode must be an atomic operation
457-
// therefore interrupts have to be disabled
448+
// therefore interrupts need to be disabled
458449
uint primsk = disable_irq();
459450
if (nlr_push(&nlr) == 0) {
460451
pybsleep_suspend_enter();
@@ -463,15 +454,6 @@ STATIC mp_obj_t pyb_sleep_suspend (mp_obj_t self_in) {
463454
// an exception is always raised when exiting suspend mode
464455
enable_irq(primsk);
465456

466-
// enable simplelink if previously disabled
467-
if (!pybsleep_wake_cb.wlan_wake_cb) {
468-
// start simplelink, then enable the servers
469-
sl_Start (0, 0, 0);
470-
if (servers_enabled) {
471-
servers_enable();
472-
}
473-
}
474-
475457
return mp_const_none;
476458
}
477459
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_sleep_suspend_obj, pyb_sleep_suspend);

0 commit comments

Comments
 (0)