summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDaniel Campora <daniel@wipy.io>2015-04-27 21:11:03 +0200
committerDaniel Campora <daniel@wipy.io>2015-04-28 15:16:33 +0200
commit9fbc265eb81257bfce9337ebeea12379a24b7472 (patch)
tree95fa9d759013a072912daaf0419e3782899e7cc6
parentd34c4784a55566cbf7e21e15a187d02d083cee00 (diff)
downloadmicropython-9fbc265eb81257bfce9337ebeea12379a24b7472.tar.gz
micropython-9fbc265eb81257bfce9337ebeea12379a24b7472.zip
cc3200: Add delays to allow the servers to start and stop properly.
-rw-r--r--cc3200/serverstask.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/cc3200/serverstask.c b/cc3200/serverstask.c
index ea56589eab..55c0bbfbf8 100644
--- a/cc3200/serverstask.c
+++ b/cc3200/serverstask.c
@@ -87,31 +87,30 @@ void TASK_Servers (void *pvParameters) {
for ( ;; ) {
- if (servers_data.enabled) {
- if (servers_data.do_disable) {
- // disable network services
- telnet_disable();
- ftp_disable();
- // now clear the flags
- servers_data.do_disable = false;
- servers_data.enabled = false;
- }
- else {
- if (cycle) {
- telnet_run();
- }
- else {
- ftp_run();
- }
- }
- }
- else if (servers_data.do_enable) {
+ if (servers_data.do_enable) {
// enable network services
telnet_enable();
ftp_enable();
// now set/clear the flags
servers_data.enabled = true;
servers_data.do_enable = false;
+ servers_data.do_disable = false;
+ }
+ else if (servers_data.enabled && servers_data.do_disable) {
+ // disable network services
+ telnet_disable();
+ ftp_disable();
+ // now clear the flags
+ servers_data.do_disable = false;
+ servers_data.enabled = false;
+ servers_data.do_enable = false;
+ }
+
+ if (cycle) {
+ telnet_run();
+ }
+ else {
+ ftp_run();
}
// move to the next cycle
@@ -125,6 +124,7 @@ void TASK_Servers (void *pvParameters) {
void servers_start (void) {
servers_data.do_disable = false;
servers_data.do_enable = true;
+ HAL_Delay (SERVERS_CYCLE_TIME_MS * 5);
}
void servers_stop (void) {
@@ -133,6 +133,7 @@ void servers_stop (void) {
do {
HAL_Delay (SERVERS_CYCLE_TIME_MS);
} while (servers_are_enabled());
+ HAL_Delay (SERVERS_CYCLE_TIME_MS * 5);
}
bool servers_are_enabled (void) {