compile problems, TFT shield and Arduino Wifi Rev2

Dear all,



a problem here:

I use the 2.8 TFTtouch shield V2.0.

On an normal (old)Arduino the sample sketch compiles and uploads good, but on the Arduino Uno Wifi Rf2 not.



For example the “text” sample



#include <stdint.h>

#include <TFTv2.h>

#include <SPI.h>



void setup()

{

TFT_BL_ON; // turn on the background light

Tft.TFTinit(); // init TFT library



Tft.drawChar(‘S’,0,0,1,RED); // draw char: ‘S’, (0, 0), size: 1, color: RED

Tft.drawChar(‘E’,10,10,2,BLUE); // draw char: ‘E’, (10, 10), size: 2, color: BLUE

Tft.drawChar(‘E’,20,40,3,GREEN); // draw char: ‘E’, (20, 40), size: 3, color: GREEN

Tft.drawChar(‘E’,30,80,4,YELLOW); // draw char: ‘E’, (30, 80), size: 4, color: YELLOW

Tft.drawChar(‘D’,40,120,4,YELLOW); // draw char: ‘D’, (40, 120), size: 4, color: YELLOW

Tft.drawString(“Hello”,0,180,3,CYAN); // draw string: “hello”, (0, 180), size: 3, color: CYAN

Tft.drawString(“World!!”,60,220,4,WHITE); // draw string: “world!!”, (80, 230), size: 4, color: WHITE

}



void loop()

{



}


  • if set to “board = Arduino Uno” only it compiles but does not upload (No further information why not)
  • if set to the proper “Arduino Uno Wifi Rev2” it does not compile and gives the below dump.

    (i tried some of the programmers to no avail)



    I guess that the rather new Arduino is settings the wrong compiler presets but am not sure.

    Could anyone help? Thanks!









    Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: “Arduino Uno WiFi Rev2, None (ATMEGA4809)”



    C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\wastl\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\wastl\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\wastl\Documents\Arduino\libraries -fqbn=arduino:megaavr:uno2018:mode=off -vid-pid=0X03EB_0X2145 -ide-version=10809 -build-path C:\Users\wastl\AppData\Local\Temp\arduino_build_43412 -warnings=default -build-cache C:\Users\wastl\AppData\Local\Temp\arduino_cache_411126 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.arduinoOTA.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino16 -prefs=runtime.tools.avrdude-6.3.0-arduino16.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino16 -verbose C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino

    C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\wastl\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\wastl\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\wastl\Documents\Arduino\libraries -fqbn=arduino:megaavr:uno2018:mode=off -vid-pid=0X03EB_0X2145 -ide-version=10809 -build-path C:\Users\wastl\AppData\Local\Temp\arduino_build_43412 -warnings=default -build-cache C:\Users\wastl\AppData\Local\Temp\arduino_cache_411126 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.arduinoOTA.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino16 -prefs=runtime.tools.avrdude-6.3.0-arduino16.path=C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avrdude\6.3.0-arduino16 -verbose C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino

    Using board ‘uno2018’ from platform in folder: C:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4

    Using core ‘arduino’ from platform in folder: C:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4

    Detecting libraries used…

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp” -o nul

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp” -o nul

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp” -o nul

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0\TFTv2.cpp” -o nul

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0\font.c” -o nul

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src\SPI.cpp” -o nul

    Generating function prototypes…

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp” -o “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\preproc\ctags_target_for_gcc_minus_e.cpp”

    “C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\tools-builder\ctags\5.8-arduino11/ctags” -u --language-force=c++ -f - --c+±kinds=svpf --fields=KSTtzns --line-directives “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\preproc\ctags_target_for_gcc_minus_e.cpp”

    Sketch wird kompiliert…

    “C:\Users\wastl\Documents\ArduinoData\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5/bin/avr-g++” -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino/api/deprecated” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\cores\arduino” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\variants\uno2018” “-IC:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0” “-IC:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI\src” “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp” -o “C:\Users\wastl\AppData\Local\Temp\arduino_build_43412\sketch\text.ino.cpp.o”

    In file included from C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino:7:0:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h: In member function ‘void TFT::sendCMD(unsigned char)’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:138:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:138:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:138:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:139:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:139:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:139:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:141:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:141:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:141:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h: In member function ‘void TFT::WRITE_DATA(unsigned char)’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:146:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:146:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:146:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:147:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:147:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:147:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:149:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:149:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:149:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h: In member function ‘void TFT::sendData(short unsigned int)’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:156:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:156:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:156:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:157:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:157:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:157:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:160:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:160:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:160:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h: In member function ‘void TFT::WRITE_Package(short unsigned int*, unsigned char)’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:168:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:168:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:168:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:169:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:169:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:169:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:178:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:178:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:178:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h: In member function ‘unsigned char TFT::Read_Register(unsigned char, unsigned char)’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:186:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:186:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:104:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_LOW {DDRD |= 0x40;PORTD &=~ 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:186:9: note: in expansion of macro ‘TFT_DC_LOW’



    TFT_DC_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:187:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:187:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:102:41: error: no match for ‘operator&=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_LOW {DDRD |= 0x20;PORTD &=~ 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:187:9: note: in expansion of macro ‘TFT_CS_LOW’



    TFT_CS_LOW;



    ^
    ~



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:189:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:22: note: suggested alternative: ‘VDD’



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:189:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:105:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_DC_HIGH {DDRD |= 0x40;PORTD |= 0x40;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:189:9: note: in expansion of macro ‘TFT_DC_HIGH’



    TFT_DC_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:191:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:22: note: suggested alternative: ‘VDD’



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:191:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:103:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_CS_HIGH {DDRD |= 0x20;PORTD |= 0x20;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:191:9: note: in expansion of macro ‘TFT_CS_HIGH’



    TFT_CS_HIGH;



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino: In function ‘void setup()’:



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:107:22: error: ‘DDRD’ was not declared in this scope



    #define TFT_BL_ON {DDRD |= 0x80;PORTD |= 0x80;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino:12:5: note: in expansion of macro ‘TFT_BL_ON’



    TFT_BL_ON; // turn on the background light



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:107:22: note: suggested alternative: ‘VDD’



    #define TFT_BL_ON {DDRD |= 0x80;PORTD |= 0x80;}



    ^



    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino:12:5: note: in expansion of macro ‘TFT_BL_ON’



    TFT_BL_ON; // turn on the background light



    ^




    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0/TFTv2.h:107:41: error: no match for ‘operator|=’ (operand types are ‘PORT_t {aka PORT_struct}’ and ‘int’)



    #define TFT_BL_ON {DDRD |= 0x80;PORTD |= 0x80;}



    ^



    Mehrere Bibliotheken wurden für “TFTv2.h” gefunden

    Benutzt: C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0

    C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master\examples\text\text.ino:12:5: note: in expansion of macro ‘TFT_BL_ON’



    Nicht benutzt: C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_V2-master

    TFT_BL_ON; // turn on the background light



    ^
    ~~~~~~



    Bibliothek TFT_Touch_Shield_v2.0 in Version 1.0.0 im Ordner: C:\Users\wastl\Documents\Arduino\libraries\TFT_Touch_Shield_v2.0 wird verwendet

    Bibliothek SPI in Version 1.0 im Ordner: C:\Users\wastl\Documents\ArduinoData\packages\arduino\hardware\megaavr\1.8.4\libraries\SPI wird verwendet

    exit status 1

    Fehler beim Kompilieren für das Board Arduino Uno WiFi Rev2.

There are several types of compiler errors that are especially frustrating. The first is the case of an undeclared variable that you swear you declared. Often times, you can actually point out exactly where the variable was declared! The problem is often that the variable is simply misspelled. Unfortunately, this can be very hard to see since the mind typically reads what it expects rather than what is actually there. Worse, there are other reasons why this could be a problem too–scoping issues for instance!

To sort through the possible problems, one trick I like to use is to go to the line of the supposedly undeclared variable and have my text editor perform a search for the word under the cursor (alternatively, you could copy the variable name and perform a search); this guarantees that if I spelled it incorrectly, it will not find a match for my search. This also keeps me from having to type the word, which could result in my correctly spelling the variable name.

A second cryptic message is the “unexpected end of file”. What’s going on here? Why would the end of the file be “unexpected”? Well, the key here is to think like the compiler; if the end of the file is unexpected, then it must be that it’s waiting for something. What could it be waiting for? The answer is usually “closure”. For instance, closing curly braces or closing quotes. A good text editor that performs syntax highlighting and automatic indentation should help fix some of these issues by making it easier to spot problems when writing code.

Ultimately, when a message is cryptic, the way to approach the problem is to think about how the compiler is trying to interpret the file. This can be hard when you’re just starting out, but if you pay attention to the messages and try to pick out what they could mean, you’ll quickly get used to the general patterns.

Finally, if nothing else works, you can always just rewrite a few lines of code to clear out any hidden syntax errors that might be hard for the eye to catch. This can be dangerous if you don’t end up rewriting the right section of code, but it can be helpful.

Regards,
Rachel Gomez