Replies: 3 comments
-
It’s within a few milliseconds, visually imperceptible. Check out this demo where they effects span multiple wifi segments.
(6857) LED Fireworks Outdoor Lighting Arduino ESP32 with Source Code - YouTube <https://www.youtube.com/watch?v=7QNtj2hZtaQ&ab_channel=Dave%27sGarage>
- Dave
… On Oct 4, 2021, at 5:27 PM, JD Smith ***@***.***> wrote:
How good is the NTP sync between server and ESP32 in your experience? 10ms? Better?
I've implemented a circular queue for WLED to buffer packets, measure their average arrival period, and play them back at that rate, with feedback control to ensure the queue remains ~half full of packets on average. But the PR hasn't gotten much traction. The point is to defeat the 40-60ms jitter in my home Wifi. Works quite well (check this heartbeat example <https://www.youtube.com/watch?v=uZ52QPZrdwA&t=1s>).
BTW, WLED <https://github.com/Aircoookie/WLED> is also a CPP multi-channel ESP32 LED control system with a very powerful UI for non-coders and a bunch of supported network streaming protocols. Worth a look.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#19>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCF2QHTKU7Q7ZI3X6Z63UFJBAVANCNFSM5FKROMSA>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
-
@jdtsmith , if you consider Dave's answer authoritative answer complete and correct, please consider marking this issue as closed. The current developers that are actively working on NightDriver are certainly aware of WLED. We're just better at different things. I don't know if the code was there when Dave wrote that answer, but these days, there is an ENABLE_WIFI flag in ND that's somewhat similar to one of the protocols supported by WLED (https://kno.wled.ge/interfaces/ddp/ ? UDP Sync? something....) that lets a Real Computer send timestamped packets to the devices. (The details don't matter, so I'm not looking it up - I'm just using it as a reference you may be familiar with...) The devices, hopefully all with synchronized timestamps will look at the timestamp on the received pixel buffer and not display that frame until that time is reached. So even if you have some minor jitter or loss on your WiFi or other protocol, you should be able to buffer up to a couple of seconds (especially on ESP32's with copious PSRAM) worth of data and keep them synchronized as long as you have some amount of stable connectivity at least once in a while. I've simulated the cases that Dave's describing. The NTP sync is very good and the timestamped "display this in the future" feature is awesome. If this answer works for you, please consider marking it complete. If there's omething futher that we can research to add to it, please add any remaining necessary details so that a qualified dev can look at it. |
Beta Was this translation helpful? Give feedback.
-
Just for reference, the average clock error is under 1ms between strips. On a long running system the esp32 clock can drift a bit so it resyncs periodically as well.
- Dave
… On Sep 15, 2024, at 4:11 AM, JD Smith ***@***.***> wrote:
Closed #19 <#19> as resolved.
—
Reply to this email directly, view it on GitHub <#19>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA4HCF743IP74KE3FUNJW73ZWVTO3AVCNFSM6AAAAABOHTCQOGVHI2DSMVQWIX3LMV45UABFIRUXGY3VONZWS33OIV3GK3TUHI5E433UNFTGSY3BORUW63R3GE2TAMJZGIZA>.
You are receiving this because you commented.
|
Beta Was this translation helpful? Give feedback.
-
How good is the NTP sync between server and ESP32 in your experience? 10ms? Better?
I've implemented a circular queue for WLED to buffer packets, measure their average arrival period, and play them back at that rate, with feedback control to ensure the queue remains ~half full of packets on average. But the PR hasn't gotten much traction. The point is to defeat the 40-60ms jitter in my home Wifi. Works quite well (check this heartbeat example).
BTW, WLED is also a CPP multi-channel ESP32 LED control system with a very powerful UI for non-coders and a bunch of supported network streaming protocols. Worth a look.
Beta Was this translation helpful? Give feedback.
All reactions