summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-06-12 17:26:10 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-06-12 17:45:28 +0300
commit32eb4b905538c71ca5acee5f92e12c1aed992f4c (patch)
treeb4ca797c999fa077a6b873e0e2566140e883c7b7 /esp8266
parentee3fec3167db6e28869d37fb60058c884fb36264 (diff)
downloadmicropython-32eb4b905538c71ca5acee5f92e12c1aed992f4c.tar.gz
micropython-32eb4b905538c71ca5acee5f92e12c1aed992f4c.zip
esp8266: Move connect/disconnect from "esp" module to network.
Diffstat (limited to 'esp8266')
-rw-r--r--esp8266/modesp.c27
-rw-r--r--esp8266/modnetwork.c34
2 files changed, 34 insertions, 27 deletions
diff --git a/esp8266/modesp.c b/esp8266/modesp.c
index 35330be7d1..3ca7f72715 100644
--- a/esp8266/modesp.c
+++ b/esp8266/modesp.c
@@ -503,7 +503,7 @@ STATIC const mp_obj_type_t esp_socket_type = {
#define MODESP_INCLUDE_CONSTANTS (1)
-static void error_check(bool status, const char *msg) {
+void error_check(bool status, const char *msg) {
if (!status) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_OSError, msg));
}
@@ -534,29 +534,6 @@ STATIC mp_obj_t esp_scan(mp_obj_t cb_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(esp_scan_obj, esp_scan);
-STATIC mp_obj_t esp_connect(mp_uint_t n_args, const mp_obj_t *args) {
- struct station_config config = {{0}};
- mp_uint_t len;
- const char *p;
-
- p = mp_obj_str_get_data(args[0], &len);
- memcpy(config.ssid, p, len);
- p = mp_obj_str_get_data(args[1], &len);
- memcpy(config.password, p, len);
-
- error_check(wifi_station_set_config(&config), "Cannot set STA config");
- error_check(wifi_station_connect(), "Cannot connect to AP");
-
- return mp_const_none;
-}
-STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(esp_connect_obj, 2, 6, esp_connect);
-
-STATIC mp_obj_t esp_disconnect() {
- error_check(wifi_station_disconnect(), "Cannot disconnect from AP");
- return mp_const_none;
-}
-STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_disconnect_obj, esp_disconnect);
-
STATIC mp_obj_t esp_status() {
return MP_OBJ_NEW_SMALL_INT(wifi_station_get_connect_status());
}
@@ -616,8 +593,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_flash_id_obj, esp_flash_id);
STATIC const mp_map_elem_t esp_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_esp) },
- { MP_OBJ_NEW_QSTR(MP_QSTR_connect), (mp_obj_t)&esp_connect_obj },
- { MP_OBJ_NEW_QSTR(MP_QSTR_disconnect), (mp_obj_t)&esp_disconnect_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_scan), (mp_obj_t)&esp_scan_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_status), (mp_obj_t)&esp_status_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_mac), (mp_obj_t)&esp_mac_obj },
diff --git a/esp8266/modnetwork.c b/esp8266/modnetwork.c
index e57b8900a4..28d4989c0a 100644
--- a/esp8266/modnetwork.c
+++ b/esp8266/modnetwork.c
@@ -32,8 +32,15 @@
#include "py/nlr.h"
#include "py/objlist.h"
#include "py/runtime.h"
-#include "modnetwork.h"
+#include "netutils.h"
+#include "queue.h"
+#include "user_interface.h"
+#include "espconn.h"
+#include "ip_addr.h"
+#include "spi_flash.h"
+#include "utils.h"
+void error_check(bool status, const char *msg);
extern const mp_obj_module_t network_module;
STATIC mp_obj_t get_module() {
@@ -41,6 +48,29 @@ STATIC mp_obj_t get_module() {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(get_module_obj, get_module);
+STATIC mp_obj_t esp_connect(mp_uint_t n_args, const mp_obj_t *args) {
+ struct station_config config = {{0}};
+ mp_uint_t len;
+ const char *p;
+
+ p = mp_obj_str_get_data(args[0], &len);
+ memcpy(config.ssid, p, len);
+ p = mp_obj_str_get_data(args[1], &len);
+ memcpy(config.password, p, len);
+
+ error_check(wifi_station_set_config(&config), "Cannot set STA config");
+ error_check(wifi_station_connect(), "Cannot connect to AP");
+
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(esp_connect_obj, 2, 6, esp_connect);
+
+STATIC mp_obj_t esp_disconnect() {
+ error_check(wifi_station_disconnect(), "Cannot disconnect from AP");
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_disconnect_obj, esp_disconnect);
+
STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_network) },
// MicroPython "network" module interface requires it to contains classes
@@ -48,6 +78,8 @@ STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
// use module as a "class", and just make all methods module-global
// functions.
{ MP_OBJ_NEW_QSTR(MP_QSTR_WLAN), (mp_obj_t)&get_module_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_connect), (mp_obj_t)&esp_connect_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_disconnect), (mp_obj_t)&esp_disconnect_obj },
};
STATIC MP_DEFINE_CONST_DICT(mp_module_network_globals, mp_module_network_globals_table);