Skip to content

Commit f8ee88b

Browse files
committed
cc3200: Move server methods from WLAN to the network module.
1 parent 92496ab commit f8ee88b

7 files changed

Lines changed: 57 additions & 62 deletions

File tree

cc3200/mods/modnetwork.c

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include MICROPY_HAL_H
3434
#include "modnetwork.h"
3535
#include "mpexception.h"
36+
#include "serverstask.h"
3637

3738
/// \module network - network configuration
3839
///
@@ -68,10 +69,44 @@ STATIC mp_obj_t network_route(void) {
6869
}
6970
STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_route_obj, network_route);
7071

72+
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
73+
STATIC mp_obj_t network_server_start(void) {
74+
servers_start();
75+
return mp_const_none;
76+
}
77+
STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_server_start_obj, network_server_start);
78+
79+
STATIC mp_obj_t network_server_stop(void) {
80+
servers_stop();
81+
return mp_const_none;
82+
}
83+
STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_server_stop_obj, network_server_stop);
84+
85+
STATIC mp_obj_t network_server_enabled(void) {
86+
return MP_BOOL(servers_are_enabled());
87+
}
88+
STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_server_enabled_obj, network_server_enabled);
89+
90+
STATIC mp_obj_t network_server_login(mp_obj_t user, mp_obj_t pass) {
91+
const char *_user = mp_obj_str_get_str(user);
92+
const char *_pass = mp_obj_str_get_str(pass);
93+
servers_set_login ((char *)_user, (char *)_pass);
94+
return mp_const_none;
95+
}
96+
STATIC MP_DEFINE_CONST_FUN_OBJ_2(network_server_login_obj, network_server_login);
97+
#endif
98+
7199
STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
72-
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_network) },
73-
{ MP_OBJ_NEW_QSTR(MP_QSTR_WLAN), (mp_obj_t)&mod_network_nic_type_wlan },
74-
{ MP_OBJ_NEW_QSTR(MP_QSTR_route), (mp_obj_t)&network_route_obj },
100+
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_network) },
101+
{ MP_OBJ_NEW_QSTR(MP_QSTR_WLAN), (mp_obj_t)&mod_network_nic_type_wlan },
102+
{ MP_OBJ_NEW_QSTR(MP_QSTR_route), (mp_obj_t)&network_route_obj },
103+
104+
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
105+
{ MP_OBJ_NEW_QSTR(MP_QSTR_start_server), (mp_obj_t)&network_server_start_obj },
106+
{ MP_OBJ_NEW_QSTR(MP_QSTR_stop_server), (mp_obj_t)&network_server_stop_obj },
107+
{ MP_OBJ_NEW_QSTR(MP_QSTR_server_enabled), (mp_obj_t)&network_server_enabled_obj },
108+
{ MP_OBJ_NEW_QSTR(MP_QSTR_server_login), (mp_obj_t)&network_server_login_obj },
109+
#endif
75110
};
76111

77112
STATIC MP_DEFINE_CONST_DICT(mp_module_network_globals, mp_module_network_globals_table);

cc3200/mods/modwlan.c

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ modwlan_Status_t wlan_sl_enable (SlWlanMode_t mode, const char *ssid, uint8_t ss
416416
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
417417
// Stop all other processes using the wlan engine
418418
if ((wlan_obj.servers_enabled = servers_are_enabled())) {
419-
wlan_stop_servers();
419+
servers_stop();
420420
}
421421
#endif
422422

@@ -514,7 +514,7 @@ modwlan_Status_t wlan_sl_enable (SlWlanMode_t mode, const char *ssid, uint8_t ss
514514
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
515515
// Start the servers again
516516
if (wlan_obj.servers_enabled) {
517-
servers_enable();
517+
servers_start();
518518
}
519519
#endif
520520
return MODWLAN_OK;
@@ -534,7 +534,7 @@ void wlan_stop (uint32_t timeout) {
534534
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
535535
// Stop all other processes using the wlan engine
536536
if ((wlan_obj.servers_enabled = servers_are_enabled())) {
537-
wlan_stop_servers();
537+
servers_stop();
538538
}
539539
#endif
540540
sl_LockObjLock (&wlan_LockObj, SL_OS_WAIT_FOREVER);
@@ -555,15 +555,6 @@ void wlan_get_ip (uint32_t *ip) {
555555
}
556556
}
557557

558-
void wlan_stop_servers (void) {
559-
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
560-
servers_disable();
561-
do {
562-
HAL_Delay (5);
563-
} while (servers_are_enabled());
564-
#endif
565-
}
566-
567558
//*****************************************************************************
568559
// DEFINE STATIC FUNCTIONS
569560
//*****************************************************************************
@@ -963,33 +954,6 @@ STATIC mp_obj_t wlan_callback (mp_uint_t n_args, const mp_obj_t *pos_args, mp_ma
963954
}
964955
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(wlan_callback_obj, 1, wlan_callback);
965956

966-
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
967-
STATIC mp_obj_t wlan_serversstart(mp_obj_t self_in) {
968-
servers_enable();
969-
return mp_const_none;
970-
}
971-
STATIC MP_DEFINE_CONST_FUN_OBJ_1(wlan_serversstart_obj, wlan_serversstart);
972-
973-
STATIC mp_obj_t wlan_serversstop(mp_obj_t self_in) {
974-
wlan_stop_servers();
975-
return mp_const_none;
976-
}
977-
STATIC MP_DEFINE_CONST_FUN_OBJ_1(wlan_serversstop_obj, wlan_serversstop);
978-
979-
STATIC mp_obj_t wlan_serversenabled(mp_obj_t self_in) {
980-
return MP_BOOL(servers_are_enabled());
981-
}
982-
STATIC MP_DEFINE_CONST_FUN_OBJ_1(wlan_serversenabled_obj, wlan_serversenabled);
983-
984-
STATIC mp_obj_t wlan_serversuserpass(mp_obj_t self_in, mp_obj_t user, mp_obj_t pass) {
985-
const char *_user = mp_obj_str_get_str(user);
986-
const char *_pass = mp_obj_str_get_str(pass);
987-
servers_set_user_pass((char *)_user, (char *)_pass);
988-
return mp_const_none;
989-
}
990-
STATIC MP_DEFINE_CONST_FUN_OBJ_3(wlan_serversuserpass_obj, wlan_serversuserpass);
991-
#endif
992-
993957
STATIC const mp_map_elem_t wlan_locals_dict_table[] = {
994958
{ MP_OBJ_NEW_QSTR(MP_QSTR_connect), (mp_obj_t)&wlan_connect_obj },
995959
{ MP_OBJ_NEW_QSTR(MP_QSTR_scan), (mp_obj_t)&wlan_scan_obj },
@@ -998,12 +962,6 @@ STATIC const mp_map_elem_t wlan_locals_dict_table[] = {
998962
{ MP_OBJ_NEW_QSTR(MP_QSTR_ifconfig), (mp_obj_t)&wlan_ifconfig_obj },
999963
{ MP_OBJ_NEW_QSTR(MP_QSTR_urn), (mp_obj_t)&wlan_urn_obj },
1000964
{ MP_OBJ_NEW_QSTR(MP_QSTR_callback), (mp_obj_t)&wlan_callback_obj },
1001-
#if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP)
1002-
{ MP_OBJ_NEW_QSTR(MP_QSTR_start_servers), (mp_obj_t)&wlan_serversstart_obj },
1003-
{ MP_OBJ_NEW_QSTR(MP_QSTR_stop_servers), (mp_obj_t)&wlan_serversstop_obj },
1004-
{ MP_OBJ_NEW_QSTR(MP_QSTR_servers_enabled), (mp_obj_t)&wlan_serversenabled_obj },
1005-
{ MP_OBJ_NEW_QSTR(MP_QSTR_servers_userpass), (mp_obj_t)&wlan_serversuserpass_obj },
1006-
#endif
1007965

1008966
// class constants
1009967
{ MP_OBJ_NEW_QSTR(MP_QSTR_OPEN), MP_OBJ_NEW_SMALL_INT(SL_SEC_TYPE_OPEN) },

cc3200/mods/modwlan.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,5 @@ extern void wlan_first_start (void);
6060
extern void wlan_stop (uint32_t timeout);
6161
extern void wlan_get_mac (uint8_t *macAddress);
6262
extern void wlan_get_ip (uint32_t *ip);
63-
extern void wlan_stop_servers (void);
6463

6564
#endif /* MODWLAN_H_ */

cc3200/mptask.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ void TASK_Micropython (void *pvParameters) {
162162
mptask_init_sflash_filesystem();
163163

164164
// enable telnet and ftp servers
165-
servers_enable();
165+
servers_start();
166166

167167
// append the SFLASH paths to the system path
168168
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_SFLASH));

cc3200/qstrdefsport.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@ Q(IPPROTO_RAW)
199199
// for network class
200200
Q(network)
201201
Q(route)
202+
Q(start_server)
203+
Q(stop_server)
204+
Q(server_enabled)
205+
Q(server_login)
202206

203207
// for WLAN class
204208
Q(WLAN)
@@ -213,10 +217,6 @@ Q(disconnect)
213217
Q(channel)
214218
Q(ifconfig)
215219
Q(urn)
216-
Q(start_servers)
217-
Q(stop_servers)
218-
Q(servers_enabled)
219-
Q(servers_userpass)
220220
Q(STA)
221221
Q(AP)
222222
Q(P2P)

cc3200/serverstask.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,28 +125,31 @@ void TASK_Servers (void *pvParameters) {
125125
}
126126
}
127127

128-
void servers_enable (void) {
128+
void servers_start (void) {
129129
servers_data.do_disable = false;
130130
servers_data.do_enable = true;
131131
}
132132

133-
void servers_disable (void) {
133+
void servers_stop (void) {
134134
servers_data.do_enable = false;
135135
servers_data.do_disable = true;
136+
do {
137+
HAL_Delay (SERVERS_CYCLE_TIME_MS);
138+
} while (servers_are_enabled());
136139
}
137140

138141
bool servers_are_enabled (void) {
139142
return servers_data.enabled;
140143
}
141144

142-
void servers_close_socket (_i16 *sd) {
145+
void servers_close_socket (int16_t *sd) {
143146
if (*sd > 0) {
144147
sl_Close(*sd);
145148
*sd = -1;
146149
}
147150
}
148151

149-
void servers_set_user_pass (char *user, char *pass) {
152+
void servers_set_login (char *user, char *pass) {
150153
memcpy(servers_user, user, SERVERS_USER_LEN_MAX);
151154
memcpy(servers_pass, pass, SERVERS_PASS_LEN_MAX);
152155
}

cc3200/serverstask.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ extern char *servers_pass;
6060
DECLARE PUBLIC FUNCTIONS
6161
******************************************************************************/
6262
extern void TASK_Servers (void *pvParameters);
63-
extern void servers_enable (void);
64-
extern void servers_disable (void);
63+
extern void servers_start (void);
64+
extern void servers_stop (void);
6565
extern bool servers_are_enabled (void);
66-
extern void servers_close_socket (_i16 *sd);
67-
extern void servers_set_user_pass (char *user, char *pass);
66+
extern void servers_close_socket (int16_t *sd);
67+
extern void servers_set_login (char *user, char *pass);
6868

6969
#endif /* SERVERSTASK_H_ */

0 commit comments

Comments
 (0)