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 /**
cassyarduino 0:e3fb1267e3c3 2 * UIPEthernet Project-specific configuration options
cassyarduino 0:e3fb1267e3c3 3 * Copyright (c) 2013 Norbert Truchsess <norbert.truchsess@t-online.de>
cassyarduino 0:e3fb1267e3c3 4 * @{
cassyarduino 0:e3fb1267e3c3 5 *
cassyarduino 0:e3fb1267e3c3 6 * uIP has a number of configuration options that can be overridden
cassyarduino 0:e3fb1267e3c3 7 * for each project. These are kept in a project-specific uip-conf.h
cassyarduino 0:e3fb1267e3c3 8 * file and all configuration names have the prefix UIP_CONF.
cassyarduino 0:e3fb1267e3c3 9 */
cassyarduino 0:e3fb1267e3c3 10
cassyarduino 0:e3fb1267e3c3 11 /*
cassyarduino 0:e3fb1267e3c3 12 * Copyright (c) 2006, Swedish Institute of Computer Science.
cassyarduino 0:e3fb1267e3c3 13 * All rights reserved.
cassyarduino 0:e3fb1267e3c3 14 *
cassyarduino 0:e3fb1267e3c3 15 * Redistribution and use in source and binary forms, with or without
cassyarduino 0:e3fb1267e3c3 16 * modification, are permitted provided that the following conditions
cassyarduino 0:e3fb1267e3c3 17 * are met:
cassyarduino 0:e3fb1267e3c3 18 * 1. Redistributions of source code must retain the above copyright
cassyarduino 0:e3fb1267e3c3 19 * notice, this list of conditions and the following disclaimer.
cassyarduino 0:e3fb1267e3c3 20 * 2. Redistributions in binary form must reproduce the above copyright
cassyarduino 0:e3fb1267e3c3 21 * notice, this list of conditions and the following disclaimer in the
cassyarduino 0:e3fb1267e3c3 22 * documentation and/or other materials provided with the distribution.
cassyarduino 0:e3fb1267e3c3 23 * 3. Neither the name of the Institute nor the names of its contributors
cassyarduino 0:e3fb1267e3c3 24 * may be used to endorse or promote products derived from this software
cassyarduino 0:e3fb1267e3c3 25 * without specific prior written permission.
cassyarduino 0:e3fb1267e3c3 26 *
cassyarduino 0:e3fb1267e3c3 27 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
cassyarduino 0:e3fb1267e3c3 28 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
cassyarduino 0:e3fb1267e3c3 29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
cassyarduino 0:e3fb1267e3c3 30 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
cassyarduino 0:e3fb1267e3c3 31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
cassyarduino 0:e3fb1267e3c3 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
cassyarduino 0:e3fb1267e3c3 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
cassyarduino 0:e3fb1267e3c3 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
cassyarduino 0:e3fb1267e3c3 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
cassyarduino 0:e3fb1267e3c3 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
cassyarduino 0:e3fb1267e3c3 37 * SUCH DAMAGE.
cassyarduino 0:e3fb1267e3c3 38 *
cassyarduino 0:e3fb1267e3c3 39 * This file is part of the uIP TCP/IP stack
cassyarduino 0:e3fb1267e3c3 40 *
cassyarduino 0:e3fb1267e3c3 41 */
cassyarduino 0:e3fb1267e3c3 42
cassyarduino 0:e3fb1267e3c3 43 #ifndef __UIP_CONF_H__
cassyarduino 0:e3fb1267e3c3 44 #define __UIP_CONF_H__
cassyarduino 0:e3fb1267e3c3 45
cassyarduino 0:e3fb1267e3c3 46 #include <inttypes.h>
cassyarduino 0:e3fb1267e3c3 47 #include "uipethernet-conf.h"
cassyarduino 0:e3fb1267e3c3 48
cassyarduino 0:e3fb1267e3c3 49 /**
cassyarduino 0:e3fb1267e3c3 50 * 8 bit datatype
cassyarduino 0:e3fb1267e3c3 51 *
cassyarduino 0:e3fb1267e3c3 52 * This typedef defines the 8-bit type used throughout uIP.
cassyarduino 0:e3fb1267e3c3 53 *
cassyarduino 0:e3fb1267e3c3 54 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 55 */
cassyarduino 0:e3fb1267e3c3 56 typedef uint8_t u8_t;
cassyarduino 0:e3fb1267e3c3 57
cassyarduino 0:e3fb1267e3c3 58 /**
cassyarduino 0:e3fb1267e3c3 59 * 16 bit datatype
cassyarduino 0:e3fb1267e3c3 60 *
cassyarduino 0:e3fb1267e3c3 61 * This typedef defines the 16-bit type used throughout uIP.
cassyarduino 0:e3fb1267e3c3 62 *
cassyarduino 0:e3fb1267e3c3 63 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 64 */
cassyarduino 0:e3fb1267e3c3 65 typedef uint16_t u16_t;
cassyarduino 0:e3fb1267e3c3 66
cassyarduino 0:e3fb1267e3c3 67 /**
cassyarduino 0:e3fb1267e3c3 68 * Statistics datatype
cassyarduino 0:e3fb1267e3c3 69 *
cassyarduino 0:e3fb1267e3c3 70 * This typedef defines the dataype used for keeping statistics in
cassyarduino 0:e3fb1267e3c3 71 * uIP.
cassyarduino 0:e3fb1267e3c3 72 *
cassyarduino 0:e3fb1267e3c3 73 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 74 */
cassyarduino 0:e3fb1267e3c3 75 typedef unsigned short uip_stats_t;
cassyarduino 0:e3fb1267e3c3 76
cassyarduino 0:e3fb1267e3c3 77 /**
cassyarduino 0:e3fb1267e3c3 78 * Maximum number of TCP connections.
cassyarduino 0:e3fb1267e3c3 79 * (see uipethernet-conf.h)
cassyarduino 0:e3fb1267e3c3 80 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 81 *
cassyarduino 0:e3fb1267e3c3 82 * #define UIP_CONF_MAX_CONNECTIONS 4
cassyarduino 0:e3fb1267e3c3 83 */
cassyarduino 0:e3fb1267e3c3 84
cassyarduino 0:e3fb1267e3c3 85 /**
cassyarduino 0:e3fb1267e3c3 86 * Maximum number of listening TCP ports.
cassyarduino 0:e3fb1267e3c3 87 *
cassyarduino 0:e3fb1267e3c3 88 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 89 */
cassyarduino 0:e3fb1267e3c3 90 #define UIP_CONF_MAX_LISTENPORTS 4
cassyarduino 0:e3fb1267e3c3 91
cassyarduino 0:e3fb1267e3c3 92 /**
cassyarduino 0:e3fb1267e3c3 93 * uIP buffer size.
cassyarduino 0:e3fb1267e3c3 94 *
cassyarduino 0:e3fb1267e3c3 95 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 96 */
cassyarduino 0:e3fb1267e3c3 97 #define UIP_CONF_BUFFER_SIZE 98
cassyarduino 0:e3fb1267e3c3 98 //#define UIP_CONF_BUFFER_SIZE 118
cassyarduino 0:e3fb1267e3c3 99
cassyarduino 0:e3fb1267e3c3 100 /**
cassyarduino 0:e3fb1267e3c3 101 * The TCP maximum segment size.
cassyarduino 0:e3fb1267e3c3 102 *
cassyarduino 0:e3fb1267e3c3 103 * This is should not be to set to more than
cassyarduino 0:e3fb1267e3c3 104 * UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.
cassyarduino 0:e3fb1267e3c3 105 */
cassyarduino 0:e3fb1267e3c3 106
cassyarduino 0:e3fb1267e3c3 107 #define UIP_CONF_TCP_MSS 512
cassyarduino 0:e3fb1267e3c3 108
cassyarduino 0:e3fb1267e3c3 109 /**
cassyarduino 0:e3fb1267e3c3 110 * The size of the advertised receiver's window.
cassyarduino 0:e3fb1267e3c3 111 *
cassyarduino 0:e3fb1267e3c3 112 * Should be set low (i.e., to the size of the uip_buf buffer) is the
cassyarduino 0:e3fb1267e3c3 113 * application is slow to process incoming data, or high (32768 bytes)
cassyarduino 0:e3fb1267e3c3 114 * if the application processes data quickly.
cassyarduino 0:e3fb1267e3c3 115 *
cassyarduino 0:e3fb1267e3c3 116 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 117 */
cassyarduino 0:e3fb1267e3c3 118 #define UIP_CONF_RECEIVE_WINDOW 512
cassyarduino 0:e3fb1267e3c3 119
cassyarduino 0:e3fb1267e3c3 120 /**
cassyarduino 39:deeb00b81cc9 121 * You can force CPU byte order.
cassyarduino 0:e3fb1267e3c3 122 *
cassyarduino 0:e3fb1267e3c3 123 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 124 */
cassyarduino 0:e3fb1267e3c3 125
cassyarduino 39:deeb00b81cc9 126 //#define FORCE_UIP_CONF_BYTE_ORDER LITTLE_ENDIAN
cassyarduino 0:e3fb1267e3c3 127 /**
cassyarduino 0:e3fb1267e3c3 128 * Logging on or off
cassyarduino 0:e3fb1267e3c3 129 *
cassyarduino 0:e3fb1267e3c3 130 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 131 */
cassyarduino 0:e3fb1267e3c3 132 #define UIP_CONF_LOGGING 0
cassyarduino 0:e3fb1267e3c3 133
cassyarduino 0:e3fb1267e3c3 134 /**
cassyarduino 0:e3fb1267e3c3 135 * UDP support on or off
cassyarduino 0:e3fb1267e3c3 136 * (see uipethernet-conf.h)
cassyarduino 0:e3fb1267e3c3 137 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 138 *
cassyarduino 0:e3fb1267e3c3 139 * #define UIP_CONF_UDP 1
cassyarduino 0:e3fb1267e3c3 140 *
cassyarduino 0:e3fb1267e3c3 141 * #define UIP_CONF_UDP_CONNS 4
cassyarduino 0:e3fb1267e3c3 142 */
cassyarduino 0:e3fb1267e3c3 143
cassyarduino 0:e3fb1267e3c3 144 /**
cassyarduino 0:e3fb1267e3c3 145 * UDP checksums on or off
cassyarduino 0:e3fb1267e3c3 146 *
cassyarduino 0:e3fb1267e3c3 147 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 148 */
cassyarduino 0:e3fb1267e3c3 149 #define UIP_CONF_UDP_CHECKSUMS 1
cassyarduino 0:e3fb1267e3c3 150
cassyarduino 0:e3fb1267e3c3 151 /**
cassyarduino 0:e3fb1267e3c3 152 * UDP Broadcast (receive) on or off
cassyarduino 0:e3fb1267e3c3 153 * (see uipethernet-conf.h)
cassyarduino 0:e3fb1267e3c3 154 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 155 * #define UIP_CONF_BROADCAST 1
cassyarduino 0:e3fb1267e3c3 156 */
cassyarduino 0:e3fb1267e3c3 157
cassyarduino 0:e3fb1267e3c3 158
cassyarduino 0:e3fb1267e3c3 159 /**
cassyarduino 0:e3fb1267e3c3 160 * uIP statistics on or off
cassyarduino 0:e3fb1267e3c3 161 *
cassyarduino 0:e3fb1267e3c3 162 * \hideinitializer
cassyarduino 0:e3fb1267e3c3 163 */
cassyarduino 0:e3fb1267e3c3 164 #define UIP_CONF_STATISTICS 0
cassyarduino 0:e3fb1267e3c3 165
cassyarduino 0:e3fb1267e3c3 166 // SLIP
cassyarduino 0:e3fb1267e3c3 167 //#define UIP_CONF_LLH_LEN 0
cassyarduino 0:e3fb1267e3c3 168
cassyarduino 0:e3fb1267e3c3 169 typedef void* uip_tcp_appstate_t;
cassyarduino 0:e3fb1267e3c3 170
cassyarduino 0:e3fb1267e3c3 171 void uipclient_appcall(void);
cassyarduino 0:e3fb1267e3c3 172
cassyarduino 0:e3fb1267e3c3 173 #define UIP_APPCALL uipclient_appcall
cassyarduino 0:e3fb1267e3c3 174
cassyarduino 0:e3fb1267e3c3 175 typedef void* uip_udp_appstate_t;
cassyarduino 0:e3fb1267e3c3 176
cassyarduino 0:e3fb1267e3c3 177 void uipudp_appcall(void);
cassyarduino 0:e3fb1267e3c3 178
cassyarduino 0:e3fb1267e3c3 179 #define UIP_UDP_APPCALL uipudp_appcall
cassyarduino 0:e3fb1267e3c3 180
cassyarduino 0:e3fb1267e3c3 181 #define CC_REGISTER_ARG register
cassyarduino 0:e3fb1267e3c3 182
cassyarduino 0:e3fb1267e3c3 183 #define UIP_ARCH_CHKSUM 1
cassyarduino 0:e3fb1267e3c3 184
cassyarduino 0:e3fb1267e3c3 185 #endif /* __UIP_CONF_H__ */