From 27c35befdf1302c7bab37063b67c22db49d54d9c Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 29 May 2024 11:57:29 +0200 Subject: [PATCH] Another few victims of core3 UDP --- tasmota/tasmota_support/support_device_groups.ino | 3 +++ tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino | 3 ++- tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tasmota/tasmota_support/support_device_groups.ino b/tasmota/tasmota_support/support_device_groups.ino index 699db3911..63b9eb965 100644 --- a/tasmota/tasmota_support/support_device_groups.ino +++ b/tasmota/tasmota_support/support_device_groups.ino @@ -208,6 +208,9 @@ void DeviceGroupsStart() void DeviceGroupsStop() { device_groups_udp.flush(); +#ifdef ESP32 + device_groups_udp.clear(); // New with core3. Does what flush() did in core2; +#endif device_groups_up = false; } diff --git a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino index d0d3b61ff..342c662f8 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_04_light_artnet.ino @@ -245,7 +245,8 @@ void ArtNetLoop(void) uint8_t packet_buffer[WS2812_ARTNET_UDP_BUFFER_SIZE]; // buffer to hold incoming UDP/SSDP packet packet_len = ArtNetUdp->read(packet_buffer, WS2812_ARTNET_UDP_BUFFER_SIZE); - ArtNetUdp->flush(); // Finish reading the current packet +// ArtNetUdp->flush(); // Finish reading the current packet + ArtNetUdp->clear(); // New with core3. Does what flush() did in core2; #endif // AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("UDP: Packet %*_H (%d)"), 32, packet_buffer, packet_len); if (artnet_conf.on) { diff --git a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino index edc2a0d1a..b2316a0f3 100755 --- a/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino @@ -1387,6 +1387,9 @@ int32_t udp_call(char *url, uint32_t port, char *sbuf) { udp.write((const uint8_t*)sbuf, strlen(sbuf)); udp.endPacket(); udp.flush(); +#ifdef ESP32 + udp.clear(); // New with core3. Does what flush() did in core2; +#endif udp.stop(); return 0; }