Go Down

Topic: glcd Compile Problem (Read 3129 times) previous topic - next topic

lc2047

Mar 11, 2015, 05:33 am Last Edit: Mar 11, 2015, 05:33 am by lc2047
HI all,

I'm a begginer in Arduino and i'm having problems with a 128x64 LCD.

When I compile a seketch of "Hello World" in GLCD, it will show below error message.

Arduino: 1.6.0 (Windows XP), Board: "Arduino Uno"

Build options changed, rebuilding all

In file included from C:\Program Files\Arduino\libraries\glcd/glcd.h:38:0,
                 from HelloWorld.pde:15:
C:\Program Files\Arduino\libraries\glcd/fonts/SystemFont5x7.h:48:28: error: variable 'System5x7' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t System5x7[] PROGMEM = {

                            ^
C:\Program Files\Arduino\libraries\glcd/fonts/Arial14.h:55:27: error: variable 'Arial_14' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t Arial_14[] PROGMEM = {

                           ^
C:\Program Files\Arduino\libraries\glcd/fonts/Arial_bold_14.h:48:32: error: variable 'Arial_bold_14' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t Arial_bold_14[] PROGMEM = {

                                ^
C:\Program Files\Arduino\libraries\glcd/fonts/Corsiva_12.h:48:29: error: variable 'Corsiva_12' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t Corsiva_12[] PROGMEM = {

                             ^
C:\Program Files\Arduino\libraries\glcd/fonts/Verdana_digits_24.h:49:28: error: variable 'Verdana24' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t Verdana24[] PROGMEM = {

                            ^
C:\Program Files\Arduino\libraries\glcd/fonts/fixednums7x15.h:21:32: error: variable 'fixednums7x15' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t fixednums7x15[] PROGMEM = {
                                ^
C:\Program Files\Arduino\libraries\glcd/fonts/fixednums8x16.h:26:32: error: variable 'fixednums8x16' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t fixednums8x16[] PROGMEM = {

                                ^
C:\Program Files\Arduino\libraries\glcd/fonts/fixednums15x31.h:23:33: error: variable 'fixednums15x31' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static uint8_t fixednums15x31[] PROGMEM = {
                                 ^
Error compiling.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.


Please help to let me know what wrong. :'(

bperrybap

#1
Mar 12, 2015, 01:26 am Last Edit: Mar 12, 2015, 03:29 am by bperrybap Reason: fixed typo
I was the co-author of the GLCDv3 library.
I no longer support this library and it has not been updated or maintained since Dec 2011.
The problem you are experiencing is that the newer IDEs use a newer updated version
of the AVR gcc tools and the progmem references in the GLCD library no longer work.


I abandoned the GLCDv3 library to create a new library called openGLCD.
openGLCD has many updates and fixes that are not in GLCDv3.
It has many new features that are not in GLCDv3, including examples that demonstrate
all the API functions in the library.
It has a GLCDv3 mode that can help transition GLCDv3 sketches to openGLCD.
Although, unless you have a very large existing GLCDv3 project I would not recommend
using the GLCDv3 emulation mode.

openGLCD is licensed GPL 3.0 vs GLCDv3 licensing terms of LGPL 2.1+
If you are ok with GPL 3.0 licensing terms (you have an open source project)
then you should take a look at using openGLCD.
The openGLCD repo can be found here: openGLCD

Have a read through the wiki on the openGLCD page, as it explains all the licensing terms,
how to install it, and has links to the download page.

Once you download the library code, you can then look at all the included html documentation
that is included with the library. There is a wealth of information in the included documentation,
including how to wire up the display, how to troubleshoot issues, and of course
documentation on all the API functions.

--- bill

lc2047

Bill

Thanks for your help.
I have try with your demo program of openGLCD.
It is no error messgae alret.

Do you mean "glcd" face out ready?


In openGLCD demo, there have serival setting for LCD chip & pin assignment.
How can I control(or clear) it?


BR

bperrybap

Do you mean "glcd" face out ready?
Do you mean "phased out" ?
The GLCDv3 library is still there for anyone to access; however,
it has not been updated in 3 years and is no longer being maintained by anyone.
Because it no longer functions in the newer Arduino IDEs it is quickly becoming obsolete.

I just got a notice from Google, that Google is  phasing out google code.
As of today 2015-03-12 no new projects can be created
As of Aug of 2015 everything becomes read only so nothing can be updated,
By early 2016 all projects hosted on Google Code, including the glcd project will go away.

Quote
In openGLCD demo, there have serival setting for LCD chip & pin assignment.
How can I control(or clear) it?
All of this is covered in the HTML documentation that comes with the library.
Refer to the sections:
[Wiring]->[KS0108 Family] section for information on wiring
[Configuration] for information about how to configure pins.

There is a wealth of information in the HTML documentation.

--- bill

pradipkhare

Hi Bill,

This was helpful for me as well. I was also getting same those errors using GLCD v3 from GitHub. Now it has been resolved the problem using your OpenGLCD. Thanks.

- Pradip
PK

Go Up