text: /****************************************************************************************************************************
    defines.h
    For SAM DUE with Ethernet module/shield.
    
    Based on and modified from Gil Maimon's ArduinoWebsockets library https://github.com/gilmaimon/ArduinoWebsockets
    to support STM32F/L/H/G/WB/MP1, nRF52 and SAMD21/SAMD51 boards besides ESP8266 and ESP32
  
    The library provides simple and easy interface for websockets (Client and Server).
    
    Built by Khoi Hoang https://github.com/khoih-prog/Websockets2_Generic
    Licensed under MIT license
   *****************************************************************************************************************************/
  
  #ifndef defines_h
  #define defines_h
  
  #if ( defined(ARDUINO_SAM_DUE) || defined(__SAM3X8E__) )
    #if defined(WEBSOCKETS_ETHERNET_USE_SAMDUE)
      #undef WEBSOCKETS_ETHERNET_USE_SAMDUE
    #endif
    #define WEBSOCKETS_USE_ETHERNET             true
    #define WEBSOCKETS_ETHERNET_USE_SAMDUE      true
  #else
    #error This code is intended to run only on the SAM DUE boards ! Please check your Tools->Board setting.
  #endif
  
  #if defined(WEBSOCKETS_ETHERNET_USE_SAMDUE)
  
  // For SAM DUE
  #if defined(ARDUINO_SAM_DUE)
  #define BOARD_TYPE      "SAM DUE"
  #elif defined(__SAM3X8E__)
  #define BOARD_TYPE      "SAM SAM3X8E"
  #else
  #define BOARD_TYPE      "SAM Unknown"
  #endif
  
  #endif
  
  #if defined(ARDUINO_BOARD)
    #define BOARD_NAME    ARDUINO_BOARD
  #else
    #ifndef BOARD_NAME
      #define BOARD_NAME    BOARD_TYPE
    #endif
  #endif
  
  // Just select one to be true. If all is false, default is Ethernet. 
  // If more than one are true, the priority is USE_ETHERNET, USE_ETHERNET2, USE_ETHERNET_LARGE, USE_UIP_ETHERNET
  #define USE_ETHERNET                  false
  #define USE_ETHERNET2                 false
  #define USE_ETHERNET_LARGE            true
  #define USE_ETHERNET_ENC              false
  
  #define USE_UIP_ETHERNET              false
  
  #if USE_ETHERNET
    // Also default to Ethernet library
    #include <Ethernet.h>
    #define ETHERNET_TYPE               "W5x00 and Ethernet Library"
  #elif USE_ETHERNET2
    #include <Ethernet2.h>
    #define ETHERNET_TYPE               "W5x00 and Ethernet2 Library"
  #elif USE_ETHERNET_LARGE
    #include <EthernetLarge.h>
    #define ETHERNET_TYPE               "W5x00 and EthernetLarge Library"
  #elif USE_ETHERNET_ENC
    #include <EthernetENC.h>
    #define ETHERNET_TYPE               "ENC28J60 and EthernetENC Library"  
  #elif USE_UIP_ETHERNET
    #include <UIPEthernet.h>
    #include <utility/logging.h> 
    #define ETHERNET_TYPE               "ENC28J60 and UIPEthernet Library"
  #else
    // Default to Ethernet library
    #include <Ethernet.h>
    #define ETHERNET_TYPE               "W5x00 and Ethernet Library"
  #endif
  
  #ifndef USE_THIS_SS_PIN
    #define USE_THIS_SS_PIN   10    // For other boards
  #endif
  
  #define DEBUG_WEBSOCKETS_PORT     Serial
  // Debug Level from 0 to 4
  #define _WEBSOCKETS_LOGLEVEL_     3
  
  uint8_t mac[6] =  { 0xDE, 0xAD, 0xBE, 0xEF, 0xDE, 0x04 };
  
  // Select the IP address according to your local network
  IPAddress serverIP(192, 168, 2, 93);
  
  #define SDCARD_CS       4
  
  #endif      //defines_h
  