Compile Problem - Ethernet and SPI

Status
Not open for further replies.

Constantin

Well-known member
Arduino 1.6.9, Teensy Duino 1.29...

I wonder if I may be the only user with this problem... can't get anything related to Ethernet and SPI to compile. For example, here is the output from the HTTPCLIENT library:

Code:
C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\HttpClient\HttpClient.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\HttpClient\HttpClient.cpp.o"
D:\Arduino\libraries\HttpClient\HttpClient.cpp: In member function 'int HttpClient::responseStatusCode()':

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eIdle' not handled in switch [-Wswitch]

                     switch(iState)

                           ^

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eRequestStarted' not handled in switch [-Wswitch]

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eReadingContentLength' not handled in switch [-Wswitch]

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eSkipToEndOfHeader' not handled in switch [-Wswitch]

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eLineStartingCRFound' not handled in switch [-Wswitch]

D:\Arduino\libraries\HttpClient\HttpClient.cpp:324:27: warning: enumeration value 'eReadingBody' not handled in switch [-Wswitch]

"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\HttpClient\b64.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\HttpClient\b64.cpp.o"
D:\Arduino\libraries\HttpClient\b64.cpp: In function 'int b64_encode(const unsigned char*, int, unsigned char*, int)':

D:\Arduino\libraries\HttpClient\b64.cpp:69:1: warning: control reaches end of non-void function [-Wreturn-type]

 }

 ^

"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\Dhcp.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\Dhcp.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\Dns.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\Dns.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\Ethernet.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\Ethernet.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\EthernetClient.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\EthernetClient.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\EthernetServer.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\EthernetServer.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\EthernetUdp.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\EthernetUdp.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\Twitter.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\Twitter.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\utility\socket.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\utility\socket.cpp.o"
D:\Arduino\libraries\Ethernet\src\utility\socket.cpp: In function 'uint16_t igmpsend(SOCKET, const uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\socket.cpp:322:11: warning: variable 'status' set but not used [-Wunused-but-set-variable]

   uint8_t status=0;

           ^

"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\utility\w5100.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\utility\w5100.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\utility\w5200.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\utility\w5200.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-ID:\Arduino\libraries\Ethernet\src" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\HttpClient" "D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildef71ff7176ada612178739156ffdb6f5.tmp\libraries\Ethernet\utility\w5500.cpp.o"
D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In member function 'void W5500Class::init()':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:29:19: error: no matching function for call to 'SPIClass::begin(int)'

   SPI.begin(SPI_CS);

                   ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:29:19: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:408:14: note: static void SPIClass::begin()

  static void begin();

              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:408:14: note:   candidate expects 0 arguments, 1 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:34:32: error: no matching function for call to 'SPIClass::setClockDivider(int, int)'

   SPI.setClockDivider(SPI_CS, 2); // 42 Mhz, ok 

                                ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:34:32: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:550:21: note: static void SPIClass::setClockDivider(uint8_t)

  inline static void setClockDivider(uint8_t clockDiv) {

                     ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:550:21: note:   candidate expects 1 argument, 2 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:35:36: error: no matching function for call to 'SPIClass::setDataMode(int, int)'

   SPI.setDataMode(SPI_CS, SPI_MODE0);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:35:36: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:546:14: note: static void SPIClass::setDataMode(uint8_t)

  static void setDataMode(uint8_t dataMode);

              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:546:14: note:   candidate expects 1 argument, 2 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint8_t W5500Class::write(uint16_t, uint8_t, uint8_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:116:36: error: 'SPI_CONTINUE' was not declared in this scope

   SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:119:29: error: invalid conversion from 'int' to 'void*' [-fpermissive]

   SPI.transfer(SPI_CS, _data);

                             ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint16_t W5500Class::write(uint16_t, uint8_t, const uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:137:36: error: 'SPI_CONTINUE' was not declared in this scope

   SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:143:30: error: invalid conversion from 'int' to 'void*' [-fpermissive]

  SPI.transfer(SPI_CS, _buf[i]);

                              ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint8_t W5500Class::read(uint16_t, uint8_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:159:38: error: 'SPI_CONTINUE' was not declared in this scope

     SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                      ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:162:43: error: invalid conversion from 'int' to 'void*' [-fpermissive]

     uint8_t _data = SPI.transfer(SPI_CS, 0);

                                           ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:162:43: error: void value not ignored as it ought to be

     uint8_t _data = SPI.transfer(SPI_CS, 0);

                                           ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint16_t W5500Class::read(uint16_t, uint8_t, uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:180:38: error: 'SPI_CONTINUE' was not declared in this scope

     SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                      ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:186:42: error: invalid conversion from 'int' to 'void*' [-fpermissive]

     _buf[_len-1] = SPI.transfer(SPI_CS, 0);

                                          ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:186:18: error: void value not ignored as it ought to be

     _buf[_len-1] = SPI.transfer(SPI_CS, 0);

                  ^

Multiple libraries were found for "HttpClient.h"
 Used: D:\Arduino\libraries\HttpClient
 Not used: D:\Arduino\libraries\Bridge
 Not used: C:\Program Files (x86)\Arduino\libraries\Bridge
Multiple libraries were found for "Ethernet.h"
 Used: D:\Arduino\libraries\Ethernet
 Not used: D:\Arduino\libraries\Ethernet-master
 Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Ethernet
 Not used: C:\Program Files (x86)\Arduino\libraries\Ethernet
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI 
Using library HttpClient at version 2.2.0 in folder: D:\Arduino\libraries\HttpClient 
Using library Ethernet at version 1.0.0 in folder: D:\Arduino\libraries\Ethernet 
Error compiling for board Teensy 3.2 / 3.1.

This suggests a number of incompatibilities... I didn't see a newer SPI library to try out (Attempting the same with the Teensy T3 SPI library also failed, though likely due to the Ethernet library calling SPI, not the Teensy SPI library)

The below xively client code example is included with Ethernet, which also crashes and burns.

Code:
D:\Arduino\libraries\Ethernet\src\utility\socket.cpp: In function 'uint16_t igmpsend(SOCKET, const uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\socket.cpp:322:11: warning: variable 'status' set but not used [-Wunused-but-set-variable]

   uint8_t status=0;

           ^

"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\Ethernet\src" "D:\Arduino\libraries\Ethernet\src\utility\w5100.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildd4fca1ba2e962027265329e060b0acf4.tmp\libraries\Ethernet\utility\w5100.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\Ethernet\src" "D:\Arduino\libraries\Ethernet\src\utility\w5200.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildd4fca1ba2e962027265329e060b0acf4.tmp\libraries\Ethernet\utility\w5200.cpp.o"
"C:\Program Files (x86)\Arduino\hardware\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -felide-constructors -std=gnu++0x -fno-rtti -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -D__MK20DX256__ -DTEENSYDUINO=129 -DARDUINO=10609 -DF_CPU=96000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3" "-IC:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI" "-ID:\Arduino\libraries\Ethernet\src" "D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp" -o "C:\Users\CVONWE~1\AppData\Local\Temp\buildd4fca1ba2e962027265329e060b0acf4.tmp\libraries\Ethernet\utility\w5500.cpp.o"
D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In member function 'void W5500Class::init()':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:29:19: error: no matching function for call to 'SPIClass::begin(int)'

   SPI.begin(SPI_CS);

                   ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:29:19: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:408:14: note: static void SPIClass::begin()

  static void begin();

              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:408:14: note:   candidate expects 0 arguments, 1 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:34:32: error: no matching function for call to 'SPIClass::setClockDivider(int, int)'

   SPI.setClockDivider(SPI_CS, 2); // 42 Mhz, ok 

                                ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:34:32: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:550:21: note: static void SPIClass::setClockDivider(uint8_t)

  inline static void setClockDivider(uint8_t clockDiv) {

                     ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:550:21: note:   candidate expects 1 argument, 2 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:35:36: error: no matching function for call to 'SPIClass::setDataMode(int, int)'

   SPI.setDataMode(SPI_CS, SPI_MODE0);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:35:36: note: candidate is:

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:546:14: note: static void SPIClass::setDataMode(uint8_t)

  static void setDataMode(uint8_t dataMode);

              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:546:14: note:   candidate expects 1 argument, 2 provided

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint8_t W5500Class::write(uint16_t, uint8_t, uint8_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:116:36: error: 'SPI_CONTINUE' was not declared in this scope

   SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:119:29: error: invalid conversion from 'int' to 'void*' [-fpermissive]

   SPI.transfer(SPI_CS, _data);

                             ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint16_t W5500Class::write(uint16_t, uint8_t, const uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:137:36: error: 'SPI_CONTINUE' was not declared in this scope

   SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                    ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:143:30: error: invalid conversion from 'int' to 'void*' [-fpermissive]

  SPI.transfer(SPI_CS, _buf[i]);

                              ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint8_t W5500Class::read(uint16_t, uint8_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:159:38: error: 'SPI_CONTINUE' was not declared in this scope

     SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                      ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:162:43: error: invalid conversion from 'int' to 'void*' [-fpermissive]

     uint8_t _data = SPI.transfer(SPI_CS, 0);

                                           ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:162:43: error: void value not ignored as it ought to be

     uint8_t _data = SPI.transfer(SPI_CS, 0);

                                           ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp: In static member function 'static uint16_t W5500Class::read(uint16_t, uint8_t, uint8_t*, uint16_t)':

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:180:38: error: 'SPI_CONTINUE' was not declared in this scope

     SPI.transfer(SPI_CS, _addr >> 8, SPI_CONTINUE);

                                      ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:186:42: error: invalid conversion from 'int' to 'void*' [-fpermissive]

     _buf[_len-1] = SPI.transfer(SPI_CS, 0);

                                          ^

In file included from D:\Arduino\libraries\Ethernet\src/utility/w5100.h:13:0,

                 from D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:13:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI/SPI.h:490:21: error:   initializing argument 1 of 'static void SPIClass::transfer(void*, size_t)' [-fpermissive]

  inline static void transfer(void *buf, size_t count) {

                     ^

D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp:186:18: error: void value not ignored as it ought to be

     _buf[_len-1] = SPI.transfer(SPI_CS, 0);

                  ^

Multiple libraries were found for "Ethernet.h"
 Used: D:\Arduino\libraries\Ethernet
 Not used: D:\Arduino\libraries\Ethernet-master
 Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Ethernet
 Not used: C:\Program Files (x86)\Arduino\libraries\Ethernet
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI 
Using library Ethernet at version 1.0.0 in folder: D:\Arduino\libraries\Ethernet 
Error compiling for board Teensy 3.2 / 3.1.

Should I start by modifying the libraries to use the spiforteensyT3 library instead of Spi.h? FWIW, it's speed test compiled without issues!
 
Last edited:
Can anyone else try to compile one of their Ethernet library examples to see if there are the same issues? Arduino 1.6.9, Teensyduino 1.29, any example...
 
Can anyone else try to compile one of their Ethernet library examples to see if there are the same issues? Arduino 1.6.9, Teensyduino 1.29, any example...
XivelyClient compiles for me. I'm using the .zip version of Arduino.

You have mixed locations for your libraries:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries
and
D:\Arduino\libraries

When I compile XivelyClient, the w5100.cpp that gets used is:
arduino-1.6.9\hardware\teensy\avr\libraries\Ethernet\w5100.cpp
for you:
D:\Arduino\libraries\Ethernet\src\utility\w5500.cpp
 
Last edited:
Multiple libraries were found for "Ethernet.h"
Used: D:\Arduino\libraries\Ethernet
Not used: D:\Arduino\libraries\Ethernet-master
Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Ethernet
Not used: C:\Program Files (x86)\Arduino\libraries\Ethernet

You probably want it to use Ethernet lib Teensyduino installed.
 
Did that and everything compiles. Thank you all!

Installed Pauls version of Ethernet.

Unfortunately, still no luck yet with any of the stock Ethernet examples despite changing the pin # defines in the .h file to 16 and 17 for the Wiznet 820 module. Frustrating!

I'm starting to wonder if I somehow have a mislabeled symbol in my Eagle file, i.e. swapped IO pins and all that. It does light up when connected so at least VCC and GND are good.
 
Status
Not open for further replies.
Back
Top