but that is already giving me the following issues and I have no idea where to start:
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp: In member function 'void LCD12864::selectCS1()':
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:74: error: 'digitalWrite' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp: In member function 'void LCD12864::Initialise()':
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:82: error: 'B00000001' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:83: error: 'B00000010' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:84: error: 'B00000100' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:85: error: 'B00001000' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:86: error: 'B00010000' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:87: error: 'B00100000' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:88: error: 'B01000000' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:89: error: 'B10000000' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:92: error: 'OUTPUT' was not declared in this scope
C:\Users\Al\Documents\Arduino\libraries\LCD12864\LCD12864.cpp:92: error: 'pinMode' was not declared in this scope
You downloaded the library but where did you put it?
Also this "LCD12864.h" should be this <LCD12864.h> in the library is not in the same folder as the sketch.
Hi, what version of the IDE are you using, also look in the directory where the application file for the IDE resides and look to see if there is a LIBRARY folder there.
If so place the library in there, like you have in
C:\Users\Al\Documents\Arduino\libraries\LCD12864
That is where I place all my library files for vers 1.5 and have no problems.
Guys,
clearly if the library .cpp module is being found (and it is, since you see the compile errors),
it is not any sort of issue with where the library is placed.
It also isn't an issue of "" vs <> on the include file as that won't matter given the include search
path given to the compiler the IDE and the gcc rules for using/searching it.
James is correct about being a pre 1.x library, and
for this you can give a big Thank You to the Arduino team that
decided it was a good idea to intentionally
break the world of existing libraries (100% of 3rd party libraries)
when moving from the release candidate to the final 1.0 release.
They opted not to provide backward compatibility header files.
Unlike the title of the thread, the issues actually are quite trivially resolved.
The library is simply written before the 1.0 release changed things
and broke everything.
In your case, you need the Arduino.h include at the top of LCD12864.cpp
before the other includes and definitely not inside the C extern.
(I'm guessing you simply changed wiring.h to Arduino.h)
I have no idea how what they had even worked on pre 1.x
All that said, that library is fairly old and hasn't been maintained.
A big issue for you might be that it does not support the Print class
so you can't easily output any text.
As you mentioned once I added #include "Arduino.h" at the top of LCD12864.cpp I was able to compile. (I am not home so I can not test the code on the Display yet).
I do not understand what you mean by it not supporting the Print class. You mean I can not use Serial.println anymore? or do you mean that the library I have chosen does not support printing ASCII on the display?
The Serial object is unaffected by using the LCD12864 library.
The Serial object uses the the HardwareSerial class library.
HardwareSerial includes Stream which includes Print.
The Print class is what provides the services for all the print()/println() functions.
If a library does not support the Print class, then you will not be able to use the print()/println() functions.
The LCD12864 library class library creates a default object, LCDA
Since the LCD12864 library does not support the Print class,
the LCDA object will not be able to use the print()/println() functions.
The LCD12864 library contains a small set of graphic only routines.
You can see them in the LCD12864.h header file.