From 77cf2c04fb01621719498071c6bfc551eae278d2 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Fri, 8 Feb 2019 11:04:36 +0100 Subject: [PATCH 1/3] fix UdpContext::listen signature by using IPAddress fix #5738 --- libraries/ESP8266WiFi/src/include/UdpContext.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index af67ae140a..e16bbe4eb5 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -95,7 +95,7 @@ class UdpContext return true; } - bool listen(CONST ip_addr_t* addr, uint16_t port) + bool listen(CONST IPAddress& addr, uint16_t port) { udp_recv(_pcb, &_s_recv, (void *) this); err_t err = udp_bind(_pcb, addr, port); From 78a98e353d15735fdb42a5594d1bb1dd320cfdeb Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Fri, 8 Feb 2019 13:14:33 +0100 Subject: [PATCH 2/3] fix with lwIP-1.4 --- libraries/ESP8266WiFi/src/include/UdpContext.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index e16bbe4eb5..336ac8d35e 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -95,12 +95,21 @@ class UdpContext return true; } - bool listen(CONST IPAddress& addr, uint16_t port) +#if LWIP_VERSION_MAJOR == 1 + bool listen(IPAddress addr, uint16_t port) + { + udp_recv(_pcb, &_s_recv, (void *) this); + err_t err = udp_bind(_pcb, addr, port); + return err == ERR_OK; + } +#else + bool listen(const IPAddress& addr, uint16_t port) { udp_recv(_pcb, &_s_recv, (void *) this); err_t err = udp_bind(_pcb, addr, port); return err == ERR_OK; } +#endif void disconnect() { From 2903e29b818dcaf2640c64cfca0e8c2913afb968 Mon Sep 17 00:00:00 2001 From: David Gauchard Date: Mon, 11 Feb 2019 12:31:05 +0100 Subject: [PATCH 3/3] fix UdpContext::connect signature by using IPAddress --- .../ESP8266WiFi/src/include/UdpContext.h | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index bc8b01a635..b08e410954 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -90,28 +90,39 @@ class UdpContext } } - bool connect(const ip_addr_t* addr, uint16_t port) +#if LWIP_VERSION_MAJOR == 1 + + bool connect(IPAddress addr, uint16_t port) { - _pcb->remote_ip = *addr; + _pcb->remote_ip = addr; _pcb->remote_port = port; return true; } -#if LWIP_VERSION_MAJOR == 1 bool listen(IPAddress addr, uint16_t port) { udp_recv(_pcb, &_s_recv, (void *) this); err_t err = udp_bind(_pcb, addr, port); return err == ERR_OK; } -#else + +#else // lwIP-v2 + + bool connect(const IPAddress& addr, uint16_t port) + { + _pcb->remote_ip = addr; + _pcb->remote_port = port; + return true; + } + bool listen(const IPAddress& addr, uint16_t port) { udp_recv(_pcb, &_s_recv, (void *) this); err_t err = udp_bind(_pcb, addr, port); return err == ERR_OK; } -#endif + +#endif // lwIP-v2 void disconnect() {