Author Topic: Color weirdness with model exports to FPP effect sequences (eseq)  (Read 5193 times)

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Hi folks,

I have been doing some testing with Effects in FPP and came across a weird problem that I can't quite put my finger on. If I play the sequence from xLights 4.2.2 (Either directly from xLights, or by running the .fseq on FPP 1.5 beta) everything on my pixel nodes on the F16V2 looks just as it does in the xLights simulator. However, if I export the model to a "Falcon Pi Sub sequence. *.eseq" a.k.a an effect sequence, and play the eseq on FPP the colors seem to be shifted around as though the RGB channel/color order has changed. It isn't just a channel config issue on the F16V2 as I am using the same outputs+pixels for both tests. I'm not entirely sure if this is an xLights model export issue, something not working properly in FPP 1.5 beta or just me not knowing what I am doing.

I have attached samples of the xml/fseq and eseq in the case they can help shed some light on this. I'm happy to open a bug against xLights or FPP on github if this ends up being a legitimate bug and not just a PEBCAK.

If it isn't anything obvious, I might just do a tcpdump on the Pi while both tests are running and inspect the E1.31 with Wireshark's sACN dissector for the target universe to see what is happening with those channels.


[attachment deleted by admin]

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #1 on: August 24, 2015, 08:11:48 AM »
Hmm...I didn't know we had an export to Falcon Pi sub sequence.  So what is your RGB color order in your model definitions in xLights?  Seems like that would be the first place to look.  Compare your RGB order definitions everywhere they can be defined.  Why don't you display a fixed pattern of red, green, and blue and tell us exactly how the colors are shifting?

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #2 on: August 24, 2015, 12:55:46 PM »
Thanks Gil,

This model is RGB in xLights as well as on the corresponding string port in the F16V2. Using test mode from FPP the colors match as they do from the test tab in xLights suggesting that the config for color order is correct. I am not aware of an model-export-specific color order setting.

Per your sage advise, I ran a fixed red color tests (Using 30 seconds of On in the sequencer) and as before, the .fseq looks fine, but the exported .eseq seems to be transitioning through each color channel. Watching the E1.31 diag screen on the F16V2 OLED makes it look like, to borrow a video reference, that horizontal sync has been lost.

Since this is a bit difficult to convey in text alone, I shot a short video showing both the .fseq and .eseq playing.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #3 on: August 24, 2015, 12:59:35 PM »
Show us your F16v2 setup screens.  Actually that probably won't help.  If the fseq plays fine it's probably not the setup.  Have you ever created an eseq file that worked before?  Has anyone else here done it?
« Last Edit: August 24, 2015, 01:02:17 PM by Gilrock »

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #4 on: August 24, 2015, 01:16:08 PM »
Sure thing Gil,

I have attached the E1.31 and string port config screens for the F16V2 and the FPP E1.31 channel output screen.

The pixel is the first device attached to port 4, which corresponds with universe 4, output 1 in xLights (channel 1531). I use a channel override of channel 1531 when playing the .eseq.

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #5 on: August 24, 2015, 01:21:59 PM »
Show us your F16v2 setup screens.  Actually that probably won't help.  If the fseq plays fine it's probably not the setup.  Have you ever created an eseq file that worked before?  Has anyone else here done it?

I personally haven't seen an .eseq work properly before, but I can ask around over in the FPP subforum on the Falcon site.

Offline jnealand

  • Hero Member
  • *****
  • Posts: 1421
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #6 on: August 24, 2015, 01:58:16 PM »
The question in my curious mind is what are you doing that requires an event sequence.  I need some education here.  I ask because I hardly ever see this come up as a topic for discussion.
Jim Nealand
Kennesaw, GA

Offline gerry

  • Hero Member
  • *****
  • Posts: 695
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #7 on: August 24, 2015, 02:02:11 PM »
There was a topic on the falcon forum re tune to sign ... Is this about the same ?
Gerry

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #8 on: August 24, 2015, 02:29:32 PM »
Hi guys,

I am attempting to use an effect to drive a set of pathway lights for my Halloween setup. The rest of the house will be running a regular sequence, but when visitors trigger a pressure pad/breakbeam sensor it will trigger the effect sequence (I am using a GPIO input from a PiFace board on my RPi to do this).

Gerry, I believe the thread you are referencing is this one. The enhancements CaptainMurdoch introduced to support this is an auto-starting background effect and added the ability for effects to auto-repeat. IMHO, these are pretty handy for a tune-to sign among other things.

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #9 on: August 24, 2015, 03:38:01 PM »
I captured the output from both tests and it seems to match what I was seeing on the F16V2's E1.31 diag screen.

Each ACN packet when playing the eseq jumps by one channel.

Here is the data for the reference .fseq. The same data payload is sent until the sequence ends:

Code: [Select]
                Data...   1  2  3  4  5  6  7  8  9 10 | 11 12 13 14 15 16 17 18 19 20
                001-020: FF 00 00 FF 00 00 FF 00 00 FF | 00 00 FF 00 00 FF 00 00 FF 00
                020-040: 00 FF 00 00 FF 00 00 FF 00 00 | FF 00 00 FF 00 00 FF 00 00 FF
                040-060: 00 00 FF 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                060-080: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                080-100: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                100-120: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                120-140: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                140-160: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                160-180: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                180-200: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                200-220: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                220-240: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                240-260: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                260-280: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                280-300: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                300-320: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                320-340: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                340-360: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                360-380: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                380-400: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                400-420: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                420-440: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                440-460: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                460-480: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                480-500: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                500-520: 00 00 00 00 00 00 00 00 00 00

Here is the eseq:
Packet1
Code: [Select]
                Data...   1  2  3  4  5  6  7  8  9 10 | 11 12 13 14 15 16 17 18 19 20
                001-020: FF 00 00 FF 00 00 FF 00 00 FF | 00 00 FF 00 00 FF 00 00 FF 00
                020-040: 00 FF 00 00 FF 00 00 FF 00 00 | FF 00 00 FF 00 00 FF 00 00 FF
                040-060: 00 00 FF 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                060-080: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                080-100: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                100-120: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                120-140: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                140-160: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                160-180: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                180-200: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                200-220: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                220-240: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                240-260: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                260-280: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                280-300: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                300-320: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                320-340: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                340-360: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                360-380: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                380-400: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                400-420: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                420-440: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                440-460: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                460-480: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                480-500: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                500-520: 00 00 00 00 00 00 00 00 00 00
Packet2
Code: [Select]
                Data...   1  2  3  4  5  6  7  8  9 10 | 11 12 13 14 15 16 17 18 19 20
                001-020: 00 FF 00 00 FF 00 00 FF 00 00 | FF 00 00 FF 00 00 FF 00 00 FF
                020-040: 00 00 FF 00 00 FF 00 00 FF 00 | 00 FF 00 00 FF 00 00 FF 00 00
                040-060: FF 00 00 FF 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                060-080: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                080-100: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                100-120: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                120-140: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                140-160: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                160-180: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                180-200: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                200-220: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                220-240: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                240-260: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                260-280: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                280-300: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                300-320: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                320-340: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                340-360: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                360-380: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                380-400: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                400-420: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                420-440: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                440-460: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                460-480: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                480-500: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                500-520: 00 00 00 00 00 00 00 00 00 00
Packet3
Code: [Select]
                Data...   1  2  3  4  5  6  7  8  9 10 | 11 12 13 14 15 16 17 18 19 20
                001-020: 00 00 FF 00 00 FF 00 00 FF 00 | 00 FF 00 00 FF 00 00 FF 00 00
                020-040: FF 00 00 FF 00 00 FF 00 00 FF | 00 00 FF 00 00 FF 00 00 FF 00
                040-060: 00 FF 00 00 FF 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                060-080: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                080-100: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                100-120: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                120-140: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                140-160: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                160-180: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                180-200: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                200-220: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                220-240: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                240-260: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                260-280: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                280-300: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                300-320: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                320-340: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                340-360: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                360-380: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                380-400: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                400-420: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                420-440: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                440-460: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                460-480: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                480-500: 00 00 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 00 00
                500-520: 00 00 00 00 00 00 00 00 00 00

I have also attached the pcaps from both tests.

Offline Setarcos

  • Newbie
  • *
  • Posts: 20
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #10 on: August 24, 2015, 05:38:38 PM »
It looks like this was an xLights export bug that was not correctly computing modelSize for models that did not have channel counts that were a multiple of four.

Thanks again to CaptainMurdoch for helping to localize the issue and submitting a patch!
« Last Edit: August 25, 2015, 12:12:49 AM by Setarcos »

Offline CaptainMurdoch

  • Full Member
  • ***
  • Posts: 124
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #11 on: August 24, 2015, 09:25:15 PM »
I already committed the patch, it is just waiting for the next build and release. I help the xLights guys keep xLights running under Linux and fix the occasional bug like this so I have commit privs.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #12 on: August 25, 2015, 07:31:50 AM »
Yeah I saw the checkin and did a quick look at the changes.  I didn't dig into it but it looked like the code that was there was already trying to do the multiple of four adjustment so I'm not sure why the existing code didn't work.  It was something like size = size + (size%4) which will give a multiple of 4 for size.

Offline dkulp

  • Supporting Member
  • Hero Member
  • *
  • Posts: 812
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #13 on: August 25, 2015, 08:17:50 AM »
Yeah I saw the checkin and did a quick look at the changes.  I didn't dig into it but it looked like the code that was there was already trying to do the multiple of four adjustment so I'm not sure why the existing code didn't work.  It was something like size = size + (size%4) which will give a multiple of 4 for size.

If size is "3", that would be size = 3 + (3 % 4)  which would be 6.  So the math was wrong. The mis-named "rountTo4" function does it correctly.
Daniel Kulp
Framingham, MA

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Color weirdness with model exports to FPP effect sequences (eseq)
« Reply #14 on: August 25, 2015, 09:10:43 AM »
Yeah I was think of the wrong remainder.   So it should have been size = size + (4 - size%4).