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/

Revision:
39:deeb00b81cc9
Parent:
38:645b253e6b50
--- a/utility/Enc28J60Network.h	Mon Mar 27 22:31:01 2017 +0200
+++ b/utility/Enc28J60Network.h	Tue Jan 23 15:08:43 2018 +0100
@@ -56,12 +56,12 @@
   #define ENC28J60_CONTROL_CS SPI_CS
 #endif
 
-#if defined(STM32F3)                //This is workaround for stm32duino STM32F3
+#if defined(STM32F3) || defined(STM32F2)                //This is workaround for stm32duino STM32F2, and adafruit wiced feather STM32F2
   #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
+#endif                              			//This is workaround for stm32duino STM32F3, and adafruit wiced feather STM32F2
 
 #if defined(BOARD_discovery_f4)
   #define __STM32F4__
@@ -86,7 +86,9 @@
       #define ENC28J60_CONTROL_CS     SS
    #elif defined(__RFduino__) //RFduino
       #define ENC28J60_CONTROL_CS     SS
-   #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__)
+   #elif defined(ARDUINO_ARCH_STM32) // STM32duino core
+      #define ENC28J60_CONTROL_CS     SS
+   #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(STM32F2)
       #if defined(BOARD_SPI1_NSS_PIN)
          #define ENC28J60_CONTROL_CS     BOARD_SPI1_NSS_PIN
       #elif defined(ARDUINO_STM32F4_NETDUINO2PLUS)
@@ -117,7 +119,9 @@
       #define SPI_MOSI MOSI
    #elif defined(__RFduino__) //RFduino
       #define SPI_MOSI MOSI
-   #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__)
+   #elif defined(ARDUINO_ARCH_STM32) // STM32duino core
+      #define SPI_MOSI MOSI
+   #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(STM32F2)
       #if defined(BOARD_SPI1_MOSI_PIN)
          #define SPI_MOSI BOARD_SPI1_MOSI_PIN
       #else
@@ -142,7 +146,9 @@
       #define SPI_MISO MISO
    #elif defined(__RFduino__) //RFduino
       #define SPI_MISO MISO
-   #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__)
+   #elif defined(ARDUINO_ARCH_STM32) // STM32duino core
+      #define SPI_MISO MISO
+   #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(STM32F2)
       #if defined(BOARD_SPI1_MISO_PIN)
          #define SPI_MISO BOARD_SPI1_MISO_PIN
       #else
@@ -166,7 +172,9 @@
       #define SPI_SCK SCK
    #elif defined(__RFduino__) //RFduino
       #define SPI_SCK SCK
-   #elif defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__)
+   #elif defined(ARDUINO_ARCH_STM32) // STM32duino core
+      #define SPI_SCK SCK
+   #elif defined(STM32_MCU_SERIES) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(STM32F2)
       #if defined(BOARD_SPI1_SCK_PIN)
          #define SPI_SCK BOARD_SPI1_SCK_PIN
       #else
@@ -180,7 +188,7 @@
    #error "Not defined SPI_SCK!"
 #endif
 
-#if defined(__MBED__) || defined(ARDUINO_ARCH_SAM) || defined(__ARDUINO_ARC__) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(ESP8266) || defined(ARDUINO_ARCH_AMEBA) || defined(__MK20DX128__) || defined(__MKL26Z64__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__RFduino__)
+#if defined(__MBED__) || defined(ARDUINO_ARCH_SAM) || defined(__ARDUINO_ARC__) || defined(__STM32F1__) || defined(__STM32F3__) || defined(STM32F3) || defined(__STM32F4__) || defined(STM32F2) || defined(ESP8266) || defined(ARDUINO_ARCH_AMEBA) || defined(__MK20DX128__) || defined(__MKL26Z64__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__RFduino__) || defined(ARDUINO_ARCH_STM32)
    #if defined(ARDUINO) && defined(STM32F3)
       #include "HardwareSPI.h"
    #else