Wemos D1 and Graphics

Code runs ok on a UNO etc, but wont complie on a WEMOS D1 Compilation error: exit status 1

t/*
 An example analogue meter using a ILI9341 TFT LCD screen

 This example uses the hardware SPI only and a board based
 on the ATmega328

 Needs Fonts 2, and 7 (also Font 4 if using large scale label)

 Comment out lines 153 and 197 to reduce needle flicker and
 to remove need for Font 4 (which uses ~8k of FLASH!)
 
 Alan Senior 23/2/2015
 */

// These are the connections for the UNO to display
#define sclk D13  // Don't change
#define mosi D11  // Don't change
#define cs   D1 // If cs and dc pin allocations are changed then 
#define dc   D2   // comment out #define F_AS_T line in "Adafruit_ILI9341_FAST.h"
                 // (which is inside "Adafriit_ILI9341_AS" library)

#define rst  -1  // Can alternatively connect this to the Arduino reset

#include <Adafruit_GFX_AS.h>     // Core graphics library
#include <Adafruit_ILI9341_AS.h> // Fast hardware-specific library
#include <SPI.h>

#define ILI9341_GREY 0x5AEB

Adafruit_ILI9341_AS tft = Adafruit_ILI9341_AS(cs, dc, rst); // Invoke custom library

float ltx = 0;    // Saved x coord of bottom of needle
uint16_t osx = 120, osy = 120; // Saved x & y coords
uint32_t updateTime = 0;       // time for next update

int old_analog =  -999; // Value last displayed
int old_digital = -999; // Value last displayed


void setup(void) {
  tft.init();
  tft.setRotation(2);

  tft.fillScreen(ILI9341_BLACK);

  analogMeter(); // Draw analogue meter
  
  digitalMeter(); // Draw digital meter

  updateTime = millis(); // Next update time
}


void loop() {
  if (updateTime <= millis()) {
    updateTime = millis() + 500;

    int reading = 0;
    reading = random(-50, 151); // Test with random value
    reading = map(analogRead(A0),0,1023,0,100); // Test with value form Analogue 0

    showDigital(reading); // Update digital reading
    
    plotNeedle(reading, 8); // Update analogue meter, 8ms delay per needle increment
    
  }
}


// #########################################################################
//  Draw the analogue meter on the screen
// #########################################################################
void analogMeter()
{
  // Meter outline
  tft.fillRect(0, 0, 239, 126, ILI9341_GREY);
  tft.fillRect(5, 3, 230, 119, ILI9341_WHITE);
  
  tft.setTextColor(ILI9341_BLACK);  // Text colour
  
  // Draw ticks every 5 degrees from -50 to +50 degrees (100 deg. FSD swing)
  for (int i = -50; i < 51; i += 5) {
    // Long scale tick length
    int tl = 15;
    
    // Coodinates of tick to draw
    float sx = cos((i - 90) * 0.0174532925);
    float sy = sin((i - 90) * 0.0174532925);
    uint16_t x0 = sx * (100 + tl) + 120;
    uint16_t y0 = sy * (100 + tl) + 140;
    uint16_t x1 = sx * 100 + 120;
    uint16_t y1 = sy * 100 + 140;
    
    // Coordinates of next tick for zone fill
    float sx2 = cos((i + 5 - 90) * 0.0174532925);
    float sy2 = sin((i + 5 - 90) * 0.0174532925);
    int x2 = sx2 * (100 + tl) + 120;
    int y2 = sy2 * (100 + tl) + 140;
    int x3 = sx2 * 100 + 120;
    int y3 = sy2 * 100 + 140;
    
    // Yellow zone limits
    //if (i >= -50 && i < 0) {
    //  tft.fillTriangle(x0, y0, x1, y1, x2, y2, ILI9341_YELLOW);
    //  tft.fillTriangle(x1, y1, x2, y2, x3, y3, ILI9341_YELLOW);
    //}
    
    // Green zone limits
    if (i >= 0 && i < 25) {
      tft.fillTriangle(x0, y0, x1, y1, x2, y2, ILI9341_GREEN);
      tft.fillTriangle(x1, y1, x2, y2, x3, y3, ILI9341_GREEN);
    }

    // Orange zone limits
    if (i >= 25 && i < 50) {
      tft.fillTriangle(x0, y0, x1, y1, x2, y2, ILI9341_ORANGE);
      tft.fillTriangle(x1, y1, x2, y2, x3, y3, ILI9341_ORANGE);
    }
    
    // Short scale tick length
    if (i % 25 != 0) tl = 8;
    
    // Recalculate coords incase tick lenght changed
    x0 = sx * (100 + tl) + 120;
    y0 = sy * (100 + tl) + 140;
    x1 = sx * 100 + 120;
    y1 = sy * 100 + 140;
    
    // Draw tick
    tft.drawLine(x0, y0, x1, y1, ILI9341_BLACK);
    
    // Check if labels should be drawn, with position tweaks
    if (i % 25 == 0) {
      // Calculate label positions
      x0 = sx * (100 + tl + 10) + 120;
      y0 = sy * (100 + tl + 10) + 140;
      switch (i / 25) {
        case -2: tft.drawCentreString("0", x0, y0 - 12, 2); break;
        case -1: tft.drawCentreString("25", x0, y0 - 9, 2); break;
        case 0: tft.drawCentreString("50", x0, y0 - 6, 2); break;
        case 1: tft.drawCentreString("75", x0, y0 - 9, 2); break;
        case 2: tft.drawCentreString("100", x0, y0 - 12, 2); break;
      }
    }
    
    // Now draw the arc of the scale
    sx = cos((i + 5 - 90) * 0.0174532925);
    sy = sin((i + 5 - 90) * 0.0174532925);
    x0 = sx * 100 + 120;
    y0 = sy * 100 + 140;
    // Draw scale arc, don't draw the last part
    if (i < 50) tft.drawLine(x0, y0, x1, y1, ILI9341_BLACK);
  }
  
  tft.drawString("%RH", 5 + 230 - 40, 119 - 20, 2); // Units at bottom right
  tft.drawCentreString("%RH", 120, 70, 4); // Comment out to avoid font 4
  tft.drawRect(5, 3, 230, 119, ILI9341_BLACK); // Draw bezel line
  
  plotNeedle(0,0); // Put meter needle at 0
}

// #########################################################################
// Update needle position
// This function is blocking while needle moves, time depends on ms_delay
// 10ms minimises needle flicker if text is drawn within needle sweep area
// Smaller values OK if text not in sweep area, zero for instant movement but
// does not look realistic... (note: 100 increments for full scale deflection)
// #########################################################################
void plotNeedle(int value, byte ms_delay)
{
  tft.setTextColor(ILI9341_BLACK, ILI9341_WHITE);
  char buf[8]; dtostrf(value, 4, 0, buf);
  tft.drawRightString(buf, 40, 119 - 20, 2);

  if (value < -10) value = -10; // Limit value to emulate needle end stops
  if (value > 110) value = 110;

  // Move the needle util new value reached
  while (!(value == old_analog)) {
    if (old_analog < value) old_analog++;
    else old_analog--;
    
    if (ms_delay == 0) old_analog = value; // Update immediately id delay is 0
    
    float sdeg = map(old_analog, -10, 110, -150, -30); // Map value to angle 
    // Calcualte tip of needle coords
    float sx = cos(sdeg * 0.0174532925);
    float sy = sin(sdeg * 0.0174532925);

    // Calculate x delta of needle start (does not start at pivot point)
    float tx = tan((sdeg+90) * 0.0174532925);
    
    // Erase old needle image
    tft.drawLine(120 + 20 * ltx - 1, 140 - 20, osx - 1, osy, ILI9341_WHITE);
    tft.drawLine(120 + 20 * ltx, 140 - 20, osx, osy, ILI9341_WHITE);
    tft.drawLine(120 + 20 * ltx + 1, 140 - 20, osx + 1, osy, ILI9341_WHITE);
    
    // Re-plot text under needle
    tft.setTextColor(ILI9341_BLACK);
    tft.drawCentreString("%RH", 120, 70, 4); // // Comment out to avoid font 4
    
    // Store new needle end coords for next erase
    ltx = tx;
    osx = sx * 98 + 120;
    osy = sy * 98 + 140;
    
    // Draw the needle in the new postion, magenta makes needle a bit bolder
    // draws 3 lines to thicken needle
    tft.drawLine(120 + 20 * ltx - 1, 140 - 20, osx - 1, osy, ILI9341_RED);
    tft.drawLine(120 + 20 * ltx, 140 - 20, osx, osy, ILI9341_MAGENTA);
    tft.drawLine(120 + 20 * ltx + 1, 140 - 20, osx + 1, osy, ILI9341_RED);
    
    // Slow needle down slightly as it approaches new postion
    if (abs(old_analog - value) < 10) ms_delay += ms_delay / 5;
    
    // Wait before next update
    delay(ms_delay);
  }
}

// #########################################################################
// Draw 3 digit digital meter with faint 7 segment image
// #########################################################################
void digitalMeter()
{
  int xpos = 118, ypos = 134; // was 134
  tft.fillRect(xpos - 52, ypos - 5, 2 * 54, 59, ILI9341_GREY);
  tft.fillRect(xpos - 49, ypos - 2, 2 * 51, 53, ILI9341_BLACK);
  tft.setTextColor(7 << 11, ILI9341_BLACK); // Plot over numbers in dim red
  tft.drawString("888", xpos - 48, ypos+1, 7);
}

// #########################################################################
// Update digital meter reading
// #########################################################################
void showDigital(int value)
{
  if (value==old_digital) return; // return if no change to prevent flicker
  if (value < 0) value = 0; //Constrain lower limit to 0
  if (value > 999) value = 999; //Constrain upper limit to 999
  
  int xpos = 118, ypos = 134+1; // Position with location tweak
  tft.setTextColor(7 << 11, ILI9341_BLACK); // Plot over numbers in dim red
  tft.drawString("888", xpos - 47, ypos, 7); //Erase old value
  
  // Nb. 32 pixels wide +2 gap per digit
  
  // Update with new value
  tft.setTextColor(ILI9341_RED); // Dont draw background to leave dim segments
  if (value < 10) tft.drawNumber(value, xpos+19, ypos, 7);
  else if (value < 100) tft.drawNumber(value, xpos - 14, ypos, 7);
  else tft.drawNumber(value, xpos - 47, ypos, 7);
  old_digital = value;
}
ype or paste code here

Please show the error message in full, it should be a dozens lines of text rather than a few words.
Did you switched a "verbose compilation output" option in Preferences?

Hi,
I think its to do with a difference "Atmega and ESP8266" hardware???

ty/Users/prc/Desktop/Meter_1/Meter_1.ino: In function 'void analogMeter()':
/Users/prc/Desktop/Meter_1/Meter_1.ino:138:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  138 |         case -2: tft.drawCentreString("0", x0, y0 - 12, 2); break;
      |                                       ^~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:139:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  139 |         case -1: tft.drawCentreString("25", x0, y0 - 9, 2); break;
      |                                       ^~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:140:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  140 |         case 0: tft.drawCentreString("50", x0, y0 - 6, 2); break;
      |                                      ^~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:141:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  141 |         case 1: tft.drawCentreString("75", x0, y0 - 9, 2); break;
      |                                      ^~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:142:38: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  142 |         case 2: tft.drawCentreString("100", x0, y0 - 12, 2); break;
      |                                      ^~~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:155:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  155 |   tft.drawString("%RH", 5 + 230 - 40, 119 - 20, 2); // Units at bottom right
      |                  ^~~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino:156:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  156 |   tft.drawCentreString("%RH", 120, 70, 4); // Comment out to avoid font 4
      |                        ^~~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino: In function 'void plotNeedle(int, byte)':
/Users/prc/Desktop/Meter_1/Meter_1.ino:200:26: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  200 |     tft.drawCentreString("%RH", 120, 70, 4); // // Comment out to avoid font 4
      |                          ^~~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino: In function 'void digitalMeter()':
/Users/prc/Desktop/Meter_1/Meter_1.ino:230:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  230 |   tft.drawString("888", xpos - 48, ypos+1, 7);
      |                  ^~~~~
/Users/prc/Desktop/Meter_1/Meter_1.ino: In function 'void showDigital(int)':
/Users/prc/Desktop/Meter_1/Meter_1.ino:244:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  244 |   tft.drawString("888", xpos - 47, ypos, 7); //Erase old value
      |                  ^~~~~
Compiling libraries...
Compiling library "Adafruit_GFX_AS"
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Font64.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Font64.c.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Font16.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Font16.c.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Font72.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Font72.c.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Font7s.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Font7s.c.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Font32.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/Font32.c.o
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core/build.opt -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/lwip2/include -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -I/Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/core -c @/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/tools/warnings/none-cflags -std=gnu17 -Os -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266 -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/variants/d1_mini -I/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS -I/Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS -I/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/glcdfont.c -o /Users/prc/Library/Caches/arduino/sketches/D102B8A70884A7A3AA03F5D2B2C0FE93/libraries/Adafruit_GFX_AS/glcdfont.c.o
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:74: warning: "pgm_read_byte" redefined
   74 |  #define pgm_read_byte(addr) (*(const unsigned char *)(addr))
      | 
In file included from /Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/assert.h:10,
                 from /Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/sys/reent.h:503,
                 from /Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/stdlib.h:18,
                 from /Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/c++/10.3.0/cstdlib:75,
                 from /Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/c++/10.3.0/stdlib.h:36,
                 from /Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:27,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/xtensa-lx106-elf/include/sys/pgmspace.h:130: note: this is the location of the previous definition
  130 | #define pgm_read_byte(addr)                pgm_read_byte_inlined(addr)
      | 
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp: In member function 'int Adafruit_GFX_AS::drawChar(unsigned int, int, int, int)':
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:792:28: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  792 |     if(line&0x80) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                            ^~~~
      |                            SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:792:37: error: 'SPIF' was not declared in this scope
  792 |     if(line&0x80) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                     ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:792:45: error: 'SPDR' was not declared in this scope
  792 |     if(line&0x80) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                             ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:792:63: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  792 |     if(line&0x80) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                               ^~~~
      |                                                               SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:792:72: error: 'SPIF' was not declared in this scope
  792 |     if(line&0x80) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                        ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:793:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  793 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:793:28: error: 'SPIF' was not declared in this scope
  793 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:793:36: error: 'SPDR' was not declared in this scope
  793 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:793:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  793 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:793:63: error: 'SPIF' was not declared in this scope
  793 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:794:28: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  794 |     if(line&0x40) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                            ^~~~
      |                            SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:794:37: error: 'SPIF' was not declared in this scope
  794 |     if(line&0x40) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                     ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:794:45: error: 'SPDR' was not declared in this scope
  794 |     if(line&0x40) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                             ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:794:63: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  794 |     if(line&0x40) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                               ^~~~
      |                                                               SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:794:72: error: 'SPIF' was not declared in this scope
  794 |     if(line&0x40) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                        ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:795:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  795 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:795:28: error: 'SPIF' was not declared in this scope
  795 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:795:36: error: 'SPDR' was not declared in this scope
  795 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:795:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  795 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:795:63: error: 'SPIF' was not declared in this scope
  795 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:796:28: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  796 |     if(line&0x20) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                            ^~~~
      |                            SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:796:37: error: 'SPIF' was not declared in this scope
  796 |     if(line&0x20) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                     ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:796:45: error: 'SPDR' was not declared in this scope
  796 |     if(line&0x20) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                             ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:796:63: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  796 |     if(line&0x20) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                               ^~~~
      |                                                               SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:796:72: error: 'SPIF' was not declared in this scope
  796 |     if(line&0x20) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                        ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:797:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  797 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:797:28: error: 'SPIF' was not declared in this scope
  797 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:797:36: error: 'SPDR' was not declared in this scope
  797 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:797:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  797 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:797:63: error: 'SPIF' was not declared in this scope
  797 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:798:28: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  798 |     if(line&0x10) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                            ^~~~
      |                            SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:798:37: error: 'SPIF' was not declared in this scope
  798 |     if(line&0x10) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                     ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:798:45: error: 'SPDR' was not declared in this scope
  798 |     if(line&0x10) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                             ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:798:63: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  798 |     if(line&0x10) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                               ^~~~
      |                                                               SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:798:72: error: 'SPIF' was not declared in this scope
  798 |     if(line&0x10) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                        ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:799:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  799 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:799:28: error: 'SPIF' was not declared in this scope
  799 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:799:36: error: 'SPDR' was not declared in this scope
  799 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:799:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  799 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:799:63: error: 'SPIF' was not declared in this scope
  799 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:800:27: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  800 |     if(line&0x8) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                           ^~~~
      |                           SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:800:36: error: 'SPIF' was not declared in this scope
  800 |     if(line&0x8) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                    ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:800:44: error: 'SPDR' was not declared in this scope
  800 |     if(line&0x8) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                            ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:800:62: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  800 |     if(line&0x8) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                              ^~~~
      |                                                              SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:800:71: error: 'SPIF' was not declared in this scope
  800 |     if(line&0x8) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                       ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:801:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  801 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:801:28: error: 'SPIF' was not declared in this scope
  801 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:801:36: error: 'SPDR' was not declared in this scope
  801 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:801:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  801 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:801:63: error: 'SPIF' was not declared in this scope
  801 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:802:27: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  802 |     if(line&0x4) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                           ^~~~
      |                           SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:802:36: error: 'SPIF' was not declared in this scope
  802 |     if(line&0x4) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                    ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:802:44: error: 'SPDR' was not declared in this scope
  802 |     if(line&0x4) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                            ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:802:62: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  802 |     if(line&0x4) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                              ^~~~
      |                                                              SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:802:71: error: 'SPIF' was not declared in this scope
  802 |     if(line&0x4) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                       ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:803:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  803 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:803:28: error: 'SPIF' was not declared in this scope
  803 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:803:36: error: 'SPDR' was not declared in this scope
  803 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:803:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  803 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:803:63: error: 'SPIF' was not declared in this scope
  803 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:804:27: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  804 |     if(line&0x2) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                           ^~~~
      |                           SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:804:36: error: 'SPIF' was not declared in this scope
  804 |     if(line&0x2) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                    ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:804:44: error: 'SPDR' was not declared in this scope
  804 |     if(line&0x2) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                            ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:804:62: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  804 |     if(line&0x2) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                              ^~~~
      |                                                              SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:804:71: error: 'SPIF' was not declared in this scope
  804 |     if(line&0x2) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                       ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:805:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  805 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:805:28: error: 'SPIF' was not declared in this scope
  805 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:805:36: error: 'SPDR' was not declared in this scope
  805 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:805:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  805 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:805:63: error: 'SPIF' was not declared in this scope
  805 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:806:27: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  806 |     if(line&0x1) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                           ^~~~
      |                           SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:806:36: error: 'SPIF' was not declared in this scope
  806 |     if(line&0x1) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                    ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:806:44: error: 'SPDR' was not declared in this scope
  806 |     if(line&0x1) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                            ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:806:62: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  806 |     if(line&0x1) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                              ^~~~
      |                                                              SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:806:71: error: 'SPIF' was not declared in this scope
  806 |     if(line&0x1) {while(!(SPSR&_BV(SPIF)));SPDR=t>>8;while(!(SPSR&_BV(SPIF)));SPDR=t;}
      |                                                                       ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:807:19: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  807 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                   ^~~~
      |                   SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:807:28: error: 'SPIF' was not declared in this scope
  807 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                            ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:807:36: error: 'SPDR' was not declared in this scope
  807 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                    ^~~~
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:807:54: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  807 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                      ^~~~
      |                                                      SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:807:63: error: 'SPIF' was not declared in this scope
  807 |     else {while(!(SPSR&_BV(SPIF)));SPDR=b>>8;while(!(SPSR&_BV(SPIF)));SPDR=b;}
      |                                                               ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:811:11: error: 'SPSR' was not declared in this scope; did you mean 'SS'?
  811 |   while(!(SPSR&_BV(SPIF)));
      |           ^~~~
      |           SS
In file included from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.h:7,
                 from /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:45:
/Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS/Adafruit_GFX_AS.cpp:811:20: error: 'SPIF' was not declared in this scope
  811 |   while(!(SPSR&_BV(SPIF)));
      |                    ^~~~
/Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/Arduino.h:158:25: note: in definition of macro '_BV'
  158 | #define _BV(b) (1UL << (b))
      |                         ^

Using library Adafruit_GFX_AS in folder: /Users/prc/Documents/Arduino/libraries/Adafruit_GFX_AS (legacy)
Using library Adafruit_ILI9341_AS in folder: /Users/prc/Documents/Arduino/libraries/Adafruit_ILI9341_AS (legacy)
Using library SPI at version 1.0 in folder: /Users/prc/Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SPI 
exit status 1

Compilation error: exit status 1pe or paste code here

yes
Your code is using a lot of low-level hardware-dependent macros like a SPDR & SPIF, that make the code incompatible with any MCU but the one it written for

Thanks for the reply.

Looking for sketches that do good graphics on an ESp8266, but havent found any yet:(

which specific ILI9341 display do you have? give a link?
I have used the HiLetgo 240X320 Resolution 2.8" SPI TFT LCD Display Touch Panel ILI9341 with an ESP32/ESP32S3 etc without problems using the Adafruit_ILI9341 library and Adafruit-GFX-Library
running program File>Examples>Adafruit_ILI9341>graphicstest

this compiles and links for an ESP8266 but I have not attempted to run it

also worth looking at is the TFT_eSPI library but can be tricky to setup

Is the a specific reason you are using the Adafruit_GFX_AS library instead of the standard Adafruit_GFX library?

the the following code works on an ESP8266 NodeMCU

// ESP8266 to ILI9341

// File>Examples>Adafruit_ILI9341>graphicstest

/***************************************************
  This is our GFX example for the Adafruit ILI9341 Breakout and Shield
  ----> http://www.adafruit.com/products/1651

  Check out the links above for our tutorials and wiring diagrams
  These displays use SPI to communicate, 4 or 5 pins are required to
  interface (RST is optional)
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/

// ESP8266 connections
#define TFT_CS    15  
#define TFT_DC    5
#define TFT_MOSI  13
#define TFT_CLK   14
#define TFT_RST   4
#define TFT_MISO  12
// VCC and LED to 3.3V


#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// If using the breakout, change pins as desired
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

void setup() {
  Serial.begin(115200);
  delay(3000);
  Serial.println("\n\nESP8266 ILI9341 Test!"); 
 
  tft.begin();

  // read diagnostics (optional but can help debug problems)
  uint8_t x = tft.readcommand8(ILI9341_RDMODE);
  Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDMADCTL);
  Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDPIXFMT);
  Serial.print("Pixel Format: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDIMGFMT);
  Serial.print("Image Format: 0x"); Serial.println(x, HEX);
  x = tft.readcommand8(ILI9341_RDSELFDIAG);
  Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX); 
  
  Serial.println(F("Benchmark                Time (microseconds)"));
  delay(10);
  Serial.print(F("Screen fill              "));
  Serial.println(testFillScreen());
  delay(500);

  Serial.print(F("Text                     "));
  Serial.println(testText());
  delay(3000);

  Serial.print(F("Lines                    "));
  Serial.println(testLines(ILI9341_CYAN));
  delay(500);

  Serial.print(F("Horiz/Vert Lines         "));
  Serial.println(testFastLines(ILI9341_RED, ILI9341_BLUE));
  delay(500);

  Serial.print(F("Rectangles (outline)     "));
  Serial.println(testRects(ILI9341_GREEN));
  delay(500);

  Serial.print(F("Rectangles (filled)      "));
  Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA));
  delay(500);

  Serial.print(F("Circles (filled)         "));
  Serial.println(testFilledCircles(10, ILI9341_MAGENTA));

  Serial.print(F("Circles (outline)        "));
  Serial.println(testCircles(10, ILI9341_WHITE));
  delay(500);

  Serial.print(F("Triangles (outline)      "));
  Serial.println(testTriangles());
  delay(500);

  Serial.print(F("Triangles (filled)       "));
  Serial.println(testFilledTriangles());
  delay(500);

  Serial.print(F("Rounded rects (outline)  "));
  Serial.println(testRoundRects());
  delay(500);

  Serial.print(F("Rounded rects (filled)   "));
  Serial.println(testFilledRoundRects());
  delay(500);

  Serial.println(F("Done!"));

}


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

unsigned long testFillScreen() {
  unsigned long start = micros();
  tft.fillScreen(ILI9341_BLACK);
  yield();
  tft.fillScreen(ILI9341_RED);
  yield();
  tft.fillScreen(ILI9341_GREEN);
  yield();
  tft.fillScreen(ILI9341_BLUE);
  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();
  return micros() - start;
}

unsigned long testText() {
  tft.fillScreen(ILI9341_BLACK);
  unsigned long start = micros();
  tft.setCursor(0, 0);
  tft.setTextColor(ILI9341_WHITE);  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2);
  tft.println(1234.56);
  tft.setTextColor(ILI9341_RED);    tft.setTextSize(3);
  tft.println(0xDEADBEEF, HEX);
  tft.println();
  tft.setTextColor(ILI9341_GREEN);
  tft.setTextSize(5);
  tft.println("Groop");
  tft.setTextSize(2);
  tft.println("I implore thee,");
  tft.setTextSize(1);
  tft.println("my foonting turlingdromes.");
  tft.println("And hooptiously drangle me");
  tft.println("with crinkly bindlewurdles,");
  tft.println("Or I will rend thee");
  tft.println("in the gobberwarts");
  tft.println("with my blurglecruncheon,");
  tft.println("see if I don't!");
  return micros() - start;
}

unsigned long testLines(uint16_t color) {
  unsigned long start, t;
  int           x1, y1, x2, y2,
                w = tft.width(),
                h = tft.height();

  tft.fillScreen(ILI9341_BLACK);
  yield();
  
  x1 = y1 = 0;
  y2    = h - 1;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = w - 1;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t     = micros() - start; // fillScreen doesn't count against timing

  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();

  x1    = w - 1;
  y1    = 0;
  y2    = h - 1;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = 0;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t    += micros() - start;

  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();

  x1    = 0;
  y1    = h - 1;
  y2    = 0;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = w - 1;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  t    += micros() - start;

  return micros() - start;   //  <<< following code causes WDT Soft Reset
  
  yield();
  tft.fillScreen(ILI9341_BLACK);
  yield();

  x1    = w - 1;
  y1    = h - 1;
  y2    = 0;
  start = micros();
  for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  x2    = 0;
  for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);

  yield();
  return micros() - start;
}

unsigned long testFastLines(uint16_t color1, uint16_t color2) {
  unsigned long start;
  int           x, y, w = tft.width(), h = tft.height();

  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1);
  for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2);

  return micros() - start;
}

unsigned long testRects(uint16_t color) {
  unsigned long start;
  int           n, i, i2,
                cx = tft.width()  / 2,
                cy = tft.height() / 2;

  tft.fillScreen(ILI9341_BLACK);
  n     = min(tft.width(), tft.height());
  start = micros();
  for(i=2; i<n; i+=6) {
    i2 = i / 2;
    tft.drawRect(cx-i2, cy-i2, i, i, color);
  }

  return micros() - start;
}

unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
  unsigned long start, t = 0;
  int           n, i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;

  tft.fillScreen(ILI9341_BLACK);
  n = min(tft.width(), tft.height());
  for(i=n; i>0; i-=6) {
    i2    = i / 2;
    start = micros();
    tft.fillRect(cx-i2, cy-i2, i, i, color1);
    t    += micros() - start;
    // Outlines are not included in timing results
    tft.drawRect(cx-i2, cy-i2, i, i, color2);
    yield();
  }

  return t;
}

unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
  unsigned long start;
  int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;

  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(x=radius; x<w; x+=r2) {
    for(y=radius; y<h; y+=r2) {
      tft.fillCircle(x, y, radius, color);
    }
  }

  return micros() - start;
}

unsigned long testCircles(uint8_t radius, uint16_t color) {
  unsigned long start;
  int           x, y, r2 = radius * 2,
                w = tft.width()  + radius,
                h = tft.height() + radius;

  // Screen is not cleared for this one -- this is
  // intentional and does not affect the reported time.
  start = micros();
  for(x=0; x<w; x+=r2) {
    for(y=0; y<h; y+=r2) {
      tft.drawCircle(x, y, radius, color);
    }
  }

  return micros() - start;
}

unsigned long testTriangles() {
  unsigned long start;
  int           n, i, cx = tft.width()  / 2 - 1,
                      cy = tft.height() / 2 - 1;

  tft.fillScreen(ILI9341_BLACK);
  n     = min(cx, cy);
  start = micros();
  for(i=0; i<n; i+=5) {
    tft.drawTriangle(
      cx    , cy - i, // peak
      cx - i, cy + i, // bottom left
      cx + i, cy + i, // bottom right
      tft.color565(i, i, i));
  }

  return micros() - start;
}

unsigned long testFilledTriangles() {
  unsigned long start, t = 0;
  int           i, cx = tft.width()  / 2 - 1,
                   cy = tft.height() / 2 - 1;

  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(i=min(cx,cy); i>10; i-=5) {
    start = micros();
    tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
      tft.color565(0, i*10, i*10));
    t += micros() - start;
    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
      tft.color565(i*10, i*10, 0));
    yield();
  }

  return t;
}

unsigned long testRoundRects() {
  unsigned long start;
  int           w, i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;

  tft.fillScreen(ILI9341_BLACK);
  w     = min(tft.width(), tft.height());
  start = micros();
  for(i=0; i<w; i+=6) {
    i2 = i / 2;
    tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
  }

  return micros() - start;
}

unsigned long testFilledRoundRects() {
  unsigned long start;
  int           i, i2,
                cx = tft.width()  / 2 - 1,
                cy = tft.height() / 2 - 1;

  tft.fillScreen(ILI9341_BLACK);
  start = micros();
  for(i=min(tft.width(), tft.height()); i>20; i-=6) {
    i2 = i / 2;
    tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
    yield();
  }

  return micros() - start;
}

serial monitor displays

ESP8266 ILI9341 Test!
Display Power Mode: 0x94
MADCTL Mode: 0x48
Pixel Format: 0x5
Image Format: 0x80
Self Diagnostic: 0xC0
Benchmark                Time (microseconds)
Screen fill              31391942
Text                     1195510
Lines                    11401055
Horiz/Vert Lines         2540909
Rectangles (outline)     1614130
Rectangles (filled)      64835192
Circles (filled)         6811398
Circles (outline)        5049367
Triangles (outline)      2681846
Triangles (filled)       20841756
Rounded rects (outline)  2941980
Rounded rects (filled)   64719887
Done!



The following is the ST7735 hardware SPI implementation on a Wemos D1 R1 which uses ESP8266. Wet tested to run properly on the respective hardware setup.
(No touch).

LOLIN/WeMos/NodeMCU D1 R1 1.44 TFT Hyperclock Firmware Rev 2