Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
10f7ef08
Commit
10f7ef08
authored
Mar 12, 2015
by
danicampora
Browse files
cc3200: Keep WLAN enabled during suspend mode.
parent
d1ba8b76
Changes
1
Hide whitespace changes
Inline
Side-by-side
cc3200/mods/pybsleep.c
View file @
10f7ef08
...
...
@@ -53,7 +53,6 @@
#include
"mpcallback.h"
#include
"mperror.h"
#include
"sleeprestore.h"
#include
"serverstask.h"
/******************************************************************************
DECLARE PRIVATE CONSTANTS
...
...
@@ -323,11 +322,8 @@ void pybsleep_suspend_exit (void) {
// ungate the clock to the shared spi bus
MAP_PRCMPeripheralClkEnable
(
PRCM_SSPI
,
PRCM_RUN_MODE_CLK
|
PRCM_SLP_MODE_CLK
);
// if wakeups are enabled, simplelink is as well, so we only need to
// reinitialize the interface bus
if
(
pybsleep_wake_cb
.
wlan_wake_cb
)
{
sl_IfOpen
(
NULL
,
0
);
}
// reinitialize simplelink's bus
sl_IfOpen
(
NULL
,
0
);
// initialize the system led
mperror_init0
();
...
...
@@ -434,12 +430,11 @@ STATIC mp_obj_t pyb_sleep_idle (mp_obj_t self_in) {
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
pyb_sleep_idle_obj
,
pyb_sleep_idle
);
/// \function suspend()
/// \function suspend(
wlan
)
/// Enters suspended mode. Wake up sources should have been enable prior to
//
calling this method.
//
/
calling this method.
STATIC
mp_obj_t
pyb_sleep_suspend
(
mp_obj_t
self_in
)
{
nlr_buf_t
nlr
;
bool
servers_enabled
=
servers_are_enabled
();
// check if we need to enable network wake-up
if
(
pybsleep_wake_cb
.
wlan_wake_cb
)
{
...
...
@@ -447,14 +442,10 @@ STATIC mp_obj_t pyb_sleep_suspend (mp_obj_t self_in) {
}
else
{
MAP_PRCMLPDSWakeupSourceDisable
(
PRCM_LPDS_HOST_IRQ
);
if
(
servers_enabled
)
{
wlan_stop_servers
();
}
sl_Stop
(
SL_STOP_TIMEOUT
);
}
// entering and exiting suspend mode must be an atomic operation
// therefore interrupts
have
to be disabled
// therefore interrupts
need
to be disabled
uint
primsk
=
disable_irq
();
if
(
nlr_push
(
&
nlr
)
==
0
)
{
pybsleep_suspend_enter
();
...
...
@@ -463,15 +454,6 @@ STATIC mp_obj_t pyb_sleep_suspend (mp_obj_t self_in) {
// an exception is always raised when exiting suspend mode
enable_irq
(
primsk
);
// enable simplelink if previously disabled
if
(
!
pybsleep_wake_cb
.
wlan_wake_cb
)
{
// start simplelink, then enable the servers
sl_Start
(
0
,
0
,
0
);
if
(
servers_enabled
)
{
servers_enable
();
}
}
return
mp_const_none
;
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
pyb_sleep_suspend_obj
,
pyb_sleep_suspend
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment