Skip to content

Commit 4f6d4e2

Browse files
committed
Doc fix and add set for DNS
1 parent 90fe20a commit 4f6d4e2

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

ports/espressif/common-hal/wifi/Radio.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,12 @@ mp_obj_t common_hal_wifi_radio_get_ipv4_dns(wifi_radio_obj_t *self) {
398398
return common_hal_ipaddress_new_ipv4address(self->dns_info.ip.u_addr.ip4.addr);
399399
}
400400

401+
void common_hal_wifi_radio_set_ipv4_dns(wifi_radio_obj_t *self, mp_obj_t ipv4_dns_addr) {
402+
esp_netif_dns_info_t dns_addr;
403+
ipaddress_ipaddress_to_esp_idf_ip4(ipv4_dns_addr, &dns_addr.ip.u_addr.ip4);
404+
esp_netif_set_dns_info(self->netif, ESP_NETIF_DNS_MAIN, &dns_addr);
405+
}
406+
401407
void common_hal_wifi_radio_start_dhcp_client(wifi_radio_obj_t *self) {
402408
esp_netif_dhcpc_start(self->netif);
403409
}

shared-bindings/wifi/Radio.c

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -459,17 +459,25 @@ MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_ipv4_address_ap_obj, wifi_radio_get_ipv
459459
MP_PROPERTY_GETTER(wifi_radio_ipv4_address_ap_obj,
460460
(mp_obj_t)&wifi_radio_get_ipv4_address_ap_obj);
461461

462-
//| ipv4_dns: Optional[ipaddress.IPv4Address]
463-
//| """IP v4 Address of the DNS server in use when connected to an access point. None otherwise."""
462+
//| ipv4_dns: ipaddress.IPv4Address
463+
//| """IP v4 Address of the DNS server to be used."""
464464
//|
465465
STATIC mp_obj_t wifi_radio_get_ipv4_dns(mp_obj_t self) {
466466
return common_hal_wifi_radio_get_ipv4_dns(self);
467467

468468
}
469469
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_ipv4_dns_obj, wifi_radio_get_ipv4_dns);
470470

471-
MP_PROPERTY_GETTER(wifi_radio_ipv4_dns_obj,
472-
(mp_obj_t)&wifi_radio_get_ipv4_dns_obj);
471+
STATIC mp_obj_t wifi_radio_set_ipv4_dns(mp_obj_t self, mp_obj_t ipv4_dns_addr) {
472+
common_hal_wifi_radio_set_ipv4_dns(self, ipv4_dns_addr);
473+
474+
return mp_const_none;
475+
}
476+
MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_ipv4_dns_obj, wifi_radio_set_ipv4_dns);
477+
478+
MP_PROPERTY_GETSET(wifi_radio_ipv4_dns_obj,
479+
(mp_obj_t)&wifi_radio_get_ipv4_dns_obj,
480+
(mp_obj_t)&wifi_radio_set_ipv4_dns_obj);
473481

474482
//| ap_info: Optional[Network]
475483
//| """Network object containing BSSID, SSID, authmode, channel, country and RSSI when connected to an access point. None otherwise."""
@@ -480,7 +488,7 @@ STATIC mp_obj_t wifi_radio_get_ap_info(mp_obj_t self) {
480488
}
481489
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_ap_info_obj, wifi_radio_get_ap_info);
482490

483-
//| def wifi_radio_start_dhcp_client(self) -> None:
491+
//| def start_dhcp(self) -> None:
484492
//| """Starts the DHCP client."""
485493
//| ...
486494
//|
@@ -490,7 +498,7 @@ STATIC mp_obj_t wifi_radio_start_dhcp_client(mp_obj_t self) {
490498
}
491499
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_start_dhcp_client_obj, wifi_radio_start_dhcp_client);
492500

493-
//| def wifi_radio_stop_dhcp_client(self) -> None:
501+
//| def stop_dhcp(self) -> None:
494502
//| """Stops the DHCP client. Needed to assign a static IP address."""
495503
//| ...
496504
//|

shared-bindings/wifi/Radio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ extern wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self,
9898

9999
extern mp_obj_t common_hal_wifi_radio_get_ap_info(wifi_radio_obj_t *self);
100100
extern mp_obj_t common_hal_wifi_radio_get_ipv4_dns(wifi_radio_obj_t *self);
101+
extern void common_hal_wifi_radio_set_ipv4_dns(wifi_radio_obj_t *self, mp_obj_t ipv4_dns_addr);
101102
extern mp_obj_t common_hal_wifi_radio_get_ipv4_gateway(wifi_radio_obj_t *self);
102103
extern mp_obj_t common_hal_wifi_radio_get_ipv4_gateway_ap(wifi_radio_obj_t *self);
103104
extern mp_obj_t common_hal_wifi_radio_get_ipv4_subnet(wifi_radio_obj_t *self);

0 commit comments

Comments
 (0)