14 Replies Latest reply on Dec 4, 2014 9:27 PM by Paridhi_Agrawal

    TFT.h not working?



      I'm trying to connect an lcd-tft display to Galileo, but tft library looks incompleted.


      this is the error that appear:

      In file included from arduino-1.5.3/libraries/TFT/src/TFT.h:7:0,

                       from sketch_oct15a.ino:15:

      arduino-1.5.3/libraries/TFT/src/utility/Adafruit_ST7735.h:29:26: fatal error: avr/pgmspace.h: No such file or directory

      compilation terminated.


      Is there a way to solve?

        • 1. Re: TFT.h not working?


          I have similar error for SoftwareSerial library.

          Any recomendations?

          • 2. Re: TFT.h not working?

            This is an AVR- specific file which directly addresses registers found in the atmel chip used on the Arduino.

            This (among other libraries) needs to be ported for Galileo, an effort which hasn't begun yet.

            • 3. Re: TFT.h not working?

              Any idea who is leading this effort? I would like to participate, and I woul like to see my TFT diplay running in my galileo.


              • 4. Re: TFT.h not working?
                Clayton Hofrock

                There is already a fix for the pgmspace.h problem. All it requires is downloading a zip file from github, and unzipping it into the correct folder.


                Re: Missing avr/pgmspace.h

                • 5. Re: TFT.h not working?



                  After completing creating AVR folder and adding in the file, I now get different error.  glcd.c;2:20:fatal error: avr/io.h: no such file or directory

                  I realy would like to get the TFT shield I purchased from the arduino site up and running. does anyone know how can I achieve this. on the galileo.

                  • 6. Re: TFT.h not working?

                    I have not seen anyone say that they have ported avr/io.h to Galileo. You can find the avr directory in the Arduino 1.05 release: Arduino/hardware/tools/avr/avr/include.

                    io.h is simple, most of it can be replaced with an empty file.  The nested includes will be harder: avr/portpins.h, avr/common.h, avr/version.h, avr/fuse.h, and avr/lock.h.

                    Just remember if you are doing your own conversion - Galileo has neither fuses nor program storage.

                    If you get it working - post your results.

                    • 7. Re: TFT.h not working?

                      Afraid no success here tried for about 6 hours, is there any instructions to get this working very disappointed that it does not work. I am proud supporter of intel, and I decided to buy over the standard arduino boards.


                      Im not a programmer so don't have to skill to start at this level,  . is there plans to fix ?


                      Very frustrating, I am in a coderdo club and I bought one of these TFT screens test along with a few kits to get the kids interested. as I though it would work like the other boards, Is there any one out there that can provide me with instruction on how to get this running. The GSM shield I bought is exactly the same. whats the point saying it arduino compatible!!. Very frustrated.


                      • 8. Re: TFT.h not working?
                        Clayton Hofrock

                        When you said no success, does that mean that your sketch compiles now but does not work?


                        Or are you still having issues getting the sketch to compile.


                        I actually am surprised at how many user developed Arduino libraries rely on Arduino specific libraries like pmgspace and others. Many of the libraries include this Arduino specific libraries, but then barely use them, or do not use them at all.

                        • 9. Re: TFT.h not working?

                          What shield are you using? Can you link to it? I got this lcd working: http://www.adafruit.com/products/1651 I am a software engineer for a living so it was easy for me to modify the code to get it to work. I probably don't have the one you are using but I might be able to help out depending on how similar the screens are -- but I am willing to give it a shot. If your screen isn't SPI it is unlikely to be usable due to IO speed. I have been able to get a SPI screen working well enough for my uses so I expect other SPI screens should be possible.

                          • 10. Re: TFT.h not working?

                            I'm using Arduino - GTFT

                            I'm just trying to compile TFTDisplayText example (Arduino 1.5.3 example sketch), without success. What I've done since then, it's creating dummy header files, once there were no errors for trying to find a file, I get stuck in this error message:

                            C:\Galileo\arduino-1.5.3/hardware/tools/x86/i686-pokysdk-mingw32/usr/bin/i586-poky-linux-uclibc/i586-poky-linux-uclibc-g++ -m32 -march=i586 --sysroot=C:\Galileo\arduino-1.5.3/hardware/tools/x86/i586-poky-linux-uclibc -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -march=i586 -m32 -DARDUINO=153 -IC:\Galileo\arduino-1.5.3\hardware\arduino\x86\cores\arduino -IC:\Galileo\arduino-1.5.3\hardware\arduino\x86\variants\galileo_fab_d -IC:\Galileo\arduino-1.5.3\libraries\TFT\src -IC:\Galileo\arduino-1.5.3\hardware\arduino\x86\libraries\SPI C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp -o C:\Users\eagamezg\AppData\Local\Temp\build8760477691167927185.tmp\src\utility\Adafruit_ST7735.cpp.o



                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp: In member function 'void Adafruit_ST7735::commonInit(uint8_t*)':

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:266:15: error: 'PinDescription' has no member named 'pPort'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:267:15: error: 'PinDescription' has no member named 'ulPin'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:268:15: error: 'PinDescription' has no member named 'pPort'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:269:15: error: 'PinDescription' has no member named 'ulPin'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:283:19: error: 'PinDescription' has no member named 'pPort'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:284:19: error: 'PinDescription' has no member named 'ulPin'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:285:19: error: 'PinDescription' has no member named 'pPort'

                            C:\Galileo\arduino-1.5.3\libraries\TFT\src\utility\Adafruit_ST7735.cpp:286:19: error: 'PinDescription' has no member named 'ulPin'



                            • 11. Re: TFT.h not working?

                              You are running into problems with some performance optimizations in the code for handling bit banging SPI. Galileo has hardware SPI so this isn't needed. I added preprocessor directives to skip the code. I have attached my TFT folder to this message. I have no way to test it as I don't have your LCD but it should be a good start. I have a different LCD but I made similar changes to get it to work. If it does work, I expect it to run really slow. You will see it plot a pixel at a time. There are some optimizations that can be done to speed up the SPI communication. I didn't do this because it is important to get something working first.


                              I added ifdefs around the atmel specific header. I see that mikalhart came up with a better solution. He has a replacement header file at: https://github.com/mikalhart/galileo-Pgmspace.h This is a better over-all solution although the ifdefs will work.

                              • 12. Re: TFT.h not working?

                                Hi all,

                                Firstly thanks for the help. The TFT screen I have purchased is http://arduino.cc/en/Main/GTFT#.UxzGHsbivIU

                                I have deleted all install files and started again. i reinstalled the intel arduino files. Based on the instructions to get this working i need to add to sets of lib at minimum. TFT.h & SPI.H


                                the SPI.H is present by default when you add lib by going ( sketch -> Import Library -> SPI.) it adds #include <SPI.H> , so when  i do this and compile/verify  it compiles fine. By default the TFT  is not there by going to (sketch -> Import Library )  in the drop down list even though it is present in the library folder structure where i extracted the files to.

                                So i add this by (Sketch ->Import Library, Add library) and selecting where the TFT files are located after the install. These are C:\arduino-1.5.3\ libraries\tft ,  This then appears by selecting Files skectchbook -> libraries. By selecting this and only leaving TFT.H to my window try to compile and i get all the errors. Im not getting pass the compile/verify stage even to try to get the TFT screen working. http://arduino.cc/en/Tutorial/TFTDisplayText#.UxzI78bivIU

                                thanks for help so far.


                                • 13. Re: TFT.h not working?

                                  I admit, I don't fully follow what you wrote. Take the TFT directory from the zip file and overwrite the TFT directory from your arduino libraries directory. I just modified the source code and zipped up my entire directory. Don't treat it as a new library, just an updated version of the one you already have.

                                  • 14. Re: TFT.h not working?

                                    HI dferyance,


                                    I am using http://www.adafruit.com/products/1651  screen and tried uploading your above sketch https://communities.intel.com/servlet/JiveServlet/download/225897-76386/TFT.zip . I tried TFTBitmapLogo example sketch , but I do not see anything on the screen. Did you get Adafruit 1.8 Color TFT Shield w/microSD and Joystick ID: 802 - $34.95 : Adafruit Industries, Unique & fun DIY electronic… working instead ?


                                    Could you please help me with this?