Too many errors compiling Aurora sketch

Hey Louis and Jason, i hope you are both well during these strange times.

I have been running a 32x32 matrix with teensy 3.2 with aurora and did a youtube video covering how great it was. Then Jason upped the build with a 64x64, which looked amazing. so followed, at the time there was an issue with the animated gifs, aurora would crash when an sd card was inserted. that got fixed, so i am now also running a teensy 3.5 with smartmatrix version 3 and 64x64 matrix, its been sitting on my desk for 3 years, and still looks stunning… ok, onto the problem ive been getting alot of requests on my youtube channel ( cine-lights ) regarding the build. so i purchased the smartmatrix v4 board and thought i would cover the build using the v3 and v4 boards.

But i have tried the last few nights trying to get aurora to compile without errors. I have Gone back to arduino v1.68 with teensyduino version 1.28 and fastled 3.1 im trying to compile aurora v 1.68 - and the errors are endless.

Has anyone updated aurora to compile on the latest ide, or could give me the version of ide, teensyduino version, with fastled version to get it to compile without errors. or if you can throw me a hex file that would be amazing.

Hi Manny, sorry but I don’t think anyone is running Aurora right now. @Jason is working on other awesome non-matrix projects (check out his Twitter) and not maintaining Aurora anymore. I’d like to get Aurora compatible with the latest code running on SmartLED Shield for Teensy 3 and with the upcoming SmartLED Shield for Teensy 4 where a 128x128 pixel Aurora display might be feasible, but it’s not a project I can take on right now, sorry.

If you’re trying to compile on really old versions of the IDE/Teensyduino, you’ll need to roll back SmartMatrix Library, and then you’ll lose support for SmartLED Shield for Teensy 3 V4.

Your best bet now to get some of the content of Aurora running on your panel is using this project: Announce: SmartMatrix::GFX

I’m not up to speed on what’s going on with Aurora. Looks like Jason did some updates on Aurora to run 64x64, but it’s on a separate branch:

Were you compiling the code from this branch?

Can you copy and paste the errors you’re getting here?

I’m motivated to get this working. I got the branch I mentioned above and found it wasn’t compiling, and have a lead on the major issue that hopefully Jason can help me out with.

In the meantime, I read through some other Aurora related posts here and found others have come up with workarounds. In particular, user @fbriceno97 has a modified Aurora sketch that is/was working. You may want to contact Felix to get his code. Felix, if you can share a link to your code here (or email me at hello@pixelmatix.com), maybe that would help me get the Aurora sketch on GitHub working for more people.

Hey Loius Thanks for your input, The smartmatrix shield with aurora was great package, for the led blinky light addiction it was a 100% fix, animated gifs, patterns. and sound reaction, what more could you ask for… My channel is pretty small compared to others , but its picking up, even though im lacking time to maintain it. so im sticking to requests, and the smartmatrix over the last year has gained some serious requests. i did have the perfect setup on my laptop for compiling both aurora for the teensy 3.2 and 3.5, but the laptop died, i did how ever back up all the versions of teensyduino and arduino ide…

ok, this is where i am… from memory lol…it was 2-3 years ago…i did have a set up that would compile with no errors without edits…

arduino ide v1.65 v5 with teensyduino 1.28 for teensy 3.2 - too many errors
arduino ide v1.68 with teensyduino 1.30 first input to teensy 3.5
arduino ide v1.65.v5 with teensyduino 1.30 as arduino v1.68 dropped
arduino ide v1.65 v5 with teensyduino 1.31 as arduino v1.68 dropped
arduino ide v1.69 with teensyduino 1.30
arduino ide v1.69 with teensyduino 1.32
arduino ide 1.6.11 with teensyduino 1.30
arduino ide 1.6.11 with teensyduino 1.32
arduino ide 1.6.12 with teensyduino 1.32

All of the above produced pages of errors, linking to smartmatrix, fastled, and numerous others way to many to list.

my last setup with arduino 1.6.12 and teensyduino 1.32 produced one.

Arduino: 1.6.12 (Windows 10), TD: 1.32, Board: “Teensy 3.5, Serial, 120 MHz, US English”

C:\Users\Mannys\Documents\Arduino\libraries\aJson\aJSON.cpp:42:22: fatal error: pgmspace.h: No such file or directory

#include <pgmspace.h>

                  ^

compilation terminated.

Multiple libraries were found for “SD.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\SD
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Multiple libraries were found for “Wire.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\Wire
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire
Error compiling for board Teensy 3.5.

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

This is the closest i have got to compiling., i understand with the version 4 board it may not work, i am happy with that - but if i can get it to work on the v3 board its something i can share. i have had the v4 board working with no issues with the supplied demos. This is such a great project, but its out of my knowledge zone to fix. Both yourself and Jason should jump on this, in my emails alone its 30+ requests… any help would obviously be much appreciated… and please stay safe… oh and if you bring out a 128x128. version… i will never sleep again lol…

Just to add, i am using smartmatrix v3 library with the above settings and trying to compile for a 3.5 teensy…

To attempt to get rid of the pgmspace.h error i did find a fix :

But after this fix i was greeted with even more errors

Menu.h:220: error: ‘powerOff’ was not declared in this scope
powerOff();

                  ^

Menu.h:233: error: ‘powerOff’ was not declared in this scope
powerOff();

                ^

Menu.h:239: error: ‘adjustBrightness’ was not declared in this scope
adjustBrightness(1, false);

                                ^

Menu.h:240: error: ‘saveBrightnessSetting’ was not declared in this scope
saveBrightnessSetting();

                             ^

Menu.h:246: error: ‘adjustBrightness’ was not declared in this scope
adjustBrightness(-1, false);

                                 ^

Menu.h:247: error: ‘saveBrightnessSetting’ was not declared in this scope
saveBrightnessSetting();

would be about 5% of the errors given.

I got the branch to compile and play patterns (well whatever pattern comes up without a remote attached). It crashes with a SD card inserted. The main issue is the FilenameFunctions file used to interface with the SD library was missing, and though it’s based on the one in the AnimatedGIFs sketch, has some unique functions for Aurora. I tried to recreate those functions but must have made some mistakes. I think the files are just on Jason’s machine and weren’t committed, so if I hear back from Jason there should be an easy fix. If not, I’ll try to find a fix myself. I’ll commit what I have tomorrow so you can at least play patterns, and we’ll go from there.

Hey Louis Thanks

The fix for th sd card being inserted it :

I was able to fix the crash with SD card installed on a Teensy 3.5. In Aurora.ino code seems to halt at line 422: menuItemAnimations.visible = sdAvailable && animations.imageCount > 0;

Commenting this out seems to fix the issue and thus far I’ve not had issues with it properly identifying gif’s. - this was not my fix -but it worked for me when i had it running.

Hi Manny,

Thanks for pointing out that fix, it was helpful.

With Jason’s help I figured out what happened: Jason was using his fork of the AnimatedGIFs sketch as a library by putting it in the Arduino/libraries folder, so Aurora was depending on a library I didn’t know existed. Now there actually is a GifDecoder Library, and I merged Jason’s FilenameFunctions.* changes into Aurora and made it use the new GifDecoder Library. It compiles and seems to be working with a few caveats:

  • You need to comment out the line you mentioned above - I didn’t comment it out in the code, as there’s an issue that needs to be fixed, and commenting out isn’t a real fix
  • You need to install the GifDecoder Library which you can do from Arduino Library Manager if you want

(edit: I fixed the uppercase/lowercase issue and removed my notes from this post: “Aurora.ino” was in a folder named “aurora” and Arduino wasn’t happy about the lowercase “a”)

Hopefully this helps you get going, while we try to figure out the remaining issue

Hey Louis, Thankyou so much, i have a weeks holiday, and i seem to be busier now than when im at work. can i ask which versions of arduino ide, and teensyduino and fastled you are using ? i had to install all the lastest one for my last video.

Latest of everything except FastLED which is 3.3.3 (I just haven’t upgraded in a while). Enjoy your holiday!

Hey Louis, I have just had a quick play, its still not compiling for me, errors as follows :

Arduino: 1.8.12 (Windows 10), TD: 1.53, Board: “Teensy 3.5, Serial, 120 MHz, Faster, US English”

                 ^

In file included from C:\Users\Mannys\Desktop\aurora-sm3.1-teensy3.6-64x64\Aurora\Aurora.ino:74:0:

C:\Users\Mannys\Documents\Arduino\libraries\aJson-master/aJSON.h:92:6: error: conflicting return type specified for ‘virtual int aJsonStream::flush()’

int flush();

  ^

In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/Stream.h:24:0,

             from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/HardwareSerial.h:252,

             from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/WProgram.h:46,

             from C:\Users\Mannys\AppData\Local\Temp\arduino_build_69846\pch\Arduino.h:6:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/Print.h:62:15: error: overriding ‘virtual void Print::flush()’

virtual void flush() { }

           ^

Multiple libraries were found for “SD.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Multiple libraries were found for “GifDecoder.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\GifDecoder
Not used: C:\Users\Mannys\Documents\Arduino\libraries\AnimatedGIFs
Error compiling for board Teensy 3.5.

I have tried a different version of the ajson library, the other version gives me lots of other errors. thanks for the hard work your putting in here… it highly appreciated i do need to do some more learning when it comes the the teensy…

Quick reply as I’m in the middle of something:

I’m using Arduino JSON 6.15.2 from Arduino Library Manager

Multiple libraries were found for “SD.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD

Try removing the library from Documents and use the Teensy SD library

Multiple libraries were found for “GifDecoder.h”
Used: C:\Users\Mannys\Documents\Arduino\libraries\GifDecoder
Not used: C:\Users\Mannys\Documents\Arduino\libraries\AnimatedGIFs

Remove AnimatedGIFs from your libraries folder

Let me know how that goes.

Thanks,
Louis

In case it helps, full compilation output on my machine:

Hey,
I managed to replicate your setup - so exact libraries, my only. issue was still the ajson library found here https://github.com/interactive-matter/aJson labelled v1.0, i wasnt able to find another version. i did however have version on my backup drive which i have no source location, but it fixed everything. it does throw a few warnings as you have mentioned. I did cut down Aurora a little to suit my taste on my previous version so will have to do that again. But very happy to have it compiling again.

Thanks Louis - Both yourself and Jason have always been a great help when ever issues arise a huge thankyou. i will throw a link of the completed video when done…

thanks again

Hi Manny,

Glad you got it working! I got the JSON libraries confused. I didn’t even realize I had aJson installed, and it looks like I’m using a fork for some reason:

This must have the fix. I think it would be good to have Aurora use Arduino Json instead of aJson in the future.

I did cut down Aurora a little to suit my taste on my previous version so will have to do that again

What did you cut down? It’s good to know how you’re using it, so maybe there can be an option to easily do what you need in a future version.

Looking forward to the video!