2.8" TFT touchscreen + Teensy++ 2.0

Status
Not open for further replies.

tlt

Member
Hello,

Rather than necroposting this thread, I thought I'd start another one:

https://forum.pjrc.com/threads/16798-2-8-quot-TFT-touchscreen-Teensy-3-0

I have the exact same problem, but with a T++2. I am migrating from an Arduino Nano, where I FINALLY got the cheap Chinese screen working with a driver from MikeM at misc.ws. It's a shield not a breakout board, but I got it working.

Using the teensy pinout guide, I have connected to the same pins (A0-A4 and D2-D9), but get a white screen. This indicates that the 8-bit data lines are not matching. I learned from the above forum post that PORTB and PORTB may not be mapping properly, but it is somewhat beyond my technical ability to modify the fix for a T++2. (I'm only a Java programmer! :D)

Could somebody please guide me as to how to hook this up? I'm really hoping that I can just plug it into different pins!!!

I will post the code here as instructed, but it's just the graphics test from the driver examples folder:

Code:
#define LCD_CS A3    
#define LCD_CD A2    
#define LCD_WR A1   
#define LCD_RD A0    
#define LCD_RESET -1

// Color definitions
#define	BLACK           0x0000
#define	BLUE            0x001F
#define	RED             0xF800
#define	GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0 
#define WHITE           0xFFFF

#include "TFTLCD.h"

TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup(void) {
  Serial.begin(9600);
  Serial.println("8 Bit LCD test!");
  
  
  tft.reset();
  

  tft.initDisplay();
  
  testtext(RED);
  delay(2000);
  testlines(CYAN);
  delay(500);
  testfastlines(RED, BLUE);
  delay(500);
  testdrawrects(GREEN);
  delay(500);
  testfillrects(YELLOW, MAGENTA);
  delay(500);
  tft.fillScreen(BLACK);
  testfillcircles(10, MAGENTA);
  testdrawcircles(10, WHITE);
  delay(500); 
  testtriangles();
  delay(500); 
  testfilltriangles();
  delay(500); 
  testRoundRect();
  delay(500); 
  testFillRoundRect();
}

void loop(void) {
  for (uint8_t rotation=0; rotation<4; rotation++) {
    tft.setRotation(rotation); 
    testtext(RED);
    delay(1000);
  }
}



void testFillRoundRect() {
  tft.fillScreen(BLACK);
  
  for (uint16_t x=tft.width(); x > 20 ; x-=6) {
    tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8,  tft.Color565(0, x, 0));
 }
}

void testRoundRect() {
  tft.fillScreen(BLACK);
  
  for (uint16_t x=0; x < tft.width(); x+=6) {
    tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0));
 }
}

void testtriangles() {
  tft.fillScreen(BLACK);
  for (uint16_t i=0; i<tft.width()/2; i+=5) {
    tft.drawTriangle(tft.width()/2, tft.height()/2-i,
                     tft.width()/2-i, tft.height()/2+i,
                     tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i));
  }
}

void testfilltriangles() {
  tft.fillScreen(BLACK);
  
  for (uint16_t i=tft.width()/2; i>10; i-=5) {
    tft.fillTriangle(tft.width()/2, tft.height()/2-i,
                     tft.width()/2-i, tft.height()/2+i,
                     tft.width()/2+i, tft.height()/2+i, 
                     tft.Color565(0, i, i));
    tft.drawTriangle(tft.width()/2, tft.height()/2-i,
                     tft.width()/2-i, tft.height()/2+i,
                     tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0));    
  }
}
void testtext(uint16_t color) {
  tft.fillScreen(BLACK);
  tft.setCursor(0, 20);
  tft.setTextColor(color);
  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.setTextSize(2);
  tft.println(1234.56);
  tft.setTextSize(3);
  tft.println(0xDEADBEEF, HEX);
}

void testfillcircles(uint8_t radius, uint16_t color) {
  for (uint16_t x=radius; x < tft.width(); x+=radius*2) {
    for (uint16_t y=radius; y < tft.height(); y+=radius*2) {
      tft.fillCircle(x, y, radius, color);
    }
  }  
}

void testdrawcircles(uint8_t radius, uint16_t color) {
  for (uint16_t x=0; x < tft.width()+radius; x+=radius*2) {
    for (uint16_t y=0; y < tft.height()+radius; y+=radius*2) {
      tft.drawCircle(x, y, radius, color);
    }
  }  
}


void testfillrects(uint16_t color1, uint16_t color2) {
 tft.fillScreen(BLACK);
 for (uint16_t x=tft.width()-1; x > 6; x-=6) {
   //Serial.println(x, DEC);
   tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);
   tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);
 }
}

void testdrawrects(uint16_t color) {
 tft.fillScreen(BLACK);
 for (uint16_t x=0; x < tft.width(); x+=6) {
   tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);
 }
}

void testfastlines(uint16_t color1, uint16_t color2) {
   tft.fillScreen(BLACK);
   for (uint16_t y=0; y < tft.height(); y+=5) {
     tft.drawHorizontalLine(0, y, tft.width(), color1);
   }
   for (uint16_t x=0; x < tft.width(); x+=5) {
     tft.drawVerticalLine(x, 0, tft.height(), color2);
   }
  
}

void testlines(uint16_t color) {
   tft.fillScreen(BLACK);
   for (uint16_t x=0; x < tft.width(); x+=6) {
     tft.drawLine(0, 0, x, tft.height()-1, color);
   }
   for (uint16_t y=0; y < tft.height(); y+=6) {
     tft.drawLine(0, 0, tft.width()-1, y, color);
   }
   
   tft.fillScreen(BLACK);
   for (uint16_t x=0; x < tft.width(); x+=6) {
     tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);
   }
   for (uint16_t y=0; y < tft.height(); y+=6) {
     tft.drawLine(tft.width()-1, 0, 0, y, color);
   }
   
   tft.fillScreen(BLACK);
   for (uint16_t x=0; x < tft.width(); x+=6) {
     tft.drawLine(0, tft.height()-1, x, 0, color);
   }
   for (uint16_t y=0; y < tft.height(); y+=6) {
     tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);
   }

   tft.fillScreen(BLACK);
   for (uint16_t x=0; x < tft.width(); x+=6) {
     tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);
   }
   for (uint16_t y=0; y < tft.height(); y+=6) {
     tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);
   }
}


void testBars() {
  uint16_t i,j;
  for(i=0; i < tft.height(); i++)
  {
    for(j=0; j < tft.width(); j++)
    {
      if(i>279) tft.writeData(WHITE);
      else if(i>239) tft.writeData(BLUE);
      else if(i>199) tft.writeData(GREEN);
      else if(i>159) tft.writeData(CYAN);
      else if(i>119) tft.writeData(RED);
      else if(i>79) tft.writeData(MAGENTA);
      else if(i>39) tft.writeData(YELLOW);
      else tft.writeData(BLACK);
    }
  }
}


Aaaaand here is the driver!

View attachment TFTLCD-mikem.zip


Thank you!!!
 
Hello, I have an update for this issue. I have managed to get the TFT working just fine on a T3.6... and promptly fried my chip by being careless with a 5v component ;(

So now I am back to a T++ 2.0. MCUFRIEND_kbv gave me good results, but it won't compile for T++ because of missing chip support in the header. Errors are below. I know I need to 'add' support into this file, but this is too low-level for me and I don't know how to adapt the T3 code for a T2. Could somebody please give me a magic string to paste? :) :) :)

When compiling the graphicstest sketch:

Code:
Arduino: 1.8.7 (Mac OS X), TD: 1.45, Board: "Teensy++ 2.0, Serial, 16 MHz, US English"

In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:236:2: error: #error MCU unsupported
 #error MCU unsupported
  ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::reset()':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:64:17: error: 'setWriteDir' was not declared in this scope
     setWriteDir();
                 ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:243:31: error: 'RD_PORT' was not declared in this scope
 #define RD_OUTPUT  PIN_OUTPUT(RD_PORT, RD_PIN)
                               ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:24: note: in expansion of macro 'RD_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:243:40: error: 'RD_PIN' was not declared in this scope
 #define RD_OUTPUT  PIN_OUTPUT(RD_PORT, RD_PIN)
                                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:24: note: in expansion of macro 'RD_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:243:46: error: 'PIN_OUTPUT' was not declared in this scope
 #define RD_OUTPUT  PIN_OUTPUT(RD_PORT, RD_PIN)
                                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:24: note: in expansion of macro 'RD_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:246:31: error: 'WR_PORT' was not declared in this scope
 #define WR_OUTPUT  PIN_OUTPUT(WR_PORT, WR_PIN)
                               ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:35: note: in expansion of macro 'WR_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                   ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:246:40: error: 'WR_PIN' was not declared in this scope
 #define WR_OUTPUT  PIN_OUTPUT(WR_PORT, WR_PIN)
                                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:35: note: in expansion of macro 'WR_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                   ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:249:31: error: 'CD_PORT' was not declared in this scope
 #define CD_OUTPUT  PIN_OUTPUT(CD_PORT, CD_PIN)
                               ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:46: note: in expansion of macro 'CD_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:249:40: error: 'CD_PIN' was not declared in this scope
 #define CD_OUTPUT  PIN_OUTPUT(CD_PORT, CD_PIN)
                                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:46: note: in expansion of macro 'CD_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:252:31: error: 'CS_PORT' was not declared in this scope
 #define CS_OUTPUT  PIN_OUTPUT(CS_PORT, CS_PIN)
                               ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:57: note: in expansion of macro 'CS_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                                         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:252:40: error: 'CS_PIN' was not declared in this scope
 #define CS_OUTPUT  PIN_OUTPUT(CS_PORT, CS_PIN)
                                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:57: note: in expansion of macro 'CS_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                                         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:255:34: error: 'RESET_PORT' was not declared in this scope
 #define RESET_OUTPUT  PIN_OUTPUT(RESET_PORT, RESET_PIN)
                                  ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:68: note: in expansion of macro 'RESET_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                                                    ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:255:46: error: 'RESET_PIN' was not declared in this scope
 #define RESET_OUTPUT  PIN_OUTPUT(RESET_PORT, RESET_PIN)
                                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:261:68: note: in expansion of macro 'RESET_OUTPUT'
 #define CTL_INIT()   { RD_OUTPUT; WR_OUTPUT; CD_OUTPUT; CS_OUTPUT; RESET_OUTPUT; }
                                                                    ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:65:5: note: in expansion of macro 'CTL_INIT'
     CTL_INIT();
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:29: error: 'CS_PORT' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:66:5: note: in expansion of macro 'CS_IDLE'
     CS_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:38: error: 'CS_PIN' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:66:5: note: in expansion of macro 'CS_IDLE'
     CS_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:44: error: 'PIN_HIGH' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:66:5: note: in expansion of macro 'CS_IDLE'
     CS_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:29: error: 'RD_PORT' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:67:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:38: error: 'RD_PIN' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:67:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:245:29: error: 'WR_PORT' was not declared in this scope
 #define WR_IDLE    PIN_HIGH(WR_PORT, WR_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:68:5: note: in expansion of macro 'WR_IDLE'
     WR_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:245:38: error: 'WR_PIN' was not declared in this scope
 #define WR_IDLE    PIN_HIGH(WR_PORT, WR_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:68:5: note: in expansion of macro 'WR_IDLE'
     WR_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:254:32: error: 'RESET_PORT' was not declared in this scope
 #define RESET_IDLE    PIN_HIGH(RESET_PORT, RESET_PIN)
                                ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:69:5: note: in expansion of macro 'RESET_IDLE'
     RESET_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:254:44: error: 'RESET_PIN' was not declared in this scope
 #define RESET_IDLE    PIN_HIGH(RESET_PORT, RESET_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:69:5: note: in expansion of macro 'RESET_IDLE'
     RESET_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:253:52: error: 'PIN_LOW' was not declared in this scope
 #define RESET_ACTIVE  PIN_LOW(RESET_PORT, RESET_PIN)
                                                    ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:71:5: note: in expansion of macro 'RESET_ACTIVE'
     RESET_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::WriteCmdData(uint16_t, uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:80:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:80:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:80:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:81:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:81:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:81:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:82:5: note: in expansion of macro 'WriteData'
     WriteData(dat);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:82:5: note: in expansion of macro 'WriteData'
     WriteData(dat);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:82:5: note: in expansion of macro 'WriteData'
     WriteData(dat);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:42: error: 'write16' was not declared in this scope
 #define WriteData(x) { CD_DATA; write16(x); }
                                          ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:82:5: note: in expansion of macro 'WriteData'
     WriteData(dat);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:44: error: 'PIN_HIGH' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:83:5: note: in expansion of macro 'CS_IDLE'
     CS_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In function 'void WriteCmdParamN(uint16_t, int8_t, uint8_t*)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:88:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:88:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:88:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:89:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:89:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:89:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(cmd);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:92:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:92:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:92:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:93:18: error: 'write8' was not declared in this scope
         write8(u8);
                  ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:96:13: note: in expansion of macro 'WriteCmd'
             WriteCmd(cmd);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:44: error: 'PIN_HIGH' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:99:5: note: in expansion of macro 'CS_IDLE'
     CS_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In function 'uint16_t read16bits()':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:121:15: error: 'READ_8' was not declared in this scope
     READ_8(ret);
               ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In function 'uint32_t readReg40(uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:131:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:131:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:131:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:132:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:132:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:132:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:133:16: error: 'setReadDir' was not declared in this scope
     setReadDir();
                ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:134:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:134:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:134:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:29: error: 'RD_PORT' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:138:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:38: error: 'RD_PIN' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:138:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:140:17: error: 'setWriteDir' was not declared in this scope
     setWriteDir();
                 ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'uint16_t MCUFRIEND_kbv::readReg(uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:150:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:150:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:150:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:151:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:151:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:151:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:152:16: error: 'setReadDir' was not declared in this scope
     setReadDir();
                ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:153:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:153:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:153:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:29: error: 'RD_PORT' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:156:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:38: error: 'RD_PIN' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:156:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:158:17: error: 'setWriteDir' was not declared in this scope
     setWriteDir();
                 ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:147:13: warning: unused variable 'lo' [-Wunused-variable]
     uint8_t lo;
             ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'uint32_t MCUFRIEND_kbv::readReg32(uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:165:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:165:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:165:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:166:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:166:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:166:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(reg);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:167:16: error: 'setReadDir' was not declared in this scope
     setReadDir();
                ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:168:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:168:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:168:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:29: error: 'RD_PORT' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:171:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:38: error: 'RD_PIN' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:171:5: note: in expansion of macro 'RD_IDLE'
     RD_IDLE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:173:17: error: 'setWriteDir' was not declared in this scope
     setWriteDir();
                 ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'uint16_t MCUFRIEND_kbv::readID()':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:179:19: warning: unused variable 'ret2' [-Wunused-variable]
     uint16_t ret, ret2;
                   ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'int16_t MCUFRIEND_kbv::readGRAM(int16_t, int16_t, uint16_t*, int16_t, int16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:249:9: note: in expansion of macro 'CS_ACTIVE'
         CS_ACTIVE;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:249:9: note: in expansion of macro 'CS_ACTIVE'
         CS_ACTIVE;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:249:9: note: in expansion of macro 'CS_ACTIVE'
         CS_ACTIVE;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:250:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MR);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:250:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MR);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:250:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MR);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:251:20: error: 'setReadDir' was not declared in this scope
         setReadDir();
                    ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:252:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:252:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:252:9: note: in expansion of macro 'CD_DATA'
         CD_DATA;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:256:21: error: 'READ_8' was not declared in this scope
             READ_8(r);
                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:258:26: error: 'READ_16' was not declared in this scope
             READ_16(dummy);
                          ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:260:34: error: 'READ_8' was not declared in this scope
   if (_lcd_ID == 0x1511) READ_8(r);   //extra dummy for R61511
                                  ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:263:25: error: 'READ_8' was not declared in this scope
                 READ_8(r);
                         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:271:28: error: 'READ_16' was not declared in this scope
                 READ_16(ret);
                            ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:29: error: 'RD_PORT' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:287:9: note: in expansion of macro 'RD_IDLE'
         RD_IDLE;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:242:38: error: 'RD_PIN' was not declared in this scope
 #define RD_IDLE    PIN_HIGH(RD_PORT, RD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:287:9: note: in expansion of macro 'RD_IDLE'
         RD_IDLE;
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:289:21: error: 'setWriteDir' was not declared in this scope
         setWriteDir();
                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:240:22: warning: unused variable 'tmp' [-Wunused-variable]
     uint8_t r, g, b, tmp;
                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'virtual void MCUFRIEND_kbv::setRotation(uint8_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:298:27: warning: unused variable 'REV' [-Wunused-variable]
     uint16_t GS, SS, ORG, REV = _lcd_rev;
                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:371:11: warning: label 'common_S6D' defined but not used [-Wunused-label]
           common_S6D:
           ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'virtual void MCUFRIEND_kbv::fillRect(int16_t, int16_t, int16_t, int16_t, uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:502:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:502:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:502:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:503:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(_MW);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:503:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(_MW);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:503:5: note: in expansion of macro 'WriteCmd'
     WriteCmd(_MW);
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:510:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:510:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:510:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:538:22: error: 'write8' was not declared in this scope
             write8(hi);
                      ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::pushColors(uint16_t*, int16_t, bool)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:551:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:551:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:551:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:553:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:553:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:553:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:555:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:555:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:555:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:558:22: error: 'write16' was not declared in this scope
         write16(color);
                      ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::pushColors(uint8_t*, int16_t, bool)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:567:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:567:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:567:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:569:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:569:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:569:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:571:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:571:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:571:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:576:22: error: 'write16' was not declared in this scope
         write16(color);
                      ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::pushColors(const uint8_t*, int16_t, bool)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:585:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:585:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:585:5: note: in expansion of macro 'CS_ACTIVE'
     CS_ACTIVE;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:587:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:587:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:587:9: note: in expansion of macro 'WriteCmd'
         WriteCmd(_MW);
         ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:589:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:589:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:589:5: note: in expansion of macro 'CD_DATA'
     CD_DATA;
     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:594:22: error: 'write16' was not declared in this scope
         write16(color);
                      ^
In file included from /Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:21:0:
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In function 'void init_table16(const void*, int16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:28: error: 'CS_PORT' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:765:13: note: in expansion of macro 'CS_ACTIVE'
             CS_ACTIVE;
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:37: error: 'CS_PIN' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:765:13: note: in expansion of macro 'CS_ACTIVE'
             CS_ACTIVE;
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:250:43: error: 'PIN_LOW' was not declared in this scope
 #define CS_ACTIVE  PIN_LOW(CS_PORT, CS_PIN)
                                           ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:765:13: note: in expansion of macro 'CS_ACTIVE'
             CS_ACTIVE;
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:28: error: 'CD_PORT' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:766:13: note: in expansion of macro 'WriteCmd'
             WriteCmd(cmd);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:247:37: error: 'CD_PIN' was not declared in this scope
 #define CD_COMMAND PIN_LOW(CD_PORT, CD_PIN)
                                     ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:24: note: in expansion of macro 'CD_COMMAND'
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:766:13: note: in expansion of macro 'WriteCmd'
             WriteCmd(cmd);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:262:45: error: 'write16' was not declared in this scope
 #define WriteCmd(x)  { CD_COMMAND; write16(x); }
                                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:766:13: note: in expansion of macro 'WriteCmd'
             WriteCmd(cmd);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:29: error: 'CD_PORT' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:767:13: note: in expansion of macro 'WriteData'
             WriteData(d);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:38: error: 'CD_PIN' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                      ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:767:13: note: in expansion of macro 'WriteData'
             WriteData(d);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:248:44: error: 'PIN_HIGH' was not declared in this scope
 #define CD_DATA    PIN_HIGH(CD_PORT, CD_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:24: note: in expansion of macro 'CD_DATA'
 #define WriteData(x) { CD_DATA; write16(x); }
                        ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:767:13: note: in expansion of macro 'WriteData'
             WriteData(d);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:263:42: error: 'write16' was not declared in this scope
 #define WriteData(x) { CD_DATA; write16(x); }
                                          ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:767:13: note: in expansion of macro 'WriteData'
             WriteData(d);
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/mcufriend_shield.h:251:44: error: 'PIN_HIGH' was not declared in this scope
 #define CS_IDLE    PIN_HIGH(CS_PORT, CS_PIN)
                                            ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:768:13: note: in expansion of macro 'CS_IDLE'
             CS_IDLE;
             ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp: In member function 'void MCUFRIEND_kbv::begin(uint16_t)':
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:1343:30: warning: unused variable 'ST7789_regValues_arcain6' [-Wunused-variable]
         static const uint8_t ST7789_regValues_arcain6[] PROGMEM = {
                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2079:30: warning: unused variable 'ILI9481_CPT29_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_CPT29_regValues[] PROGMEM = {    // 320x430
                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2104:30: warning: unused variable 'ILI9481_PVI35_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_PVI35_regValues[] PROGMEM = {    // 320x480
                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2127:30: warning: unused variable 'ILI9481_AUO317_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_AUO317_regValues[] PROGMEM = {    // 320x480
                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2149:30: warning: unused variable 'ILI9481_CMO35_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_CMO35_regValues[] PROGMEM = {    // 320480
                              ^
/Users/Tyson/Documents/Arduino/libraries/MCUFRIEND_kbv/MCUFRIEND_kbv.cpp:2173:30: warning: unused variable 'ILI9481_RGB_regValues' [-Wunused-variable]
         static const uint8_t ILI9481_RGB_regValues[] PROGMEM = {    // 320x480
                              ^
Error compiling for board Teensy++ 2.0.
 
Sorry I've only touched a Teensy - all the Teensy's - with the 32 bit ARM processors. That would be the T3 code and if it isn't already compatible then it won't be an easy job I'd assume.

But giving a look I found this page from AdaFruit 2-8-tft-touch-shield

If my reading is right that is what you have and there they link to an AVR driver that "Works with any Arduino '328 or Mega" - there they offer these libraries ...


Hoping that can be adjusted to work? You may need to refer to the T2++ schematic to associate the pins from desired port?
 
Thank you. I had previously tried those libs with little success. It's an off-brand TFT after all. In the end I raised an issue with MCUFRIEND_kvb, and within 24 hours he had pasted a new set of defines for the T++, with no way of testing them... worked first time. What a legend.
 
Status
Not open for further replies.
Back
Top