summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/modnetwork.c
diff options
context:
space:
mode:
Diffstat (limited to 'esp8266/modnetwork.c')
-rw-r--r--esp8266/modnetwork.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/esp8266/modnetwork.c b/esp8266/modnetwork.c
index 92edcb4130..6911955c0b 100644
--- a/esp8266/modnetwork.c
+++ b/esp8266/modnetwork.c
@@ -71,6 +71,13 @@ STATIC mp_obj_t esp_disconnect() {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_disconnect_obj, esp_disconnect);
+#define MODNETWORK_INCLUDE_CONSTANTS (1)
+
+STATIC mp_obj_t esp_status() {
+ return MP_OBJ_NEW_SMALL_INT(wifi_station_get_connect_status());
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_status_obj, esp_status);
+
STATIC void esp_scan_cb(scaninfo *si, STATUS status) {
struct bss_info *bs;
if (si->pbss) {
@@ -107,7 +114,23 @@ STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
{ 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 },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_status), (mp_obj_t)&esp_status_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_scan), (mp_obj_t)&esp_scan_obj },
+
+#if MODNETWORK_INCLUDE_CONSTANTS
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_IDLE),
+ MP_OBJ_NEW_SMALL_INT(STATION_IDLE)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_CONNECTING),
+ MP_OBJ_NEW_SMALL_INT(STATION_CONNECTING)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_WRONG_PASSWORD),
+ MP_OBJ_NEW_SMALL_INT(STATION_WRONG_PASSWORD)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_NO_AP_FOUND),
+ MP_OBJ_NEW_SMALL_INT(STATION_NO_AP_FOUND)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_CONNECT_FAIL),
+ MP_OBJ_NEW_SMALL_INT(STATION_CONNECT_FAIL)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STAT_GOT_IP),
+ MP_OBJ_NEW_SMALL_INT(STATION_GOT_IP)},
+#endif
};
STATIC MP_DEFINE_CONST_DICT(mp_module_network_globals, mp_module_network_globals_table);