/EtherShield

*** THIS LIBRARY IS NO NONGER MAINTAINED OR SUPPORTED ****

Primary LanguageC

****************************************************************************

        PLEASE NOTE, THIS LIBRARY IS NO LONGER MAINTAINED

If you want an alternative, please see https://github.com/jcw/ethercard 

****************************************************************************

Nuelectronics ENC28J60 EtherShield Library for Arduino.

History:

It is derived from code by Guido Socher and Pascal Stang, and hence licensed as GPL2. See http://www.gnu.org/licenses/gpl.html

The Arduino EtherShield Library was initially created by Xing Yu of Nuelectronics.

Library heavily modified and improved by Andrew D. Lindsay with extra code from the tuxgraphics.org ethernet library, which also originated from the Pascal Stang code.

25/05/2011

Added DHCP module.

Added separate SPI initialisation

To use this library with existing code, please add the following to intialise
the SPI interface as it is no longer part if the ES_enc28j60Init function.
This is so that multiple SPI devices can be used without having to reinitialise
the port pins.

  // Initialise SPI interface
  es.ES_enc28j60SpiInit();

Updates to various functions in ip_arp_udp_tcp where plen was 8bits, changed to 16bits so larger
packets can be user.

07/06/2011

Major rewrite of the dhcp code by JCW from Jeelabs http://jeelabs.org

May 2011
DHCP added

18/02/2011

Fixed Wake On Lan code and added example.

Older changes:

Minor modifications by Jonathan McCrohan.

13/02/2011

To provide flexibility, there is the option to have URLs etc in either
Flash or program memory. In flash they cant be changed, in program memory
they can be defined at runtime but take up program memory space.
Define FLASH_VARS to use flash memory, undef it for the more flexible option

This applies only to the ES_client_browse_url and ES_client_http_post functions.
With FLASH_VARS the definitions are:

 void ES_client_browse_url(prog_char *urlbuf, char *urlbuf_varpart,
 prog_char *hoststr, void (*callback)(uint8_t,uint16_t));

 void ES_client_http_post(prog_char *urlbuf, prog_char *hoststr,
     prog_char *additionalheaderline, prog_char *method, char *postval,
     void (*callback)(uint8_t,uint16_t));

Without FLASH_VARS the definitions are:

 void ES_client_browse_url(char *urlbuf, char *urlbuf_varpart,
     char *hoststr, void (*callback)(uint8_t,uint16_t));

 void ES_client_http_post(char *urlbuf, char *hoststr,
     char *additionalheaderline, char *method, char *postval,
     void (*callback)(uint8_t,uint16_t));