ILI9341_t3 as wired for audio card no longer functions

Status
Not open for further replies.

RichardFerraro

Well-known member
As per suggestion, I wire the ILI9341 with the above modifications.
This worked fine, until I fired it up with Arduino 1.6.5 and Teensyduino 1.24.
I only see backlight.

I wired a second unit without audio board (20,21,7,14) and it doesn't work.
I wired the second unit with defaults (9,10,7,14) and it works fine.

Has anything changed?

thanks,

Richard

code excerpt from graphictest.ino indicating only changes.

#include "ILI9341_t3.h"

#define TFT_DC 20 // 9 FERRARO Change
#define TFT_CS 21 // 10 FERRARO Change
ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC);

void setup() {
SPI.setMOSI(7); //FERRARO Add
SPI.setSCK(14); //FERRARO Add

tft.begin();
...
 
Well, your wiring to the alternate pins is the thing that changed!

Your code fragment has the wrong way to use the alternate pins with ILI9341_t3. That way only works with Adafruit's original lib.

Do it like this:

Code:
// For optimized ILI9341_t3 library
#define TFT_DC      20
#define TFT_CS      21
#define TFT_RST    255  // 255 = unused, connect to 3.3V
#define TFT_MOSI     7
#define TFT_SCLK    14
#define TFT_MISO    12
ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK, TFT_MISO);

Full details here:

http://www.pjrc.com/store/display_ili9341.html
 
Well not so sure about that.
This new method works on the newer Teensyduino versions or newer ILI9341_t3 library version.
If i try replacing the ILI9341_t3 library with newer in Arduino 1.0.6, Teensyduino 1.20, i get the error:
'SPI0' was not declared in this scope (SPI0 is now KINETISK_SPI0)

This quick hack works between: Arduino 1.0.6, Teensyduino 1.20 and Arduino 1.6.5-r5, Teensyduino 1.25-beta2 .
Code:
#include "SPI.h"
#include "ILI9341_t3.h"

/////////////// Audio Board Connectio with alternate pins ////////////////
// For optimized ILI9341_t3 library
#define TFT_DC      20
#define TFT_CS      21
#define TFT_RST    255  // 255 = unused, connect to 3.3V
#define TFT_MOSI     7
#define TFT_SCLK    14
#define TFT_MISO    12

// TEENSYDUINO 1.23 and Up / not sure when the changes happen?
#if (TEENSYDUINO >= 123)
#define TFTCONFIG ILI9341_t3(TFT_CS, TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK, TFT_MISO)
#else
// TEENSYDUINO 1.22 and Down
#define TFTCONFIG ILI9341_t3(TFT_CS, TFT_DC, TFT_RST)
#endif

ILI9341_t3 tft = TFTCONFIG;

void setup() {

#if (TEENSYDUINO <= 122)
  /////////////// Audio Board Connectio with alternate pins ////////////////
  //SPI.setMOSI(TFT_MISO);
  SPI.setMOSI(TFT_MOSI);
  SPI.setSCK(TFT_SCLK);
  ///
#endif

  tft.begin();//..........
 
Well, with the actual versions, this change

Code:
// For optimized ILI9341_t3 library
#define TFT_DC      20
#define TFT_CS      21
#define TFT_RST    255  // 255 = unused, connect to 3.3V
#define TFT_MOSI     7
#define TFT_SCLK    14
#define TFT_MISO    12
ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK, TFT_MISO);

leads to following errors (graphicstest), it seems, the constructor won't work correctly:

Code:
var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFillScreen()':
~/Documents/Arduino/graphicstest/graphicstest.ino:125: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:126: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:127: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:128: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:129: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o:~/Documents/Arduino/graphicstest/graphicstest.ino:134: more undefined references to `ILI9341_t3::fillScreen(unsigned short)' follow
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testText()':
~/Documents/Arduino/graphicstest/graphicstest.ino:136: undefined reference to `ILI9341_t3::setCursor(short, short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:137: undefined reference to `ILI9341_t3::setTextColor(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:137: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:139: undefined reference to `ILI9341_t3::setTextColor(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:139: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:141: undefined reference to `ILI9341_t3::setTextColor(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:141: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:144: undefined reference to `ILI9341_t3::setTextColor(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:145: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:147: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:149: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `loop':
~/Documents/Arduino/graphicstest/graphicstest.ino:117: undefined reference to `ILI9341_t3::setRotation(unsigned char)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testLines(unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:166: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:171: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:173: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:176: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:182: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:184: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:187: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:193: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:195: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:198: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:204: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:206: undefined reference to `ILI9341_t3::drawLine(short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFastLines(unsigned short, unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:215: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:217: undefined reference to `ILI9341_t3::drawFastHLine(short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:218: undefined reference to `ILI9341_t3::drawFastVLine(short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testRects(unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:229: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:234: undefined reference to `ILI9341_t3::drawRect(short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFilledRects(unsigned short, unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:246: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:251: undefined reference to `ILI9341_t3::fillRect(short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:254: undefined reference to `ILI9341_t3::drawRect(short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFilledCircles(unsigned char, unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:264: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:268: undefined reference to `ILI9341_t3::fillCircle(short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testCircles(unsigned char, unsigned short)':
~/Documents/Arduino/graphicstest/graphicstest.ino:286: undefined reference to `ILI9341_t3::drawCircle(short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testTriangles()':
~/Documents/Arduino/graphicstest/graphicstest.ino:298: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:306: undefined reference to `ILI9341_t3::drawTriangle(short, short, short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFilledTriangles()':
~/Documents/Arduino/graphicstest/graphicstest.ino:317: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:322: undefined reference to `ILI9341_t3::fillTriangle(short, short, short, short, short, short, unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:325: undefined reference to `ILI9341_t3::drawTriangle(short, short, short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testRoundRects()':
~/Documents/Arduino/graphicstest/graphicstest.ino:337: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:342: undefined reference to `ILI9341_t3::drawRoundRect(short, short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `testFilledRoundRects()':
~/Documents/Arduino/graphicstest/graphicstest.ino:354: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:358: undefined reference to `ILI9341_t3::fillRoundRect(short, short, short, short, short, unsigned short)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `setup':
~/Documents/Arduino/graphicstest/graphicstest.ino:39: undefined reference to `ILI9341_t3::begin()'
~/Documents/Arduino/graphicstest/graphicstest.ino:40: undefined reference to `ILI9341_t3::fillScreen(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:41: undefined reference to `ILI9341_t3::setTextColor(unsigned short)'
~/Documents/Arduino/graphicstest/graphicstest.ino:42: undefined reference to `ILI9341_t3::setTextSize(unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:50: undefined reference to `ILI9341_t3::readcommand8(unsigned char, unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:52: undefined reference to `ILI9341_t3::readcommand8(unsigned char, unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:54: undefined reference to `ILI9341_t3::readcommand8(unsigned char, unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:56: undefined reference to `ILI9341_t3::readcommand8(unsigned char, unsigned char)'
~/Documents/Arduino/graphicstest/graphicstest.ino:58: undefined reference to `ILI9341_t3::readcommand8(unsigned char, unsigned char)'
/var/folders/74/2v8g31_n38360tz71d47mkpc0000gn/T/build6d5a6e2cbdd302224063bf594767ab65.tmp/sketch/graphicstest.ino.cpp.o: In function `__static_initialization_and_destruction_0':
~/Documents/Arduino/graphicstest/graphicstest.ino:36: undefined reference to `ILI9341_t3::ILI9341_t3(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)'
collect2: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren.
 
As you were! :cool:

After updating from Github, suddenly the library works ... please forget my posting ... THX!
 
Status
Not open for further replies.
Back
Top