Triks-C and the Falcon Player

Thanks for confirming it works.

A video would be nice if you can post one. That way I can see it in action on a real display since all I've seen so far is my text-based ASCII-art "virtual Triks-C/LEDTriks" debug output. :)
 
I didn't have to make any changes to the code, it was a config issue.

In your other post, you said your display was 2x2, 32x96, is your display really 32-pixels wide and 96 tall or is it 96 wide and 32 tall? What do you have for your model definition in Nutcracker? If your display is 96 wide by 32 tall, you should have the model defined as a horizontal matrix made up of 32 strings with 96 RGB nodes per string and 1 strand per string starting on the top left corner.

If that is the config you are using and it's still not working, can you post a video link? Also, if I could get your sample sequence, I could use it to test on this end to confirm what I see.

If your display really is 32 wide by 96 tall then I may need to do some more coding or I might be able to come up with a Nutcracker model config which would work for you.
 
I didn't have to make any changes to the code, it was a config issue.

In your other post, you said your display was 2x2, 32x96, is your display really 32-pixels wide and 96 tall or is it 96 wide and 32 tall? What do you have for your model definition in Nutcracker? If your display is 96 wide by 32 tall, you should have the model defined as a horizontal matrix made up of 32 strings with 96 RGB nodes per string and 1 strand per string starting on the top left corner.

If that is the config you are using and it's still not working, can you post a video link? Also, if I could get your sample sequence, I could use it to test on this end to confirm what I see.

If your display really is 32 wide by 96 tall then I may need to do some more coding or I might be able to come up with a Nutcracker model config which would work for you.

It is 32 high by 96 wide - the video I posted before would suggest otherwise but it's on its side. HERE is the video I took of it running (10/9). Panel 1 is lower left.

The artifacts are part of the fun of LedTriks - nothing to do with your code...
 
Last edited:
OK, so it doesn't appear to be a layout issue, it's more of a refresh issue. I think it is driving the output too fast and missing data.

Can you go to the FPP Settings page and turn on 'excessive' level debugging and check the 'channel data' and 'channel outputs' checkboxes. Then run your test for a few seconds until the glitches start showing up and then stop the playback. Go back to the settings page and revert to 'info' level logging and check 'most'. Download the logs zip from the logs tab of the FPP File Manager and I'll take a look at the logs. I thought that with 4 panels that we would be skipping frames, but if the USB serial write call is returning fast enough, we could be processing all the frames but stomping on the data output.

At 57600 bps, 5760 characters per second, that leaves only 288 characters per frame if we are refreshing 20 frames per second at a 50ms interval. Each frame is a minimum of 98 bytes not counting any extra bytes we insert to escape the 0x7e, 0x7d, and 0x7f values. 98 bytes * 4 panels = 392 total bytes per frame, so it looks like it might be overrunning the output. If the logs confirm that, the only option is to throttle the output speed to less than 20 frames per second when using 4 panels. Even 3 panels would be over the 288 bytes per frame limit. Instead of throttling, another user option would be to drive it as two 2x1 displays each with their own 57600 bps connection. Nutcracker would see it as 1 model but fpp would see it as 2 outputs with a 2x1 layout on each.
 
OK - - I think I did that right - just go the link for the video above and it should be in the same dir - FPP_Logs_20141010.0453.zip (4+MB). I slowed things down in a bit in this sequence but it actually just showed off the issue a bit more since it lingers more. The failures occur pretty much all the time to some degree. I can get a video up if necessary but it's similar to the other - just slower.

I guess I should have cleared the logs first...

I re-ran everything but cleared the logs and only included the fpp log - much better...
 

Attachments

  • FPP_Logs_20141010.0506.zip
    20.8 KB · Views: 3
Last edited:
Thanks, the logs helped.

I have added some throttling to the code. Since the 3 and 4 panel layouts require longer than 50ms to send the data over the 57600 bps serial line, they can only be updated once every 100ms when the sequence timing is 50ms. This will be smoother than updating them as fast as possible using possibly older data which would cause a jumpy display. The throttling code allows 1 panel to be updated at 25ms timing, 2 panels at 50ms timing, 3 at 75ms, and 4 at 100ms. If you have a 50ms sequence and 4 panels, that means we have to skip every other frame, so you may want to slow down the speed of some effects in Nutcracker so they won't jump 2 pixels at a time because we skipped the frame with the middle pixel position.

I just pushed the new code to the repository. For people with only 2 panels, there isn't really any change, but it would be helpful if you could confirm there are no regressions with the throttle logic.

The other solution for 2x2 users will be to treat the display as two 2x1 layouts each connected to their own USB to serial interface on the Pi to achieve 50ms timing. The Triks-C driver in FPP uses a thread to run the channel translation code, so I believe that the Pi could keep up with the data and send it out the two USB ports in parallel to keep the two halves of the display in sync.
 
I may need some help here. I have finally loaded the new image on the FPP. My SD card (Transcend) evidently had a problem and took me all weekend to figure it out. I have made my matrix (one panel) and have made a test file. It plays fine in both places in nutcracker, but I can't get it to work in the preview mode. I am getting some sort of output from the FPP(the usb to serial is blinking), but no output to the ledtriks. Any ideas?

EDIT: I closed Xlights and reopened it. I can't play the file I created now. I must be exporting or saving it wrong. It is a 16 by 48 matrix and that part I get.
Thanks.
 
Last edited:
If the xLights preview doesn't work, then the data being sent to the Triks-C may be all blank so you wouldn't see any lights.

It sounds like your start channel may be off. Can you paste screenshots of the Nutcracker model and the Triks-C Channel Output config in FPP? A shot of the Nutcracker sequence screen with the sequence loaded would also be helpful.
 
You might want to try the Perl script posted earlier just to ensure everything is talking properly.
 
I would like to try this too but don't feel confident what to do. Is there a dummies guide for simpletons?

Sent from my SM-N9005 using Tapatalk
 
I hope this is what you were looking for. I thought I had this nailed. I am also using a Keyspan USB-serial. Never had any issues with it.
 

Attachments

  • FPP.jpg
    FPP.jpg
    105.7 KB · Views: 24
  • sequence.jpg
    sequence.jpg
    124.9 KB · Views: 22
  • model.jpg
    model.jpg
    78.2 KB · Views: 25
Last edited:
I hope this is what you were looking for. I thought I had this nailed. I am also using a Keyspan USB-serial. Never had any issues with it.

The Nutcracker model and FPP config look good, and if you were seeing a blinking light on the USB dongle while playing a sequence then it seems to be transmitting data. It would be good to run the Perl script I attached to a post earlier in the thread to confirm that the dongle is working with the Triks-C. It will turn on certain LED's and print out a description of what the display should look like.

How familiar are you with Nutcracker? Can you post a screenshot of Nutcracker with the sequence loaded? Also, if you attach the FPP .fseq file or xLights/Nutcracker .xseq and .xml I'll take a look at those.
 
Cancel that request Captain. I managed to work out the Dev master code. (little Yay for me!)
Now to work out the next part with Xlights.

Is using the old Vixen tricks files in the pipe line?
 
Keith,

Not sure if this is the issue but you selected "Media and Sequence" but did not specify a media file. Maybe you should choose sequence only.
 
I have found a bug nutcracker. If i set up a single colour horizontal matrix 16x96, the start and end channels both equal the same. Changing to RGB seems to work.
horizontal matrix Green.png

horizontal matrix RGB.png
 
It won't play the sequence. I may have nothing there. It won't let me upload the fseq file.
 

Attachments

  • sequence2.jpg
    sequence2.jpg
    74.6 KB · Views: 12
Last edited:
Back
Top