Last channel not outputting

Hi,

So I've updated my software to 3.8u4 and am in the process of installing this year's display (fighting the sub-zero UK temperatures!)

I haven't changed anything in my setup other than the addition of another controller on another fixed IP. All my controllers (I have 5 now) are arduinos and process 4 universes of pixels.
The issue I am having is the very last pixel in each universe isn't outputting the blue channel. This would be channel 510 in my case.

My controllers are configured as
Universe 1 1-510
Universe 2 1-510
Universe 3 1-510
Universe 4 1-510

See screenshot of my patching, this shows 2 pixels connected to the last 6 channels of a WS2811 universe. At first I thought I had a dicky pixel, then realised all universes have this issue

3.8u4.png

192.168.0 201 U2 channel 505 - Pixel 84 red
192.168.0 201 U2 channel 506 - Pixel 84 green
192.168.0 201 U2 channel 507 - Pixel 84 blue
192.168.0 201 U2 channel 508 - Pixel 85 red
192.168.0 201 U2 channel 509 - Pixel 85 green
192.168.0 201 U2 channel 510 - Pixel 85 blue


On the graphical view, it's the lowest output which isn't happening, so I'm missing the blue colour on the last pixel in all my universes. I don't think adding the debug controller proves anything since this may be related to the network packet structure. It looks like each universe is missing the last byte.

**UPDATE** I found the first controller in my set of 5 doesn't have this issue - maybe I've messed something up on the Arduino firmware that I've never noticed. I'll do some more tests by swapping universes / connections
 
Last edited:
I think I have resolved this. It does seem to be related to my controller firmware. I have 5 arduinos on the following unicast addresses

192.168.0.200
192.168.0.201
192.168.0.202
192.168.0.203
192.168.0.204

Unless there's any issues when outputting to more than one IP? This is also the order of the controllers in my display setup.

The oldest one (200) is OK, maybe I have made some errors in the firmware regarding the channel count. TBH I think I'll live with it for now, I don't fancy messing with the source code until I can get everything back indoors at the end of the season.
 
Last edited:
I found the issue - it was indeed my Arduino firmware, the receive buffer on the ethernet data was one byte too small. therefore it was always missing the last channel in each universe. It was an easy fix (with everything back indoors....) :) The problem had been there for all but the first year (when I just had the one arduino) but I had never spotted it.
 
Last edited:
Back
Top