It took me a little while,

fastled-showtell
gplus
(Marc MERLIN) #1

It took me a little while, but I’m done doing a proper port of @Louis_Beaudoin AnimatedGif code to neomatrix + spiffs. I’m guessing he has no way to test my code without the hardware I use, so it’s probably hard to take my pull request. As a result, I just forked off the lib and added my own improvements and driver support.
Namely:

(Marc MERLIN) #2

and here is a “I just want to display an animated GIF” in 60-ish lines: https://github.com/marcmerlin/AnimatedGIFs/blob/master/SimpleGifAnimViewer/SimpleGifAnimViewer.ino

(Marc MERLIN) #3

@Louis_Beaudoin : I forgot to add that just like you couldn’t test my NeoMatrix PR, I wasn’t able to test that I didn’t break SmartMatrix in my tree. I hope it still works, but I have no hardware to test it. If you have some spare time, feel free to give it a shot and let me know if I broke it.

(Marc Miller) #4

Nice work Marc!

(Scott Peterson) #5

I have a 8x55 matrix that I want to test this on running off of an ESP8266. I am not seeing where I set which pin to use in the code. I see in the comments that it’s set to the default Teensy SPI pins. Is there any way to change that? Sorry for such a silly question. I cannot see anything in neither config.h nor AnimatedGIFs.ino that lets me change the pinout or color order.

(Marc MERLIN) #6

@Scott_Peterson it’s in https://github.com/marcmerlin/AnimatedGIFs/blob/master/neomatrix_config.h
#ifdef ESP8266
#define NEOPIN 5
However if you are using parallel output, then that pin is ignored, see
https://github.com/marcmerlin/AnimatedGIFs/blob/master/neomatrix_config.h#L162
WS2811_PORTA defines which pins get used, and the comment just above in the code, tells you what they are depending on the platform

The example file I gave provides supports for 2 different matrices I had lying around, one with parallel output, one with serial output and
#define M16BY16T4
//#define M32BY8T3P
at the top decides which codepath gets used.
Obviously you should modify one to match your matrix layout

(Scott Peterson) #7

I apparently cannot get any GIF to run other than the ones you have provided… Those gifs all work and a couple of others even though the colors are way off. The rest of the gifs won’t display. When a gif is displayed, it displays the top part of the gif (first 8 rows as my matrix is 55x8) only. By adjusting OFFSETY it will move the GIF up or down, but does not fill in the space with that part of the animated gif that should be there, it just displays nothing.

I created a gif that is 55x8 that should theoretically display if the offsets are set to zero and it will not display at all. I thought maybe that it is looking for a gif that is 32x32 and only display the top 8 rows. I created another gif that is 32x32 and has animation in the first 8 rows and it still does not display. The serial monitor says the gif is being played but nothing shows up on the matrix

I opened the gif in Photoshop so I could make sure it has the same color settings as the ones you have supplied and it does. They are 8 bit RGB. I even reduced the file size of the gif as I thought that it may be too large to render as it was 96KB. It’s now 1KB and that didn’t work either.

I adjusted LSWMAXBITS to 10 from 12 and that did nothing.

My gif is a single blue bar 3 pixels wide that moves back and forth in blue… Not sure what else to try. I am using a D1 Mini (Amazon Clone) btw…

(Scott Peterson) #8

I figured out why some of the gifs are not showing up. It has to do wit the color profile. I am using WS2812B strips it uses GRB where as the code is set to RGB. I am not sure I need to make changes to modify the colors as I see there are color declarations in a few of the scripts.

(Marc MERLIN) #9

@Scott_Peterson Sorry for not replying to your previous comment, it was marked as spam as G+ and I never saw it, sorry about that.
I’m not sure why GRB vs RGB would cause GIFs not to show up at all, but if you need to change that, go to


or basically the appropriate place for your matrix config, and modify toFastLED.addLeds<WS2812, DATA_PIN, GRB>
If you have a matrix you’ve never used with FastLED::Neomatrix before, I recommend you try the basics with

make sure you get the right layout, colors, etc…

(Scott Peterson) #10

I figured out certain colors won’t show if your gamma is set too high. For me 3.0 was apparently too high for certain blues. After setting the gamma to 1.5 all of the colors appeared that were missing or the gifs that were not playing are now visible.

(Marc MERLIN) #11

@Scott_Peterson interesting. Come to think of it, I had the reverse problem and had to bring the gamma up to 3.0 to see certain colors. The issue may be because our LEDs are different and the gamma value ends up doing different things for you and me.