WiFi latency may cause two frames to be received too close to each other, causing the WS2801 or WS28012 required frame-gap not to be met.
I think a frame-rate limiter on the receiving end would help.
Input frames should be written to a double buffer, when the entire frame is received the duration since the last frame should be checked. If it would not violate the maximum frame rate, this new frame can be pushed immediatly. If it does violate maximum framerate, a timer should be set to push the new frame as soon as possible. If before this timer elapses (the beginning of) a new frame is received, we should stop the timer and drop the frame.
WiFi latency may cause two frames to be received too close to each other, causing the WS2801 or WS28012 required frame-gap not to be met.
I think a frame-rate limiter on the receiving end would help.
Input frames should be written to a double buffer, when the entire frame is received the duration since the last frame should be checked. If it would not violate the maximum frame rate, this new frame can be pushed immediatly. If it does violate maximum framerate, a timer should be set to push the new frame as soon as possible. If before this timer elapses (the beginning of) a new frame is received, we should stop the timer and drop the frame.