summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/modnetwork.c
diff options
context:
space:
mode:
Diffstat (limited to 'esp8266/modnetwork.c')
-rw-r--r--esp8266/modnetwork.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/esp8266/modnetwork.c b/esp8266/modnetwork.c
index 6911955c0b..7631b9179d 100644
--- a/esp8266/modnetwork.c
+++ b/esp8266/modnetwork.c
@@ -105,6 +105,18 @@ STATIC mp_obj_t esp_scan(mp_obj_t cb_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(esp_scan_obj, esp_scan);
+/// \method isconnected()
+/// Return True if connected to an AP and an IP address has been assigned,
+/// false otherwise.
+STATIC mp_obj_t esp_isconnected() {
+ if (wifi_station_get_connect_status() == STATION_GOT_IP) {
+ return mp_const_true;
+ }
+ return mp_const_false;
+}
+
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(esp_isconnected_obj, esp_isconnected);
+
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
@@ -116,6 +128,7 @@ STATIC const mp_map_elem_t mp_module_network_globals_table[] = {
{ 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 },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_isconnected), (mp_obj_t)&esp_isconnected_obj },
#if MODNETWORK_INCLUDE_CONSTANTS
{ MP_OBJ_NEW_QSTR(MP_QSTR_STAT_IDLE),