No sync sent if Segment 0 not enabled

My setup consists of 2 slave nodes I need to sync to one master. Everything was working as expected when I first set it up. Then something changed and I lost it - the sync that is. This has been driving me nuts for weeks now. Finally, I solved it by troubleshooting the old fashion way—I used tcpdump to look for the sync signal [ tcpdump -X udp -i <your_wifi_device> port 21324 ], confirmed that the sync packet was produced after a factory reset, and then started adding my configuration changes one-by-one until they stopped being produced.

My master node has 160 LEDs divided into 5 segments. What I discovered was that after I created and enabled these segments, the sync packets would no longer be produced if segment 0 wasn’t enabled, along with the others, even though everything works on the master node as expected without it enabled. Actually, sync packets were still produced by the macros T=2 and FX=~ whether on not segment 0 was enabled, but without segment 0, no packets were produced for changes to Effects and Colors.

Oddly, before any Segments are created, Effects & Color sync packets are produced whether on not Segment 0 is enabled.

Is this expected behavior?

This is using soundReactive_WLED_0.12.0a_ESP32 on a D1 Mini NodeMCU, but I believe it is true for WLED_0.12.0_ESP8266 running on an ESP8266 NodeMCU, and will test that later this morning.

BTW, Thank you Aircookie for one of the best, and bast led projects I’ve seen in more than 20 years in the Open Source & Linux world.

I have now confirmed that the above issue also exists in the case of WLED_0.12.0_ESP8266 running on an ESP8266 NodeMCU.

I have also confirmed this with SR 0.13.0-b2 on a ESP32 NodeMCU. In this case, setup for 512 LEDs (but none attached), it will send the sync packet even with Segment 0 disabled, provided there are no other segments, but once Segment 1 is created for the same 512 LEDs, both segments must be enabled before a sync packet is produced.