Skip to content

Commit 1cf083c

Browse files
committed
README update
1 parent 95db21f commit 1cf083c

File tree

2 files changed

+19
-67
lines changed

2 files changed

+19
-67
lines changed

README.md

Lines changed: 18 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
11

2-
An plugin-replacement of the stock Arduino Ethernet library for ENC28J60 shields and breakout boards. Full support for persistent (streaming) TCP-connections and UDP (Client and Server each), ARP, ICMP, DHCP and DNS.
3-
Just include 'EthernetENC.h' instead of 'Ethernet.h' and use all your code written for the stock Arduino Ethernet lib!
2+
EthernetENC is the Ethernet library for ENC28J60. It is a modern version of the UIPEthernet library.
43

5-
UIPEthernet is written as a wrapper around the mature uIP Stack by Adam Dunkels, which provides the low-level implementation for all supported protocols. To overcome the memory-constrains (a 'regular' uIP-application does all processing in RAM) the ENC28J60 internal memory is used for all stream buffers (in and out). Only 400-600 Bytes of Arduinos RAM are used (depending on the number of concurrently open connections). As of Flash-memory a ATmega368-based Arduino is the minimum requirenment.
4+
The modernization includes:
5+
* Ethernet 2.0 library functions
6+
* support of many Arduino architectures by using the SPI library
7+
* SPI transactions to share the SPI bus with devices with different communication settings
8+
* heavy buffering of sent TCP data in ENC with flush() function to send the last buffer
9+
10+
[The documentation of Arduino Ethernet library](https://www.arduino.cc/en/Reference/Ethernet) applies for class and functions descriptions.
11+
12+
This library doesn't have examples, because examples of the Arduino Ethernet library apply. You can find them in the Arduino IDE Examples menu Ethernet section. Only change `#include <Ethernet.h>` to `#include <EthernetENC.h>`.
13+
14+
This library is based on the Norbert Truchsess's arduino-uip original source code repository and uses experience from the development of the multiarchitecture support by Cassy for UIPEthernet library which is published in Library Manager. Applicable fixes and enhancements from developed of EthernetENC were transfered to Cassy's UIPEthernet.
15+
16+
You can find more information in project's [Wiki](https://github.com/jandrassy/EthernetENC/wiki).
17+
18+
## Original notes by Norbert Truchsess
619

7-
This library is written by Norbert Truchsess <[email protected]>
20+
UIPEthernet is written as a wrapper around the mature uIP Stack by Adam Dunkels, which provides the low-level implementation for all supported protocols. To overcome the memory-constrains (a 'regular' uIP-application does all processing in RAM) the ENC28J60 internal memory is used for all stream buffers (in and out). Only 400-600 Bytes of Arduinos RAM are used (depending on the number of concurrently open connections). As of Flash-memory a ATmega368-based Arduino is the minimum requirenment.
821

922
uIP was written by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science.
1023

1124
This library was inspired by the SerialIP implementation by Adam Nielsen <[email protected]>, actually I took this code as a starting point, but in the latest versions there are very few lines left.
1225

13-
## Documentation
14-
15-
For more information visit Arduino Ethernet library description http://arduino.cc/en/Reference/Ethernet
16-
26+
1727
## Licenses
1828
```
1929
UIPEthernet.h
@@ -112,43 +122,6 @@ SUCH DAMAGE.
112122
113123
--------------
114124
115-
uip-conf.h
116-
utility/uip-neighbor.h
117-
utility/uip-neighbor.c
118-
utility/uip_timer.h
119-
utility/uip_timer.c
120-
utility/uip_clock.h
121-
122-
Author Adam Dunkels Adam Dunkels <[email protected]>, <[email protected]>
123-
Copyright (c) 2004,2006, Swedish Institute of Computer Science.
124-
All rights reserved.
125-
126-
Redistribution and use in source and binary forms, with or without
127-
modification, are permitted provided that the following conditions
128-
are met:
129-
1. Redistributions of source code must retain the above copyright
130-
notice, this list of conditions and the following disclaimer.
131-
2. Redistributions in binary form must reproduce the above copyright
132-
notice, this list of conditions and the following disclaimer in the
133-
documentation and/or other materials provided with the distribution.
134-
3. Neither the name of the Institute nor the names of its contributors
135-
may be used to endorse or promote products derived from this software
136-
without specific prior written permission.
137-
138-
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
139-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
140-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
141-
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
142-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
143-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
144-
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
145-
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
146-
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
147-
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
148-
SUCH DAMAGE.
149-
150-
--------------
151-
152125
Dhcp.h
153126
Dhcp.cpp
154127
@@ -164,25 +137,4 @@ Dns.cpp
164137
(c) Copyright 2009-2010 MCQN Ltd.
165138
Released under Apache License, version 2.0
166139
167-
--------------
168-
169-
clock-arch.h
170-
clock-arch.c
171-
172-
Copyright (c) 2010 Adam Nielsen <[email protected]>
173-
All rights reserved.
174-
175-
This library is free software; you can redistribute it and/or
176-
modify it under the terms of the GNU Lesser General Public
177-
License as published by the Free Software Foundation; either
178-
version 2.1 of the License, or (at your option) any later version.
179-
180-
This library is distributed in the hope that it will be useful,
181-
but WITHOUT ANY WARRANTY; without even the implied warranty of
182-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
183-
Lesser General Public License for more details.
184-
185-
You should have received a copy of the GNU Lesser General Public
186-
License along with this library; if not, write to the Free Software
187-
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
188140
```

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ author=Norbert Truchsess, maintainer Juraj Andrassy
33
maintainer=Juraj Andrassy <[email protected]>
44
sentence=Ethernet library for ENC28J60. Only include EthernetENC.h instead of Ethernet.h
55
paragraph=This is a modern version of the UIPEthernet library. EthernetENC library is compatible with all Arduino architectures with Arduino SPI library with transactions support.
6-
url=https://github.com/jandrassy/EthernetENC
6+
url=https://github.com/jandrassy/EthernetENC/wiki
77
architectures=*
88
version=2.0
99
category=Communication

0 commit comments

Comments
 (0)