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/

Committer:
cassyarduino
Date:
Tue Jan 23 15:08:43 2018 +0100
Revision:
39:deeb00b81cc9
Parent:
0:e3fb1267e3c3
Release: 2.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cassyarduino 0:e3fb1267e3c3 1 This is UIPEthernet version 1.1.0
cassyarduino 0:e3fb1267e3c3 2
cassyarduino 0:e3fb1267e3c3 3 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.
cassyarduino 0:e3fb1267e3c3 4 Just include 'UIPEthernet.h' instead of 'Ethernet.h' and use all your code written for the stock Arduino Ethernet lib!
cassyarduino 0:e3fb1267e3c3 5
cassyarduino 0:e3fb1267e3c3 6 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.
cassyarduino 0:e3fb1267e3c3 7
cassyarduino 0:e3fb1267e3c3 8 This library is written by Norbert Truchsess <norbert.truchsess@t-online.de>
cassyarduino 0:e3fb1267e3c3 9
cassyarduino 0:e3fb1267e3c3 10 uIP was written by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science.
cassyarduino 0:e3fb1267e3c3 11
cassyarduino 0:e3fb1267e3c3 12 This library was inspired by the SerialIP implementation by Adam Nielsen <malvineous@shikadi.net>, actually I took this code as a starting point, but in the latest versions there are very few lines left.
cassyarduino 0:e3fb1267e3c3 13
cassyarduino 0:e3fb1267e3c3 14 Installation
cassyarduino 0:e3fb1267e3c3 15 ------------
cassyarduino 0:e3fb1267e3c3 16
cassyarduino 0:e3fb1267e3c3 17 To install the libraries, you need to place them into your "libraries" folder. You can find it within your Arduino IDE distribution within the "hardware" folder.
cassyarduino 0:e3fb1267e3c3 18
cassyarduino 0:e3fb1267e3c3 19 C:\> cd [path to Arduino distribution]\libraries
cassyarduino 0:e3fb1267e3c3 20 C:\> git clone https://github.com/ntruchsess/arduino_uip UIPEthernet
cassyarduino 0:e3fb1267e3c3 21
cassyarduino 0:e3fb1267e3c3 22 Be sure to restart the IDE if it was running.
cassyarduino 0:e3fb1267e3c3 23
cassyarduino 0:e3fb1267e3c3 24 On a Mac, you will want to create a folder named "libraries" in in the "Documents" -> "Arduino" folder within your home directory. Clone the project there (and restart the IDE, if it was running during this process).
cassyarduino 0:e3fb1267e3c3 25
cassyarduino 0:e3fb1267e3c3 26 $ cd ~/Documents/Arduino/libraries
cassyarduino 0:e3fb1267e3c3 27 $ git clone https://github.com/ntruchsess/arduino_uip UIPEthernet
cassyarduino 0:e3fb1267e3c3 28
cassyarduino 0:e3fb1267e3c3 29 Or you download the zipped version of the library from https://github.com/ntruchsess/arduino_uip/releases, and copy the contained directory UIPEthernet to [path to Arduino distribution]\libraries\UIPEthernet.
cassyarduino 0:e3fb1267e3c3 30
cassyarduino 0:e3fb1267e3c3 31 If you are running Arduino-IDE 1.5.x use release-version 1.59 or checkout branch 'Arduino_1.5.x'
cassyarduino 0:e3fb1267e3c3 32
cassyarduino 0:e3fb1267e3c3 33 Additional information can be found on the Arduino website: http://www.arduino.cc/en/Hacking/Libraries
cassyarduino 0:e3fb1267e3c3 34
cassyarduino 0:e3fb1267e3c3 35 Documentation
cassyarduino 0:e3fb1267e3c3 36 -------------
cassyarduino 0:e3fb1267e3c3 37
cassyarduino 0:e3fb1267e3c3 38 For more information visit:
cassyarduino 0:e3fb1267e3c3 39
cassyarduino 0:e3fb1267e3c3 40 - UIPEthernet Repository on github:
cassyarduino 0:e3fb1267e3c3 41 https://github.com/ntruchsess/arduino_uip
cassyarduino 0:e3fb1267e3c3 42
cassyarduino 0:e3fb1267e3c3 43 - Arduino Ethernet library description
cassyarduino 0:e3fb1267e3c3 44 http://arduino.cc/en/Reference/Ethernet
cassyarduino 0:e3fb1267e3c3 45 (Arduino_uip uses the same API as that, just include "UIPEthernet.h", "UIPClient.h", "UIPServer.h" and "UIPUDP.h" instead of the stock "Ethernet.h", "EthernetClient.h", "EthernetServer.h " and "EthernetUDP.h")
cassyarduino 0:e3fb1267e3c3 46
cassyarduino 0:e3fb1267e3c3 47 - uIP API reference:
cassyarduino 0:e3fb1267e3c3 48 http://www.sics.se/~adam/uip/uip-1.0-refman/
cassyarduino 0:e3fb1267e3c3 49
cassyarduino 0:e3fb1267e3c3 50 - Arduino forums
cassyarduino 0:e3fb1267e3c3 51 http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl
cassyarduino 0:e3fb1267e3c3 52
cassyarduino 0:e3fb1267e3c3 53 - uIP homepage:
cassyarduino 0:e3fb1267e3c3 54 http://www.sics.se/~adam/uip/index.php/Main_Page
cassyarduino 0:e3fb1267e3c3 55
cassyarduino 0:e3fb1267e3c3 56 Licenses
cassyarduino 0:e3fb1267e3c3 57 -------------
cassyarduino 0:e3fb1267e3c3 58
cassyarduino 0:e3fb1267e3c3 59 UIPEthernet.h
cassyarduino 0:e3fb1267e3c3 60 UIPEthernet.cpp
cassyarduino 0:e3fb1267e3c3 61 UIPServer.h
cassyarduino 0:e3fb1267e3c3 62 UIPServer.cpp
cassyarduino 0:e3fb1267e3c3 63 UIPClient.h
cassyarduino 0:e3fb1267e3c3 64 UIPClient.cpp
cassyarduino 0:e3fb1267e3c3 65 UIPUdp.h
cassyarduino 0:e3fb1267e3c3 66 UIPUdp.cpp
cassyarduino 0:e3fb1267e3c3 67 utility/mempool.h
cassyarduino 0:e3fb1267e3c3 68 utility/mempool.cpp
cassyarduino 0:e3fb1267e3c3 69
cassyarduino 0:e3fb1267e3c3 70 Copyright (c) 2013 Norbert Truchsess <norbert.truchsess@t-online.de>
cassyarduino 0:e3fb1267e3c3 71 All rights reserved.
cassyarduino 0:e3fb1267e3c3 72
cassyarduino 0:e3fb1267e3c3 73 This program is free software: you can redistribute it and/or modify
cassyarduino 0:e3fb1267e3c3 74 it under the terms of the GNU General Public License as published by
cassyarduino 0:e3fb1267e3c3 75 the Free Software Foundation, either version 3 of the License, or
cassyarduino 0:e3fb1267e3c3 76 (at your option) any later version.
cassyarduino 0:e3fb1267e3c3 77
cassyarduino 0:e3fb1267e3c3 78 This program is distributed in the hope that it will be useful,
cassyarduino 0:e3fb1267e3c3 79 but WITHOUT ANY WARRANTY; without even the implied warranty of
cassyarduino 0:e3fb1267e3c3 80 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cassyarduino 0:e3fb1267e3c3 81 GNU General Public License for more details.
cassyarduino 0:e3fb1267e3c3 82
cassyarduino 0:e3fb1267e3c3 83 You should have received a copy of the GNU General Public License
cassyarduino 0:e3fb1267e3c3 84 along with this program. If not, see <http://www.gnu.org/licenses/>.
cassyarduino 0:e3fb1267e3c3 85
cassyarduino 0:e3fb1267e3c3 86 --------------
cassyarduino 0:e3fb1267e3c3 87
cassyarduino 0:e3fb1267e3c3 88 utility/enc28j60.h
cassyarduino 0:e3fb1267e3c3 89
cassyarduino 0:e3fb1267e3c3 90 Author : Pascal Stang (c)2005
cassyarduino 0:e3fb1267e3c3 91 Modified by Norbert Truchsess
cassyarduino 0:e3fb1267e3c3 92 Copyright: GPL V2
cassyarduino 0:e3fb1267e3c3 93
cassyarduino 0:e3fb1267e3c3 94 --------------
cassyarduino 0:e3fb1267e3c3 95
cassyarduino 0:e3fb1267e3c3 96 utility/Enc28J60Network.h
cassyarduino 0:e3fb1267e3c3 97 utility/Enc28J60Network.cpp
cassyarduino 0:e3fb1267e3c3 98
cassyarduino 0:e3fb1267e3c3 99 Copyright (c) 2013 Norbert Truchsess <norbert.truchsess@t-online.de>
cassyarduino 0:e3fb1267e3c3 100 All rights reserved.
cassyarduino 0:e3fb1267e3c3 101
cassyarduino 0:e3fb1267e3c3 102 inspired and based on enc28j60.c file from the AVRlib library by Pascal Stang.
cassyarduino 0:e3fb1267e3c3 103
cassyarduino 0:e3fb1267e3c3 104 This program is free software: you can redistribute it and/or modify
cassyarduino 0:e3fb1267e3c3 105 it under the terms of the GNU General Public License as published by
cassyarduino 0:e3fb1267e3c3 106 the Free Software Foundation, either version 3 of the License, or
cassyarduino 0:e3fb1267e3c3 107 (at your option) any later version.
cassyarduino 0:e3fb1267e3c3 108
cassyarduino 0:e3fb1267e3c3 109 This program is distributed in the hope that it will be useful,
cassyarduino 0:e3fb1267e3c3 110 but WITHOUT ANY WARRANTY; without even the implied warranty of
cassyarduino 0:e3fb1267e3c3 111 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cassyarduino 0:e3fb1267e3c3 112 GNU General Public License for more details.
cassyarduino 0:e3fb1267e3c3 113
cassyarduino 0:e3fb1267e3c3 114 You should have received a copy of the GNU General Public License
cassyarduino 0:e3fb1267e3c3 115 along with this program. If not, see <http://www.gnu.org/licenses/>.
cassyarduino 0:e3fb1267e3c3 116
cassyarduino 0:e3fb1267e3c3 117 --------------
cassyarduino 0:e3fb1267e3c3 118
cassyarduino 0:e3fb1267e3c3 119 utility/uip.c
cassyarduino 0:e3fb1267e3c3 120 utility/uip_arp.h
cassyarduino 0:e3fb1267e3c3 121 utility/uip_arp.c
cassyarduino 0:e3fb1267e3c3 122 utility/uip_arch.h
cassyarduino 0:e3fb1267e3c3 123 utility/uip.h
cassyarduino 0:e3fb1267e3c3 124 utility/uipopt.h
cassyarduino 0:e3fb1267e3c3 125
cassyarduino 0:e3fb1267e3c3 126 Copyright (c) 2001-2003, Adam Dunkels <adam@sics.se>, <adam@dunkels.com>.
cassyarduino 0:e3fb1267e3c3 127 All rights reserved.
cassyarduino 0:e3fb1267e3c3 128
cassyarduino 0:e3fb1267e3c3 129 Redistribution and use in source and binary forms, with or without
cassyarduino 0:e3fb1267e3c3 130 modification, are permitted provided that the following conditions
cassyarduino 0:e3fb1267e3c3 131 are met:
cassyarduino 0:e3fb1267e3c3 132 1. Redistributions of source code must retain the above copyright
cassyarduino 0:e3fb1267e3c3 133 notice, this list of conditions and the following disclaimer.
cassyarduino 0:e3fb1267e3c3 134 2. Redistributions in binary form must reproduce the above copyright
cassyarduino 0:e3fb1267e3c3 135 notice, this list of conditions and the following disclaimer in the
cassyarduino 0:e3fb1267e3c3 136 documentation and/or other materials provided with the distribution.
cassyarduino 0:e3fb1267e3c3 137 3. Neither the name of the Institute nor the names of its contributors
cassyarduino 0:e3fb1267e3c3 138 may be used to endorse or promote products derived from this software
cassyarduino 0:e3fb1267e3c3 139 without specific prior written permission.
cassyarduino 0:e3fb1267e3c3 140
cassyarduino 0:e3fb1267e3c3 141 THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
cassyarduino 0:e3fb1267e3c3 142 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
cassyarduino 0:e3fb1267e3c3 143 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
cassyarduino 0:e3fb1267e3c3 144 ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
cassyarduino 0:e3fb1267e3c3 145 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
cassyarduino 0:e3fb1267e3c3 146 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
cassyarduino 0:e3fb1267e3c3 147 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
cassyarduino 0:e3fb1267e3c3 148 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
cassyarduino 0:e3fb1267e3c3 149 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
cassyarduino 0:e3fb1267e3c3 150 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
cassyarduino 0:e3fb1267e3c3 151 SUCH DAMAGE.
cassyarduino 0:e3fb1267e3c3 152
cassyarduino 0:e3fb1267e3c3 153 --------------
cassyarduino 0:e3fb1267e3c3 154
cassyarduino 0:e3fb1267e3c3 155 uip-conf.h
cassyarduino 0:e3fb1267e3c3 156 utility/uip-neighbor.h
cassyarduino 0:e3fb1267e3c3 157 utility/uip-neighbor.c
cassyarduino 0:e3fb1267e3c3 158 utility/uip_timer.h
cassyarduino 0:e3fb1267e3c3 159 utility/uip_timer.c
cassyarduino 0:e3fb1267e3c3 160 utility/uip_clock.h
cassyarduino 0:e3fb1267e3c3 161
cassyarduino 0:e3fb1267e3c3 162 Author Adam Dunkels Adam Dunkels <adam@sics.se>, <adam@dunkels.com>
cassyarduino 0:e3fb1267e3c3 163 Copyright (c) 2004,2006, Swedish Institute of Computer Science.
cassyarduino 0:e3fb1267e3c3 164 All rights reserved.
cassyarduino 0:e3fb1267e3c3 165
cassyarduino 0:e3fb1267e3c3 166 Redistribution and use in source and binary forms, with or without
cassyarduino 0:e3fb1267e3c3 167 modification, are permitted provided that the following conditions
cassyarduino 0:e3fb1267e3c3 168 are met:
cassyarduino 0:e3fb1267e3c3 169 1. Redistributions of source code must retain the above copyright
cassyarduino 0:e3fb1267e3c3 170 notice, this list of conditions and the following disclaimer.
cassyarduino 0:e3fb1267e3c3 171 2. Redistributions in binary form must reproduce the above copyright
cassyarduino 0:e3fb1267e3c3 172 notice, this list of conditions and the following disclaimer in the
cassyarduino 0:e3fb1267e3c3 173 documentation and/or other materials provided with the distribution.
cassyarduino 0:e3fb1267e3c3 174 3. Neither the name of the Institute nor the names of its contributors
cassyarduino 0:e3fb1267e3c3 175 may be used to endorse or promote products derived from this software
cassyarduino 0:e3fb1267e3c3 176 without specific prior written permission.
cassyarduino 0:e3fb1267e3c3 177
cassyarduino 0:e3fb1267e3c3 178 THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
cassyarduino 0:e3fb1267e3c3 179 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
cassyarduino 0:e3fb1267e3c3 180 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
cassyarduino 0:e3fb1267e3c3 181 ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
cassyarduino 0:e3fb1267e3c3 182 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
cassyarduino 0:e3fb1267e3c3 183 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
cassyarduino 0:e3fb1267e3c3 184 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
cassyarduino 0:e3fb1267e3c3 185 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
cassyarduino 0:e3fb1267e3c3 186 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
cassyarduino 0:e3fb1267e3c3 187 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
cassyarduino 0:e3fb1267e3c3 188 SUCH DAMAGE.
cassyarduino 0:e3fb1267e3c3 189
cassyarduino 0:e3fb1267e3c3 190 --------------
cassyarduino 0:e3fb1267e3c3 191
cassyarduino 0:e3fb1267e3c3 192 Dhcp.h
cassyarduino 0:e3fb1267e3c3 193 Dhcp.cpp
cassyarduino 0:e3fb1267e3c3 194
cassyarduino 0:e3fb1267e3c3 195 DHCP Library v0.3 - April 25, 2009
cassyarduino 0:e3fb1267e3c3 196 Author: Jordan Terrell - blog.jordanterrell.com
cassyarduino 0:e3fb1267e3c3 197 - as included in Arduinos stock Ethernet-library, no special licence mentioned here
cassyarduino 0:e3fb1267e3c3 198
cassyarduino 0:e3fb1267e3c3 199 --------------
cassyarduino 0:e3fb1267e3c3 200
cassyarduino 0:e3fb1267e3c3 201 Dns.h
cassyarduino 0:e3fb1267e3c3 202 Dns.cpp
cassyarduino 0:e3fb1267e3c3 203
cassyarduino 0:e3fb1267e3c3 204 (c) Copyright 2009-2010 MCQN Ltd.
cassyarduino 0:e3fb1267e3c3 205 Released under Apache License, version 2.0
cassyarduino 0:e3fb1267e3c3 206
cassyarduino 0:e3fb1267e3c3 207 --------------
cassyarduino 0:e3fb1267e3c3 208
cassyarduino 0:e3fb1267e3c3 209 clock-arch.h
cassyarduino 0:e3fb1267e3c3 210 clock-arch.c
cassyarduino 0:e3fb1267e3c3 211
cassyarduino 0:e3fb1267e3c3 212 Copyright (c) 2010 Adam Nielsen <malvineous@shikadi.net>
cassyarduino 0:e3fb1267e3c3 213 All rights reserved.
cassyarduino 0:e3fb1267e3c3 214
cassyarduino 0:e3fb1267e3c3 215 This library is free software; you can redistribute it and/or
cassyarduino 0:e3fb1267e3c3 216 modify it under the terms of the GNU Lesser General Public
cassyarduino 0:e3fb1267e3c3 217 License as published by the Free Software Foundation; either
cassyarduino 0:e3fb1267e3c3 218 version 2.1 of the License, or (at your option) any later version.
cassyarduino 0:e3fb1267e3c3 219
cassyarduino 0:e3fb1267e3c3 220 This library is distributed in the hope that it will be useful,
cassyarduino 0:e3fb1267e3c3 221 but WITHOUT ANY WARRANTY; without even the implied warranty of
cassyarduino 0:e3fb1267e3c3 222 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cassyarduino 0:e3fb1267e3c3 223 Lesser General Public License for more details.
cassyarduino 0:e3fb1267e3c3 224
cassyarduino 0:e3fb1267e3c3 225 You should have received a copy of the GNU Lesser General Public
cassyarduino 0:e3fb1267e3c3 226 License along with this library; if not, write to the Free Software
cassyarduino 0:e3fb1267e3c3 227 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA