Arduino Nano V 3.0. Initial Arduino IDE 2.3.6 deleted (I had allowed updates) and then IDE 1.8.19 installed.
I am extremely amateur with Arduino. I am trying to run an ElectroCardioGram program written by Peter Bauch which runs on his IDE 1.8.16. ( ECG Display With Arduino : 13 Steps (with Pictures) - Instructables ) The program won’t verify giving the above error. I understand that SPIClass is included in the IDE download and that “transfer16” should be recognised. That is why I deleted the IDE and re-installed an earlier version, which gave the same error. Please advise me and let me know what else I should add to this request. It is a lengthy program that has run. The author is helpful but does not have an answer.
Conect two Arduinos using SPI Port and check if SPI.transfer16(0x1234); command works or not.
From Google:
"The Arduino UNO (the original R3 model) does not have a built-in SPI.transfer16() function because its ATmega328P microcontroller's SPI hardware is byte-oriented. To send 16-bit data on an UNO R3, you must call SPI.transfer() twice, sending the higher and lower bytes sequentially."
I remember that I tried SPI.transfer16(0x1234) in UNOR3; but, it did not work. Later on, I did execute SPI.transfer(0x12); SPI.transfer(0x34) for my sketch to work.
Thank you. I had wondered if my Nano, given as a present, years ago, was too old. If God Google is right, that is the answer. My skill does not extend to rewriting multiple SPI calls twice. I should just buy a new Nano.
Before you buy a new NANO, connect your NANO with UNOR3 using SPI Port. Perform the examples of Task-8.2 of the attached document. Ch-8SPILec.pdf (357.5 KB) Expt-8(SPI)Updated(1-11-22).pdf (305.6 KB)
What's you mean as a "new Nano"?
I think you misunderstood the answer. It's not that your Nano is old. All classic Nanos are the same - both those released 10 years ago and yesterday.
The code is written for the classic Nano and it won't work on another one.
The question is why the author of the project uses code that is not compatible with the platform.
I would suggest that you buy two Arduino UNO R3 and play with them to perform the following exercises.
UART Port based serial data communication
I2C Bus based serial data communcation
SPI Port based serial data communication
etc. ch-6UART6-2.pdf (60.2 KB) Expt-6(UART).pdf (371.8 KB)
OK, thanks, that is illuminating. Sorry, I have just discovered another blunder. My apologies for wasting people’s time. I had not selected the right board. Now I have selected the Nano board, I am still getting 13 pages of errors, but not the SPI transfer 16. I don’t know how to post 13 pages of errors; neither “link” nor “upload seems right. I shall read the posting instructions again.
I think there is a "copy error messages" button just above the error message window in the IDE. That might add the code tags automatically, but if it doesn't, just add them yourself.
The code tags look like 3 backward-sloping apostrophes and must be on a line by themselves.
Arduino: 1.8.19 (Windows 10), Board: "Arduino Nano, ATmega328P"
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\User\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10819 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_396935 -warnings=none -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_487695 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\ArdECG1.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\User\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10819 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_396935 -warnings=none -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_487695 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\ArdECG1.ino
Using board 'nano' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Detecting libraries used...
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\ArdECG1.ino.cpp" -o nul
Alternatives for SPI.h: [SPI]
ResolveLibrary(SPI.h)
-> candidates: [SPI]
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\ArdECG1.ino.cpp" -o nul
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\SimpleILI9341.cpp" -o nul
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\Documents\\Arduino\\libraries\\SPI\\SPI.cpp" -o nul
Generating function prototypes...
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\ArdECG1.ino.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\ArdECG1.ino.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\ArdECG1.ino.cpp.o"
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\SimpleILI9341.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_396935\\sketch\\SimpleILI9341.cpp.o"
C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\SimpleILI9341.cpp: In function 'void spiWrite16(uint16_t, int16_t)':
SimpleILI9341.cpp:776:11: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
SPI.transfer16(data);
^~~~~~~~~~
transfer
C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\SimpleILI9341.cpp: In function 'bool GetTouch(int*, int*)':
SimpleILI9341.cpp:1313:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0));
^~~~~~~~~~~~~~~~
SimpleILI9341.cpp:1313:24: error: 'SPISettings' was not declared in this scope
SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0));
^~~~~~~~~~~
SimpleILI9341.cpp:1320:11: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
z = SPI.transfer16(0xB4) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1321:12: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
z1 = SPI.transfer16(0xB4) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1322:12: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
z2 = SPI.transfer16(0xC4) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1324:7: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
SPI.transfer16(0x91); // switch on drivers
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1325:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ax[0] = SPI.transfer16(0x91) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1326:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ax[1] = SPI.transfer16(0x91) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1327:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ax[2] = SPI.transfer16(0x91) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1328:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ax[3] = SPI.transfer16(0x91) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1329:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ax[4] = SPI.transfer16(0x91) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1331:7: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
SPI.transfer16(0xD1); // switch on drivers
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1332:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ay[0] = SPI.transfer16(0xD1) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1333:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ay[1] = SPI.transfer16(0xD1) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1334:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ay[2] = SPI.transfer16(0xD1) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1335:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ay[3] = SPI.transfer16(0xD1) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1336:15: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
ay[4] = SPI.transfer16(0xD1) >> 3;
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1340:7: error: 'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
SPI.transfer16(0); // power down
^~~~~~~~~~
transfer
SimpleILI9341.cpp:1343:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^~~~~~~~~~~~~~
SimpleILI9341.cpp:1344:7: error: 'class SPIClass' has no member named 'beginTransaction'
SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
^~~~~~~~~~~~~~~~
SimpleILI9341.cpp:1345:7: error: 'class SPIClass' has no member named 'endTransaction'
SPI.endTransaction();
^~~~~~~~~~~~~~
Using library SPI in folder: C:\Users\User\Documents\Arduino\libraries\SPI (legacy)
exit status 1
'class SPIClass' has no member named 'transfer16'; did you mean 'transfer'?
Hello Peter, I have got back to the project and have connected the display, But the program won't verfy. The Nano I have is version3- quite old. Error grumbles about transfer16. I have attached the errors. Please can you spot what I have done wrong?
That's weird. It's saying it can't find the function called transfer16() which should be in the SPI library. It's suggesting that it can find the transfer() function which is in the SPI library.
At the start of SimpleILI9341.cpp is the line
#include <SPI.h>
which should find the SPI library.
The compiler is not complaining it can't find the SPI library.
It says "This library is bundled with every Arduino platform so you do not need to install the library separately."
So how can you not have the transfer16() function? The manual only talks about the transfer() function so maybe transfer16() is a recent function. The manual website is always out of date.
Maybe the compiler has found an old version of the SPI library on your disk somewhere.
Firstly, search your whole computer (or whole C: drive) for files called
SPI.h
SPI.c
How many versions do you have? Is there an old version and a new version? Delete the old one or rename it to xxxSPI. I've searched my C: drive and haven't found then yet. I don't understand where the Arduino IDE has hidden them. Did you download the Arduino IDE many years ago and it needs updating? Mine is ver 1.8.16.
You could try downloading the SPI library - but I don't know where from. Maybe Github? Make sure it's the right library for the Arduino nano (i.e. the ATMEGA328P). Save SPI.h and SPI.c in the same library as ArdECG1.ino.
Yes, I know, that is me chatting to him. I guess he is having a bank holiday just now, but I guess he is baffled as to why his program works with his Nano and does not with mine. I note that it is with this that the verify takes exception - I think. I have his permission to post his code, but it is quite long., and would come in 3 parts.
It certainly is in his fully asembled necklace version - just like my Nano. Peter has made another reply. I don’t know if I am skilled enough to follow the advice.
The reply does not yet show on the web site. What does it say? Replies just showed.
spiney replies
In the error pages is this - Alternatives for SPI.h: [SPI]
ResolveLibrary(SPI.h)
-> candidates: [SPI]
Does this tell us something.
Peter replies
I have no idea what that means. Try it and see?
And I have no idea why it all just works for me.
I'll see if I can find how to use two transfer() instead of one transfer16().
(The Nano and the Uno use the same processor so it's the same compiler and libraries.)
and
Peter replies
I can't find a version of transfer16(). So I've written one (attached). It compiles but is untested. Let me know if it works - I may have got the byte order wrong or it may be untrue that "you must call SPI.transfer() twice, sending the higher and lower bytes sequentially."
Your code only shows eight bit transfers, not sixteen bit... why not try substituting transfer16() with transfer() and leave the rest of the code intact?
Truth is, amateurs are unreliable - sorry. The Nano did fail and gave the transfer16 error. Then I started over and did not notice that IDE had changed to another board and got different errors. When I restarted and made sure Nano was selected, I got transfer16 error again. Now the author has rewritten Simple ILIG341.h and I have substituted it, which has resulted in different errors.
Arduino: 1.8.19 (Windows 10), Board: "Arduino Nano, ATmega328P" C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\User\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10819 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_836293 -warnings=none -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_461494 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\ArdECG1.ino C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\User\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\User\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\User\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10819 -build-path C:\Users\User\AppData\Local\Temp\arduino_build_836293 -warnings=none -build-cache C:\Users\User\AppData\Local\Temp\arduino_cache_461494 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\User\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -verbose C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\ArdECG1.ino Using board 'nano' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6 Using core 'arduino' from platform in folder: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6 Detecting libraries used... "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\ArdECG1.ino.cpp" -o nul Alternatives for SPI.h: [SPI] ResolveLibrary(SPI.h) -> candidates: [SPI] "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\ArdECG1.ino.cpp" -o nul "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\SimpleILI9341.cpp" -o nul "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\Documents\\Arduino\\libraries\\SPI\\SPI.cpp" -o nul Generating function prototypes... "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\ArdECG1.ino.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\preproc\\ctags_target_for_gcc_minus_e.cpp" "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\preproc\\ctags_target_for_gcc_minus_e.cpp" Compiling sketch... "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\ArdECG1.ino.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\ArdECG1.ino.cpp.o" "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\eightanaloginputs" "-IC:\\Users\\User\\Documents\\Arduino\\libraries\\SPI" "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\SimpleILI9341.cpp" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino_build_836293\\sketch\\SimpleILI9341.cpp.o" C:\Users\User\Documents\IT\ArdECG1A\ArdECG1\SimpleILI9341.cpp: In function 'bool GetTouch(int*, int*)': SimpleILI9341.cpp:1324:7: error: 'class SPIClass' has no member named 'beginTransaction' SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); ^~~~~~~~~~~~~~~~ SimpleILI9341.cpp:1324:24: error: 'SPISettings' was not declared in this scope SPI.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); ^~~~~~~~~~~ SimpleILI9341.cpp:1354:7: error: 'class SPIClass' has no member named 'endTransaction' SPI.endTransaction(); ^~~~~~~~~~~~~~ SimpleILI9341.cpp:1355:7: error: 'class SPIClass' has no member named 'beginTransaction' SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0)); ^~~~~~~~~~~~~~~~ SimpleILI9341.cpp:1356:7: error: 'class SPIClass' has no member named 'endTransaction' SPI.endTransaction(); ^~~~~~~~~~~~~~ Using library SPI in folder: C:\Users\User\Documents\Arduino\libraries\SPI (legacy) exit status 1 'class SPIClass' has no member named 'beginTransaction'