I can't get OpenCat.ino to compile. The error message says it's too big for the Uno:
I've commented out all of the decoders in IRremote.h (except NEC):
Just to be sure there isn't another version of IRremote.h lurking around somewhere, I tried renamed it and that broke the compilation of OpenCat, so I know I've edited the right file.
I'm especially confused because this worked fine about a week ago, when I first assembled Bittle. I got as far as compiling and uploading OpenCat back then, but I was too tired to do the calibration properly. I finally got back to it this morning and started the calibration from scratch with WriteInstinct. That worked fine, but OpenCat won't compile.
The only thing that has changed in between is that I pulled from the OpenCat repo. I don't expect that that would be a problem, but just in case I tried reverting to an earlier commit and that didn't help either.
Just in case, I also tried re-installing the IRremote library and using a new download of the OpenCat repo, but neither helped.
Any pointers or advice would be greatly appreciated.
Problem solved! It seems to have been an issue with the tool chain version.
I was using the avr tools installed by my distribution (archlinux), so under "Tools > Boards" I have "Archlinux Arduino AVR boards > Arduino Uno". I installed "Arduino AVR boards" from the board manager and now it works. When I select the Uno from the "Archlinux AVR" submenu, the compiler is:
but from the "Arduino AVR" submenu it's:
With the older version (7.3.0), OpenCat.ino compiles fine:
That doesn't really explain why it worked earlier and gave me trouble now, but that's fine. At least I've got it working, and hopefully this will be helpful to someone else sometime!
I noticed in the verbose compilation that there are many lines for IRremote. I guess it's making an object file for each decoder even though they're disabled? Looking at the temp files from the compilation, almost all except the NEC one are 4K. The NEC one and the overall IRremote.cpp.o are 12K. Does that seem right?
Yes, I'm using v2.6.1. I'm running Linux using v1.8.15 of the Arduino IDE. Here are the library versions reported in a verbose compile:
OpenCat compiled fine a week ago, and literally the only thing I did before it stopped working was 'git pull' and reopen the file -- I hadn't even quit the IDE in the interim.
Did you auto updated the IRremote library? It should still be 2.6.1.
What's your system? Windows/Mac?
The OpenCat.ino code uses 92% flash on my Mac.
You are using the older IRremote library 2.6.1 correct?