5 Replies Latest reply on May 28, 2015 7:19 AM by DiegoV_Intel

    play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?

    xiaoyang

      Recently, I am trying to play video on Edison. I have ordered a TFT 2.8'' screen with SPI data bus interface.

      I want to know is there any driver module for this screen in yocto? If I plug in the screen, can yocto recognize it and read its information automatically? 

        • 1. Re: play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?
          DiegoV_Intel

          Hello xiaoyang,

           

          If you plug your screen it won't be detected automatically. You have to write some code for it that uses the SPI port. There are some threads in the community about TFT screens. I will recommend you the following:

           

           

          In the first thread you will find a discussion about a 2.8" TFT display for Edison. The thread is very useful and you will find some useful libraries as well. The second thread is from Galileo forum however it has useful information about a TFT screen that you can use with Edison.

           

          I hope you find the threads above helpful.

           

          Regards,

          Diego.

          • 2. Re: play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?
            xiaoyang

            Hi Diego, thank you very much for the resources you provided. But they are all based on Arduino. I learned that arduino is slow in data transmission, And I am planning to use Edison to play video, I wonder If I install a video player in yocto, and write some driver in yocto to make the 2.8 tft screen work. Can I achive my goal?

            • 3. Re: play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?
              DiegoV_Intel

              Hi xiaoyang,

               

              The TFT screen you want to use has a SPI port. The SPI port can be programmed through the Arduino IDE or, if you prefer, from Linux side. I'm not sure if a video player will work for this display but if you prefer working from Linux side I would suggest using the MRAA library. You can use it in Python or C++. In both cases you will be working from Linux side.

               

              Regards,

              Diego.

              • 4. Re: play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?
                xiaoyang

                Hi, Diego. You are right. So I tried to adjust the driver using Arduino IDE. And I am using the library in Support for the Adafruit 2.8" TFT display for Arduino Edison. I wonder can the library works out just fine since the screen I use is of the same screen controller (ILI9341) with the Adafruit screen  2.8 TFT LCD with Touchscreen Breakout Board w/MicroSD Socket [ILI9341] ID: 1770 - $29.95 : Adafruit Industries, Unique &… .

                 

                Since I get a compile problem. It seems that Arduino IDE 1.5.3 has no avr library. Do you know where can I get that? If I add the avr library into the libraries of Arduino IDE 1.5.3, can it work out fine?

                Arduino: 1.5.3-Intel.1.0.4 (Windows 7), Board: "Intel® Edison"

                 

                C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/i686-pokysdk-mingw32/usr/bin/i586-poky-linux/i586-poky-linux-g++ -m32 -march=i586 --sysroot=C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/core2-32-poky-linux -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -D__ARDUINO_X86__ -march=i686 -m32 -DARDUINO=153 -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\cores\arduino -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\variants\edison_fab_c -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\libraries\SPI -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Adafruit_ILI9341 C:\Users\xiaoy\AppData\Local\Temp\build2379357286834256139.tmp\graphicstest.cpp -o C:\Users\xiaoy\AppData\Local\Temp\build2379357286834256139.tmp\graphicstest.cpp.o

                C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/i686-pokysdk-mingw32/usr/bin/i586-poky-linux/i586-poky-linux-g++ -m32 -march=i586 --sysroot=C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/core2-32-poky-linux -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -D__ARDUINO_X86__ -march=i686 -m32 -DARDUINO=153 -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\cores\arduino -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\variants\edison_fab_c -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\libraries\SPI -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Adafruit_ILI9341 -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\libraries\SPI\utility C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\libraries\SPI\SPI.cpp -o C:\Users\xiaoy\AppData\Local\Temp\build2379357286834256139.tmp\SPI\SPI.cpp.o

                C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/i686-pokysdk-mingw32/usr/bin/i586-poky-linux/i586-poky-linux-gcc -m32 -march=i586 --sysroot=C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/core2-32-poky-linux -c -g -Os -w -ffunction-sections -fdata-sections -MMD -D__ARDUINO_X86__ -march=i686 -m32 -DARDUINO=153 -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\cores\arduino -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\variants\edison_fab_c -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\hardware\arduino\edison\libraries\SPI -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Adafruit_ILI9341 -IC:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control\utility C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control\glcdfont.c -o C:\Users\xiaoy\AppData\Local\Temp\build2379357286834256139.tmp\Robot_Control\glcdfont.c.o

                C:\Users\xiaoy\Desktop\arduino-1.5.3-Intel.1.0.4\libraries\Robot_Control\glcdfont.c:1:20: fatal error: avr/io.h: No such file or directory

                #include <avr/io.h>

                                    ^

                compilation terminated.

                • 5. Re: play video on Edison, any driver module for TFT 2.8'' screen (SPI) in Yocto?
                  DiegoV_Intel

                  Hi xiaoyang,

                   

                  I don't have the screen to run tests but I've just tried to compile the library and it worked for me. Please check below a summary of what I did to compile the code:

                  1. There is a new Arduino IDE version for Edison. It's the 1.6.0 version. Since you are using the 1.5.3, I will recommend you to download the new version. You can find it here: Intel Arduino 1.6.0 . Once you have the Arduino IDE 1.6.0 on your computer you can continue with the next steps.
                  2. I downloaded the required libraries, which are the following:
                       -> Adafruit ILI9341 for Intel Edison
                       -> Adafruit STMPE610
                       -> Adafruit GFX
                  3. Then, I uncompressed the zip files. You have to rename the folders as follow:
                       -> Adafruit_ILI9341_Intel_Edison
                       -> Adafruit_STMPE610
                       -> Adafruit_GFX
                  4. Then I copied the three folders in C:\...\arduino-1.6.0+Intel\libraries
                  5. I opened the Arduino IDE 1.6.0 and opened the example touchpaint which is under File>Examples>Adafruit_ILI9341_Intel_Edison>touchpaint
                  6. Finally I selected the Intel Edison board and ran the code. It compiled with no errors.

                   

                  You have to make sure the libraries required are in the correct place. As I said before, I don't have the screen so I can't do additional tests. Try to follow the steps above, I hope you can compile the code successfully.

                   

                  Regards,

                  Diego.