summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/modesp.c
diff options
context:
space:
mode:
Diffstat (limited to 'esp8266/modesp.c')
-rw-r--r--esp8266/modesp.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/esp8266/modesp.c b/esp8266/modesp.c
index 171a617057..5e7d5fb138 100644
--- a/esp8266/modesp.c
+++ b/esp8266/modesp.c
@@ -509,6 +509,16 @@ void error_check(bool status, const char *msg) {
}
}
+STATIC mp_obj_t esp_wifi_mode(mp_uint_t n_args, const mp_obj_t *args) {
+ if (n_args == 0) {
+ return mp_obj_new_int(wifi_get_opmode());
+ } else {
+ wifi_set_opmode(mp_obj_get_int(args[0]));
+ return mp_const_none;
+ }
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(esp_wifi_mode_obj, 0, 1, esp_wifi_mode);
+
STATIC mp_obj_t esp_phy_mode(mp_uint_t n_args, const mp_obj_t *args) {
if (n_args == 0) {
return mp_obj_new_int(wifi_get_phy_mode());
@@ -565,6 +575,7 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_mac), (mp_obj_t)&esp_mac_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_getaddrinfo), (mp_obj_t)&esp_getaddrinfo_obj },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_wifi_mode), (mp_obj_t)&esp_wifi_mode_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_phy_mode), (mp_obj_t)&esp_phy_mode_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_sleep_type), (mp_obj_t)&esp_sleep_type_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_deepsleep), (mp_obj_t)&esp_deepsleep_obj },
@@ -585,6 +596,13 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = {
MP_OBJ_NEW_SMALL_INT(LIGHT_SLEEP_T) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SLEEP_MODEM),
MP_OBJ_NEW_SMALL_INT(MODEM_SLEEP_T) },
+
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STA_MODE),
+ MP_OBJ_NEW_SMALL_INT(STATION_MODE)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_AP_MODE),
+ MP_OBJ_NEW_SMALL_INT(SOFTAP_MODE)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_STA_AP_MODE),
+ MP_OBJ_NEW_SMALL_INT(STATIONAP_MODE)},
#endif
};