UIPEthernet library for Arduino IDE, Eclipse with arduino plugin and MBED/SMeshStudio (AVR,STM32F,ESP8266,Intel ARC32,Nordic nRF51,Teensy boards,Realtek Ameba(RTL8195A,RTL8710)), ENC28j60 network chip. Compatible with Wiznet W5100 Ethernet library API. Compiled and tested on Nucleo-F302R8. Master repository is: https://github.com/UIPEthernet/UIPEthernet/
Diff: utility/Enc28J60Network.h
- Revision:
- 19:e416943f7119
- Parent:
- 3:6b1c9bd7773a
- Child:
- 22:1ce14a6cd293
--- a/utility/Enc28J60Network.h Tue Jan 03 11:39:33 2017 +0100 +++ b/utility/Enc28J60Network.h Wed Jan 04 18:32:00 2017 +0100 @@ -56,6 +56,13 @@ #define ENC28J60_CONTROL_CS SPI_CS #endif +#if defined(STM32F3) //This is workaround for stm32duino STM32F3 + #define BOARD_SPI1_NSS_PIN PA4 + #define BOARD_SPI1_SCK_PIN PA5 + #define BOARD_SPI1_MISO_PIN PA6 + #define BOARD_SPI1_MOSI_PIN PA7 +#endif //This is workaround for stm32duino STM32F3 + #if !defined(ENC28J60_CONTROL_CS) #if defined(__AVR__) || defined(ESP8266) // Arduino Uno (__AVR__) SS defined to pin 10 @@ -65,8 +72,10 @@ #elif defined(ARDUINO_ARCH_SAM) // Arduino Due (ARDUINO_ARCH_SAM) BOARD_SPI_DEFAULT_SS (SS3) defined to pin 78 #define ENC28J60_CONTROL_CS BOARD_SPI_DEFAULT_SS - #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(__STM32F4__) - #ifdef ARDUINO_STM32F4_NETDUINO2PLUS + #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) + #if defined(BOARD_SPI1_NSS_PIN) + #define ENC28J60_CONTROL_CS BOARD_SPI1_NSS_PIN + #elif defined(ARDUINO_STM32F4_NETDUINO2PLUS) #define ENC28J60_CONTROL_CS PC8 #else #define ENC28J60_CONTROL_CS SPI.nssPin() @@ -86,8 +95,12 @@ #define SPI_MOSI MOSI #elif defined(ARDUINO_ARCH_SAM) #define SPI_MOSI PIN_SPI_MOSI - #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(__STM32F4__) - #define SPI_MOSI SPI.mosiPin() + #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) + #if defined(BOARD_SPI1_MOSI_PIN) + #define SPI_MOSI BOARD_SPI1_MOSI_PIN + #else + #define SPI_MOSI SPI.mosiPin() + #endif #endif #endif #if !defined(SPI_MOSI) @@ -99,8 +112,12 @@ #define SPI_MISO MISO #elif defined(ARDUINO_ARCH_SAM) #define SPI_MISO PIN_SPI_MISO - #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(__STM32F4__) - #define SPI_MISO SPI.misoPin() + #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) + #if defined(BOARD_SPI1_MISO_PIN) + #define SPI_MISO BOARD_SPI1_MISO_PIN + #else + #define SPI_MISO SPI.misoPin() + #endif #endif #endif #if !defined(SPI_MISO) @@ -111,16 +128,24 @@ #define SPI_SCK SCK #elif defined(ARDUINO_ARCH_SAM) #define SPI_SCK PIN_SPI_SCK - #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(__STM32F4__) - #define SPI_SCK SPI.sckPin() + #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) + #if defined(BOARD_SPI1_SCK_PIN) + #define SPI_SCK BOARD_SPI1_SCK_PIN + #else + #define SPI_SCK SPI.sckPin() + #endif #endif #endif #if !defined(SPI_SCK) #error "Not defined SPI_SCK!" #endif -#if defined(__MBED__) || defined(ARDUINO_ARCH_SAM) || defined(__STM32F1__) || defined(__STM32F3__) || defined(__STM32F4__) || defined(ESP8266) - #include <SPI.h> +#if defined(__MBED__) || defined(ARDUINO_ARCH_SAM) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(ESP8266) + #if defined(__STM32F3__) || defined(STM32F3) + #include "HardwareSPI.h" + #else + #include <SPI.h> + #endif #define ENC28J60_USE_SPILIB 1 #endif