@@ -661,6 +661,20 @@ STATIC mp_obj_t wifi_radio_get_ap_info(mp_obj_t self) {
661661}
662662MP_DEFINE_CONST_FUN_OBJ_1 (wifi_radio_get_ap_info_obj , wifi_radio_get_ap_info );
663663
664+ //| stations_ap: None
665+ //| """In AP mode, returns list of named tuples, each of which contains:
666+ //| mac: bytearray (read-only)
667+ //| rssi: int (read-only, None on Raspberry Pi Pico W)
668+ //| ipv4_address: ipv4_address (read-only, None if station connected but no address assigned yet or self-assigned address)"""
669+ STATIC mp_obj_t wifi_radio_get_stations_ap (mp_obj_t self ) {
670+ return common_hal_wifi_radio_get_stations_ap (self );
671+ }
672+
673+ MP_DEFINE_CONST_FUN_OBJ_1 (wifi_radio_get_stations_ap_obj , wifi_radio_get_stations_ap );
674+
675+ MP_PROPERTY_GETTER (wifi_radio_stations_ap_obj ,
676+ (mp_obj_t )& wifi_radio_get_stations_ap_obj );
677+
664678//| def start_dhcp(self) -> None:
665679//| """Starts the station DHCP client."""
666680//| ...
@@ -750,6 +764,7 @@ STATIC const mp_rom_map_elem_t wifi_radio_locals_dict_table[] = {
750764 { MP_ROM_QSTR (MP_QSTR_start_ap ), MP_ROM_PTR (& wifi_radio_start_ap_obj ) },
751765 { MP_ROM_QSTR (MP_QSTR_stop_ap ), MP_ROM_PTR (& wifi_radio_stop_ap_obj ) },
752766 { MP_ROM_QSTR (MP_QSTR_ap_active ), MP_ROM_PTR (& wifi_radio_ap_active_obj ) },
767+ { MP_ROM_QSTR (MP_QSTR_stations_ap ), MP_ROM_PTR (& wifi_radio_stations_ap_obj ) },
753768
754769 { MP_ROM_QSTR (MP_QSTR_start_dhcp ), MP_ROM_PTR (& wifi_radio_start_dhcp_client_obj ) },
755770 { MP_ROM_QSTR (MP_QSTR_stop_dhcp ), MP_ROM_PTR (& wifi_radio_stop_dhcp_client_obj ) },
@@ -783,3 +798,13 @@ MP_DEFINE_CONST_OBJ_TYPE(
783798 MP_TYPE_FLAG_HAS_SPECIAL_ACCESSORS ,
784799 locals_dict , & wifi_radio_locals_dict
785800 );
801+
802+ const mp_obj_namedtuple_type_t wifi_radio_station_type = {
803+ NAMEDTUPLE_TYPE_BASE_AND_SLOTS (MP_QSTR_WifiRadioStation ),
804+ .n_fields = 3 ,
805+ .fields = {
806+ MP_QSTR_mac_address ,
807+ MP_QSTR_rssi ,
808+ MP_QSTR_ipv4_address ,
809+ },
810+ };
0 commit comments