This commit is contained in:
Tomasz Duda 2024-10-17 19:39:52 +02:00
parent 662b31eb76
commit 1ac69f0cef
2 changed files with 5 additions and 14 deletions

View file

@ -3,7 +3,6 @@
#include "esphome/components/network/util.h" #include "esphome/components/network/util.h"
#include "udp_component.h" #include "udp_component.h"
#ifdef USE_NETWORK
namespace esphome { namespace esphome {
namespace udp { namespace udp {
@ -262,8 +261,7 @@ void UDPComponent::setup() {
return; return;
} }
} }
#endif #else
#ifdef USE_SOCKET_IMPL_LWIP_TCP
// 8266 and RP2040 `Duino // 8266 and RP2040 `Duino
for (const auto &address : this->addresses_) { for (const auto &address : this->addresses_) {
auto ipaddr = IPAddress(); auto ipaddr = IPAddress();
@ -372,8 +370,7 @@ void UDPComponent::loop() {
for (;;) { for (;;) {
#if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS) #if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS)
auto len = this->listen_socket_->read(buf, sizeof(buf)); auto len = this->listen_socket_->read(buf, sizeof(buf));
#endif #else
#ifdef USE_SOCKET_IMPL_LWIP_TCP
auto len = this->udp_client_.parsePacket(); auto len = this->udp_client_.parsePacket();
if (len > 0) if (len > 0)
len = this->udp_client_.read(buf, sizeof(buf)); len = this->udp_client_.read(buf, sizeof(buf));
@ -590,8 +587,7 @@ void UDPComponent::send_packet_(void *data, size_t len) {
if (result < 0) if (result < 0)
ESP_LOGW(TAG, "sendto() error %d", errno); ESP_LOGW(TAG, "sendto() error %d", errno);
} }
#endif #else
#ifdef USE_SOCKET_IMPL_LWIP_TCP
auto iface = IPAddress(0, 0, 0, 0); auto iface = IPAddress(0, 0, 0, 0);
for (const auto &saddr : this->ipaddrs_) { for (const auto &saddr : this->ipaddrs_) {
if (this->udp_client_.beginPacketMulticast(saddr, this->port_, iface, 128) != 0) { if (this->udp_client_.beginPacketMulticast(saddr, this->port_, iface, 128) != 0) {
@ -618,4 +614,3 @@ void UDPComponent::send_ping_pong_request_() {
} }
} // namespace udp } // namespace udp
} // namespace esphome } // namespace esphome
#endif

View file

@ -1,7 +1,6 @@
#pragma once #pragma once
#include "esphome/core/component.h" #include "esphome/core/component.h"
#ifdef USE_NETWORK
#ifdef USE_SENSOR #ifdef USE_SENSOR
#include "esphome/components/sensor/sensor.h" #include "esphome/components/sensor/sensor.h"
#endif #endif
@ -10,8 +9,7 @@
#endif #endif
#if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS) #if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS)
#include "esphome/components/socket/socket.h" #include "esphome/components/socket/socket.h"
#endif #else
#ifdef USE_SOCKET_IMPL_LWIP_TCP
#include <WiFiUdp.h> #include <WiFiUdp.h>
#endif #endif
#include <vector> #include <vector>
@ -127,8 +125,7 @@ class UDPComponent : public PollingComponent {
std::unique_ptr<socket::Socket> broadcast_socket_ = nullptr; std::unique_ptr<socket::Socket> broadcast_socket_ = nullptr;
std::unique_ptr<socket::Socket> listen_socket_ = nullptr; std::unique_ptr<socket::Socket> listen_socket_ = nullptr;
std::vector<struct sockaddr> sockaddrs_{}; std::vector<struct sockaddr> sockaddrs_{};
#endif #else
#ifdef USE_SOCKET_IMPL_LWIP_TCP
std::vector<IPAddress> ipaddrs_{}; std::vector<IPAddress> ipaddrs_{};
WiFiUDP udp_client_{}; WiFiUDP udp_client_{};
#endif #endif
@ -159,4 +156,3 @@ class UDPComponent : public PollingComponent {
} // namespace udp } // namespace udp
} // namespace esphome } // namespace esphome
#endif