Skip to content

Commit 4ac7e76

Browse files
authored
netutils dhcp server
1 parent 6dd2e86 commit 4ac7e76

File tree

1 file changed

+7
-0
lines changed
  • ports/raspberrypi/common-hal/wifi

1 file changed

+7
-0
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
#include "lwip/raw.h"
4949
#include "lwip_src/ping.h"
5050

51+
#include "shared/netutils/dhcpserver.h"
52+
5153
#define MAC_ADDRESS_LENGTH 6
5254

5355
#define NETIF_STA (&cyw43_state.netif[CYW43_ITF_STA])
@@ -359,9 +361,14 @@ void common_hal_wifi_radio_stop_dhcp_client(wifi_radio_obj_t *self) {
359361
}
360362

361363
void common_hal_wifi_radio_start_dhcp_server(wifi_radio_obj_t *self) {
364+
ip4_addr_t ipv4_addr, netmask_addr;
365+
ipaddress_ipaddress_to_lwip(common_hal_wifi_radio_get_ipv4_address_ap(self), &ipv4_addr);
366+
ipaddress_ipaddress_to_lwip(common_hal_wifi_radio_get_ipv4_subnet_ap(self), &netmask_addr);
367+
dhcp_server_init(&cyw43_state.dhcp_server, &ipv4_addr, &netmask_addr);
362368
}
363369

364370
void common_hal_wifi_radio_stop_dhcp_server(wifi_radio_obj_t *self) {
371+
dhcp_server_deinit(&cyw43_state.dhcp_server);
365372
}
366373

367374
void common_hal_wifi_radio_set_ipv4_address(wifi_radio_obj_t *self, mp_obj_t ipv4, mp_obj_t netmask, mp_obj_t gateway, mp_obj_t ipv4_dns) {

0 commit comments

Comments
 (0)