@@ -509,6 +509,16 @@ void error_check(bool status, const char *msg) {
509509 }
510510}
511511
512+ STATIC mp_obj_t esp_wifi_mode (mp_uint_t n_args , const mp_obj_t * args ) {
513+ if (n_args == 0 ) {
514+ return mp_obj_new_int (wifi_get_opmode ());
515+ } else {
516+ wifi_set_opmode (mp_obj_get_int (args [0 ]));
517+ return mp_const_none ;
518+ }
519+ }
520+ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (esp_wifi_mode_obj , 0 , 1 , esp_wifi_mode );
521+
512522STATIC mp_obj_t esp_phy_mode (mp_uint_t n_args , const mp_obj_t * args ) {
513523 if (n_args == 0 ) {
514524 return mp_obj_new_int (wifi_get_phy_mode ());
@@ -565,6 +575,7 @@ STATIC const mp_map_elem_t esp_module_globals_table[] = {
565575
566576 { MP_OBJ_NEW_QSTR (MP_QSTR_mac ), (mp_obj_t )& esp_mac_obj },
567577 { MP_OBJ_NEW_QSTR (MP_QSTR_getaddrinfo ), (mp_obj_t )& esp_getaddrinfo_obj },
578+ { MP_OBJ_NEW_QSTR (MP_QSTR_wifi_mode ), (mp_obj_t )& esp_wifi_mode_obj },
568579 { MP_OBJ_NEW_QSTR (MP_QSTR_phy_mode ), (mp_obj_t )& esp_phy_mode_obj },
569580 { MP_OBJ_NEW_QSTR (MP_QSTR_sleep_type ), (mp_obj_t )& esp_sleep_type_obj },
570581 { 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[] = {
585596 MP_OBJ_NEW_SMALL_INT (LIGHT_SLEEP_T ) },
586597 { MP_OBJ_NEW_QSTR (MP_QSTR_SLEEP_MODEM ),
587598 MP_OBJ_NEW_SMALL_INT (MODEM_SLEEP_T ) },
599+
600+ { MP_OBJ_NEW_QSTR (MP_QSTR_STA_MODE ),
601+ MP_OBJ_NEW_SMALL_INT (STATION_MODE )},
602+ { MP_OBJ_NEW_QSTR (MP_QSTR_AP_MODE ),
603+ MP_OBJ_NEW_SMALL_INT (SOFTAP_MODE )},
604+ { MP_OBJ_NEW_QSTR (MP_QSTR_STA_AP_MODE ),
605+ MP_OBJ_NEW_SMALL_INT (STATIONAP_MODE )},
588606#endif
589607};
590608
0 commit comments