Problems Implementing Libraries?

Hi guys,

I'm looking at building a Typhon LED Controller, here are the links for reference:

Programme : Google Code Archive - Long-term storage for Google Code Project Hosting.

General: http://www.nano-reef.com/topic/321511-typhon-based-led-controller-on-the-cheap-seriously/

I've been trying with various versions of the Arduino PC software to compile various versions of the Typhon sketch with no success. I have all the required libraries shown in the sketch and I can find them under the Sketch menu in the PC software.

A lot of my issues ended up with RTC problems, the latest one (and the fewest errors on compiling so far!) is

In file included from anothertyphonattempt.ino:26:
C:\Users\Owner\Documents\Arduino\libraries\LiquidCrystal/LiquidCrystal.h:82: error: conflicting return type specified for 'virtual void LiquidCrystal::write(uint8_t)'
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

Anyone give me some pointers?

Could you perhaps post the sketch that gives you those errors.

Actually looking again, I suspect you've downloaded the LiquidCrystal library and put it in your own libraries directory. I believe this is conflicting with the library that's included with the IDE. Try renaming the directory C:\Users\Owner\Documents\Arduino\libraries\LiquidCrystal to something obscure.

Hi KenF, I've removed the LiquidCrystal library I downloaded and now get this error:

anothertyphonattempt:39: error: 'LiquidCrystal' does not name a type
anothertyphonattempt.ino: In function 'void printMins(int, boolean)':
anothertyphonattempt:263: error: 'lcd' was not declared in this scope
anothertyphonattempt:265: error: 'lcd' was not declared in this scope
anothertyphonattempt.ino: In function 'void printHMS(byte, byte, byte)':
anothertyphonattempt:281: error: 'lcd' was not declared in this scope
anothertyphonattempt:283: error: 'lcd' was not declared in this scope
anothertyphonattempt.ino: In function 'void setup()':
anothertyphonattempt:308: error: 'lcd' was not declared in this scope
anothertyphonattempt.ino: In function 'void loop()':
anothertyphonattempt:372: error: 'lcd' was not declared in this scope
anothertyphonattempt:385: error: 'lcd' was not declared in this scope
anothertyphonattempt:390: error: 'lcd' was not declared in this scope
anothertyphonattempt:392: error: 'lcd' was not declared in this scope
anothertyphonattempt:408: error: 'lcd' was not declared in this scope
anothertyphonattempt:453: error: 'lcd' was not declared in this scope
anothertyphonattempt:476: error: 'lcd' was not declared in this scope
anothertyphonattempt:502: error: 'lcd' was not declared in this scope
anothertyphonattempt:520: error: 'lcd' was not declared in this scope
anothertyphonattempt:539: error: 'lcd' was not declared in this scope
anothertyphonattempt:561: error: 'lcd' was not declared in this scope
anothertyphonattempt:587: error: 'lcd' was not declared in this scope
anothertyphonattempt:605: error: 'lcd' was not declared in this scope
anothertyphonattempt:624: error: 'lcd' was not declared in this scope
anothertyphonattempt:646: error: 'lcd' was not declared in this scope
anothertyphonattempt:672: error: 'lcd' was not declared in this scope
anothertyphonattempt:690: error: 'lcd' was not declared in this scope
anothertyphonattempt:709: error: 'lcd' was not declared in this scope
anothertyphonattempt:731: error: 'lcd' was not declared in this scope
anothertyphonattempt:757: error: 'lcd' was not declared in this scope
anothertyphonattempt:775: error: 'lcd' was not declared in this scope
anothertyphonattempt:794: error: 'lcd' was not declared in this scope
anothertyphonattempt:813: error: 'lcd' was not declared in this scope

The Sketch I am using it on the "Programme" link in my OP

Yet I don't see any "no such file or directory" So did you perhaps delete the include from your sketch too?

I downloaded the source. Changed the name to Typhon.ino according to the new convention.

First problem: I don’t have the “Button” library.
https://github.com/tigoe/Button Hit “Download .zip”. Move .zip file to libraries folder and unzip. Make sure folder is named “Button” not “Button-master”. Re-start IDE.

Second problem: The current “Button” library does not define “PULLDOWN”. It defines “BUTTON_PULLDOWN”. Change Typhon in four places.

Third problem: Don’t have the EEPROMVar.h file. Found it in the EEPROMEx library:
EEPROMex library for Arduino - zip Install as for the Button library.

Fourth problem:
Wire.send() was changed to Wire.write() in Arduino 1.0. Fix Typhon in 9 places.
Wire.receive() was changed to Wire.read() in Arduino 1.0. Fix Typhon in 7 places.

Fifth problem: Standard EEPROM library conflicts with EEPROMVar.h.
Change #include <EEPROM.h> to #include <EEPROMEx.h>

Typhon now compiles.

johnwasser:
I downloaded the source. Changed the name to Typhon.ino according to the new convention.

First problem: I don’t have the “Button” library.
https://github.com/tigoe/Button Hit “Download .zip”. Move .zip file to libraries folder and unzip. Make sure folder is named “Button” not “Button-master”. Re-start IDE.

Second problem: The current “Button” library does not define “PULLDOWN”. It defines “BUTTON_PULLDOWN”. Change Typhon in four places.

Third problem: Don’t have the EEPROMVar.h file. Found it in the EEPROMEx library:
EEPROMex library for Arduino - zip Install as for the Button library.

Fourth problem:
Wire.send() was changed to Wire.write() in Arduino 1.0. Fix Typhon in 9 places.
Wire.receive() was changed to Wire.read() in Arduino 1.0. Fix Typhon in 7 places.

Fifth problem: Standard EEPROM library conflicts with EEPROMVar.h.
Change #include <EEPROM.h> to #include <EEPROMEx.h>

Typhon now compiles.

Your perseverance does you credit. That’s a step beyond the call :slight_smile:

johnwasser, thanks hugely for your help! Downloading the code and making it work for you to help me out is a massive help and way beyond the call of a help thread!

I have followed part of your advice, I had been playing around as well as awaiting advice here and I am using Arduino 1.0.6 on the PC right now, I followed what you said about the EEPROMEx library but I must have used a different Button library as it didn't need adjusting as far as I can tell.

When I change

Fourth problem:
Wire.send() was changed to Wire.write() in Arduino 1.0. Fix Typhon in 9 places.
Wire.receive() was changed to Wire.read() in Arduino 1.0. Fix Typhon in 7 places.

I get errors, but it compiles if I leave .send and .receive as they are.

Which version should it be?
My parts will be arriving from Friday onwards, hopefully all arrive by Monday and be assembled and sketch downloaded shortly after!

Thanks to you too KenF!