EL4121 Embedded System / mbed-os

Dependents:   cobaLCDJoyMotor_Thread odometry_omni_3roda_v3 odometry_omni_3roda_v1 odometry_omni_3roda_v2 ... more

Committer:
be_bryan
Date:
Mon Dec 11 17:54:04 2017 +0000
Revision:
0:b74591d5ab33
motor ++

Who changed what in which revision?

UserRevisionLine numberNew contents of line
be_bryan 0:b74591d5ab33 1 /* Copyright (C) 2012 mbed.org, MIT License
be_bryan 0:b74591d5ab33 2 *
be_bryan 0:b74591d5ab33 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
be_bryan 0:b74591d5ab33 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
be_bryan 0:b74591d5ab33 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
be_bryan 0:b74591d5ab33 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
be_bryan 0:b74591d5ab33 7 * furnished to do so, subject to the following conditions:
be_bryan 0:b74591d5ab33 8 *
be_bryan 0:b74591d5ab33 9 * The above copyright notice and this permission notice shall be included in all copies or
be_bryan 0:b74591d5ab33 10 * substantial portions of the Software.
be_bryan 0:b74591d5ab33 11 *
be_bryan 0:b74591d5ab33 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
be_bryan 0:b74591d5ab33 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
be_bryan 0:b74591d5ab33 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
be_bryan 0:b74591d5ab33 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
be_bryan 0:b74591d5ab33 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
be_bryan 0:b74591d5ab33 17 */
be_bryan 0:b74591d5ab33 18
be_bryan 0:b74591d5ab33 19 #ifndef LWIPOPTS_H
be_bryan 0:b74591d5ab33 20 #define LWIPOPTS_H
be_bryan 0:b74591d5ab33 21
be_bryan 0:b74591d5ab33 22 #if MBED_CONF_LWIP_ETHERNET_ENABLED
be_bryan 0:b74591d5ab33 23 #include "lwipopts_conf.h"
be_bryan 0:b74591d5ab33 24 #endif
be_bryan 0:b74591d5ab33 25
be_bryan 0:b74591d5ab33 26 // Workaround for Linux timeval
be_bryan 0:b74591d5ab33 27 #if defined (TOOLCHAIN_GCC)
be_bryan 0:b74591d5ab33 28 #define LWIP_TIMEVAL_PRIVATE 0
be_bryan 0:b74591d5ab33 29 #include <sys/time.h>
be_bryan 0:b74591d5ab33 30 #endif
be_bryan 0:b74591d5ab33 31
be_bryan 0:b74591d5ab33 32 // Operating System
be_bryan 0:b74591d5ab33 33 #define NO_SYS 0
be_bryan 0:b74591d5ab33 34
be_bryan 0:b74591d5ab33 35 #if MBED_CONF_LWIP_IPV4_ENABLED
be_bryan 0:b74591d5ab33 36 #define LWIP_IPV4 1
be_bryan 0:b74591d5ab33 37 #else
be_bryan 0:b74591d5ab33 38 #define LWIP_IPV4 0
be_bryan 0:b74591d5ab33 39 #endif
be_bryan 0:b74591d5ab33 40 #if MBED_CONF_LWIP_IPV6_ENABLED
be_bryan 0:b74591d5ab33 41 #define LWIP_IPV6 1
be_bryan 0:b74591d5ab33 42 #else
be_bryan 0:b74591d5ab33 43 #define LWIP_IPV6 0
be_bryan 0:b74591d5ab33 44 #endif
be_bryan 0:b74591d5ab33 45 #if !MBED_CONF_LWIP_IPV4_ENABLED && !MBED_CONF_LWIP_IPV6_ENABLED
be_bryan 0:b74591d5ab33 46 #error "Either IPv4 or IPv6 must be enabled."
be_bryan 0:b74591d5ab33 47 #endif
be_bryan 0:b74591d5ab33 48
be_bryan 0:b74591d5ab33 49 // On dual stack configuration how long to wait for both or preferred stack
be_bryan 0:b74591d5ab33 50 // addresses before completing bring up.
be_bryan 0:b74591d5ab33 51 #if LWIP_IPV4 && LWIP_IPV6
be_bryan 0:b74591d5ab33 52 #if MBED_CONF_LWIP_ADDR_TIMEOUT_MODE
be_bryan 0:b74591d5ab33 53 #define BOTH_ADDR_TIMEOUT MBED_CONF_LWIP_ADDR_TIMEOUT
be_bryan 0:b74591d5ab33 54 #define PREF_ADDR_TIMEOUT 0
be_bryan 0:b74591d5ab33 55 #else
be_bryan 0:b74591d5ab33 56 #define PREF_ADDR_TIMEOUT MBED_CONF_LWIP_ADDR_TIMEOUT
be_bryan 0:b74591d5ab33 57 #define BOTH_ADDR_TIMEOUT 0
be_bryan 0:b74591d5ab33 58 #endif
be_bryan 0:b74591d5ab33 59 #else
be_bryan 0:b74591d5ab33 60 #define PREF_ADDR_TIMEOUT 0
be_bryan 0:b74591d5ab33 61 #define BOTH_ADDR_TIMEOUT 0
be_bryan 0:b74591d5ab33 62 #endif
be_bryan 0:b74591d5ab33 63
be_bryan 0:b74591d5ab33 64 #define DHCP_TIMEOUT 60
be_bryan 0:b74591d5ab33 65
be_bryan 0:b74591d5ab33 66 #define PREF_IPV4 1
be_bryan 0:b74591d5ab33 67 #define PREF_IPV6 2
be_bryan 0:b74591d5ab33 68
be_bryan 0:b74591d5ab33 69 #if MBED_CONF_LWIP_IP_VER_PREF == 4
be_bryan 0:b74591d5ab33 70 #define IP_VERSION_PREF PREF_IPV4
be_bryan 0:b74591d5ab33 71 #endif
be_bryan 0:b74591d5ab33 72 #if MBED_CONF_LWIP_IP_VER_PREF == 6
be_bryan 0:b74591d5ab33 73 #define IP_VERSION_PREF PREF_IPV6
be_bryan 0:b74591d5ab33 74 #endif
be_bryan 0:b74591d5ab33 75 #ifndef IP_VERSION_PREF
be_bryan 0:b74591d5ab33 76 #error "Either IPv4 or IPv6 must be preferred."
be_bryan 0:b74591d5ab33 77 #endif
be_bryan 0:b74591d5ab33 78
be_bryan 0:b74591d5ab33 79 #undef LWIP_DEBUG
be_bryan 0:b74591d5ab33 80 #if MBED_CONF_LWIP_DEBUG_ENABLED
be_bryan 0:b74591d5ab33 81 #define LWIP_DEBUG 1
be_bryan 0:b74591d5ab33 82 #endif
be_bryan 0:b74591d5ab33 83
be_bryan 0:b74591d5ab33 84 #if NO_SYS == 0
be_bryan 0:b74591d5ab33 85 #include "cmsis_os2.h"
be_bryan 0:b74591d5ab33 86
be_bryan 0:b74591d5ab33 87 #define SYS_LIGHTWEIGHT_PROT 1
be_bryan 0:b74591d5ab33 88
be_bryan 0:b74591d5ab33 89 #define LWIP_RAW 0
be_bryan 0:b74591d5ab33 90
be_bryan 0:b74591d5ab33 91 #define TCPIP_MBOX_SIZE 8
be_bryan 0:b74591d5ab33 92 #define DEFAULT_TCP_RECVMBOX_SIZE 8
be_bryan 0:b74591d5ab33 93 #define DEFAULT_UDP_RECVMBOX_SIZE 8
be_bryan 0:b74591d5ab33 94 #define DEFAULT_RAW_RECVMBOX_SIZE 8
be_bryan 0:b74591d5ab33 95 #define DEFAULT_ACCEPTMBOX_SIZE 8
be_bryan 0:b74591d5ab33 96
be_bryan 0:b74591d5ab33 97 // Thread stack size for lwip tcpip thread
be_bryan 0:b74591d5ab33 98 #ifndef MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 99 #define MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE 1200
be_bryan 0:b74591d5ab33 100 #endif
be_bryan 0:b74591d5ab33 101
be_bryan 0:b74591d5ab33 102 #ifdef LWIP_DEBUG
be_bryan 0:b74591d5ab33 103 #define TCPIP_THREAD_STACKSIZE MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE*2
be_bryan 0:b74591d5ab33 104 #else
be_bryan 0:b74591d5ab33 105 #define TCPIP_THREAD_STACKSIZE MBED_CONF_LWIP_TCPIP_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 106 #endif
be_bryan 0:b74591d5ab33 107
be_bryan 0:b74591d5ab33 108 #define TCPIP_THREAD_PRIO (osPriorityNormal)
be_bryan 0:b74591d5ab33 109
be_bryan 0:b74591d5ab33 110 // Thread stack size for lwip system threads
be_bryan 0:b74591d5ab33 111 #ifndef MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 112 #define MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE 512
be_bryan 0:b74591d5ab33 113 #endif
be_bryan 0:b74591d5ab33 114
be_bryan 0:b74591d5ab33 115 // Thread stack size for private PPP thread
be_bryan 0:b74591d5ab33 116 #ifndef MBED_CONF_LWIP_PPP_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 117 #define MBED_CONF_LWIP_PPP_THREAD_STACKSIZE 768
be_bryan 0:b74591d5ab33 118 #endif
be_bryan 0:b74591d5ab33 119
be_bryan 0:b74591d5ab33 120 #ifdef LWIP_DEBUG
be_bryan 0:b74591d5ab33 121 #define DEFAULT_THREAD_STACKSIZE MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE*2
be_bryan 0:b74591d5ab33 122 #define PPP_THREAD_STACK_SIZE MBED_CONF_LWIP_PPP_THREAD_STACKSIZE*2
be_bryan 0:b74591d5ab33 123 #else
be_bryan 0:b74591d5ab33 124 #define DEFAULT_THREAD_STACKSIZE MBED_CONF_LWIP_DEFAULT_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 125 #define PPP_THREAD_STACK_SIZE MBED_CONF_LWIP_PPP_THREAD_STACKSIZE
be_bryan 0:b74591d5ab33 126 #endif
be_bryan 0:b74591d5ab33 127
be_bryan 0:b74591d5ab33 128 #define MEMP_NUM_SYS_TIMEOUT 16
be_bryan 0:b74591d5ab33 129
be_bryan 0:b74591d5ab33 130 #define sys_msleep(ms) sys_msleep(ms)
be_bryan 0:b74591d5ab33 131
be_bryan 0:b74591d5ab33 132 #endif
be_bryan 0:b74591d5ab33 133
be_bryan 0:b74591d5ab33 134 // 32-bit alignment
be_bryan 0:b74591d5ab33 135 #define MEM_ALIGNMENT 4
be_bryan 0:b74591d5ab33 136
be_bryan 0:b74591d5ab33 137 #define LWIP_RAM_HEAP_POINTER lwip_ram_heap
be_bryan 0:b74591d5ab33 138
be_bryan 0:b74591d5ab33 139 // Number of pool pbufs.
be_bryan 0:b74591d5ab33 140 // Each requires 684 bytes of RAM (if MSS=536 and PBUF_POOL_BUFSIZE defaulting to be based on MSS)
be_bryan 0:b74591d5ab33 141 #ifdef MBED_CONF_LWIP_PBUF_POOL_SIZE
be_bryan 0:b74591d5ab33 142 #undef PBUF_POOL_SIZE
be_bryan 0:b74591d5ab33 143 #define PBUF_POOL_SIZE MBED_CONF_LWIP_PBUF_POOL_SIZE
be_bryan 0:b74591d5ab33 144 #else
be_bryan 0:b74591d5ab33 145 #ifndef PBUF_POOL_SIZE
be_bryan 0:b74591d5ab33 146 #define PBUF_POOL_SIZE 5
be_bryan 0:b74591d5ab33 147 #endif
be_bryan 0:b74591d5ab33 148 #endif
be_bryan 0:b74591d5ab33 149
be_bryan 0:b74591d5ab33 150 #ifdef MBED_CONF_LWIP_PBUF_POOL_BUFSIZE
be_bryan 0:b74591d5ab33 151 #undef PBUF_POOL_BUFSIZE
be_bryan 0:b74591d5ab33 152 #define PBUF_POOL_BUFSIZE MBED_CONF_LWIP_PBUF_POOL_BUFSIZE
be_bryan 0:b74591d5ab33 153 #endif
be_bryan 0:b74591d5ab33 154
be_bryan 0:b74591d5ab33 155 #ifdef MBED_CONF_LWIP_MEM_SIZE
be_bryan 0:b74591d5ab33 156 #undef MEM_SIZE
be_bryan 0:b74591d5ab33 157 #define MEM_SIZE MBED_CONF_LWIP_MEM_SIZE
be_bryan 0:b74591d5ab33 158 #endif
be_bryan 0:b74591d5ab33 159
be_bryan 0:b74591d5ab33 160 // One tcp_pcb_listen is needed for each TCPServer.
be_bryan 0:b74591d5ab33 161 // Each requires 72 bytes of RAM.
be_bryan 0:b74591d5ab33 162 #ifdef MBED_CONF_LWIP_TCP_SERVER_MAX
be_bryan 0:b74591d5ab33 163 #define MEMP_NUM_TCP_PCB_LISTEN MBED_CONF_LWIP_TCP_SERVER_MAX
be_bryan 0:b74591d5ab33 164 #else
be_bryan 0:b74591d5ab33 165 #define MEMP_NUM_TCP_PCB_LISTEN 4
be_bryan 0:b74591d5ab33 166 #endif
be_bryan 0:b74591d5ab33 167
be_bryan 0:b74591d5ab33 168 // One is tcp_pcb needed for each TCPSocket.
be_bryan 0:b74591d5ab33 169 // Each requires 196 bytes of RAM.
be_bryan 0:b74591d5ab33 170 #ifdef MBED_CONF_LWIP_TCP_SOCKET_MAX
be_bryan 0:b74591d5ab33 171 #define MEMP_NUM_TCP_PCB MBED_CONF_LWIP_TCP_SOCKET_MAX
be_bryan 0:b74591d5ab33 172 #else
be_bryan 0:b74591d5ab33 173 #define MEMP_NUM_TCP_PCB 4
be_bryan 0:b74591d5ab33 174 #endif
be_bryan 0:b74591d5ab33 175
be_bryan 0:b74591d5ab33 176 // One udp_pcb is needed for each UDPSocket.
be_bryan 0:b74591d5ab33 177 // Each requires 84 bytes of RAM (total rounded to multiple of 512).
be_bryan 0:b74591d5ab33 178 #ifdef MBED_CONF_LWIP_UDP_SOCKET_MAX
be_bryan 0:b74591d5ab33 179 #define MEMP_NUM_UDP_PCB MBED_CONF_LWIP_UDP_SOCKET_MAX
be_bryan 0:b74591d5ab33 180 #else
be_bryan 0:b74591d5ab33 181 #define MEMP_NUM_UDP_PCB 4
be_bryan 0:b74591d5ab33 182 #endif
be_bryan 0:b74591d5ab33 183
be_bryan 0:b74591d5ab33 184 // Number of non-pool pbufs.
be_bryan 0:b74591d5ab33 185 // Each requires 92 bytes of RAM.
be_bryan 0:b74591d5ab33 186 #ifndef MEMP_NUM_PBUF
be_bryan 0:b74591d5ab33 187 #define MEMP_NUM_PBUF 8
be_bryan 0:b74591d5ab33 188 #endif
be_bryan 0:b74591d5ab33 189
be_bryan 0:b74591d5ab33 190 // Each netbuf requires 64 bytes of RAM.
be_bryan 0:b74591d5ab33 191 #ifndef MEMP_NUM_NETBUF
be_bryan 0:b74591d5ab33 192 #define MEMP_NUM_NETBUF 8
be_bryan 0:b74591d5ab33 193 #endif
be_bryan 0:b74591d5ab33 194
be_bryan 0:b74591d5ab33 195 // One netconn is needed for each UDPSocket, TCPSocket or TCPServer.
be_bryan 0:b74591d5ab33 196 // Each requires 236 bytes of RAM (total rounded to multiple of 512).
be_bryan 0:b74591d5ab33 197 #ifdef MBED_CONF_LWIP_SOCKET_MAX
be_bryan 0:b74591d5ab33 198 #define MEMP_NUM_NETCONN MBED_CONF_LWIP_SOCKET_MAX
be_bryan 0:b74591d5ab33 199 #else
be_bryan 0:b74591d5ab33 200 #define MEMP_NUM_NETCONN 4
be_bryan 0:b74591d5ab33 201 #endif
be_bryan 0:b74591d5ab33 202
be_bryan 0:b74591d5ab33 203 #if MBED_CONF_LWIP_TCP_ENABLED
be_bryan 0:b74591d5ab33 204 #define LWIP_TCP 1
be_bryan 0:b74591d5ab33 205 #define TCP_QUEUE_OOSEQ 0
be_bryan 0:b74591d5ab33 206 #define TCP_OVERSIZE 0
be_bryan 0:b74591d5ab33 207 #define LWIP_TCP_KEEPALIVE 1
be_bryan 0:b74591d5ab33 208 #else
be_bryan 0:b74591d5ab33 209 #define LWIP_TCP 0
be_bryan 0:b74591d5ab33 210 #endif
be_bryan 0:b74591d5ab33 211
be_bryan 0:b74591d5ab33 212 #define LWIP_DNS 1
be_bryan 0:b74591d5ab33 213 #define LWIP_SOCKET 0
be_bryan 0:b74591d5ab33 214
be_bryan 0:b74591d5ab33 215 #define SO_REUSE 1
be_bryan 0:b74591d5ab33 216
be_bryan 0:b74591d5ab33 217 // Support Multicast
be_bryan 0:b74591d5ab33 218 #include "stdlib.h"
be_bryan 0:b74591d5ab33 219 #define LWIP_IGMP LWIP_IPV4
be_bryan 0:b74591d5ab33 220 #define LWIP_RAND() lwip_get_random()
be_bryan 0:b74591d5ab33 221
be_bryan 0:b74591d5ab33 222 #define LWIP_COMPAT_SOCKETS 0
be_bryan 0:b74591d5ab33 223 #define LWIP_POSIX_SOCKETS_IO_NAMES 0
be_bryan 0:b74591d5ab33 224 #define LWIP_SO_RCVTIMEO 1
be_bryan 0:b74591d5ab33 225
be_bryan 0:b74591d5ab33 226 #define LWIP_BROADCAST_PING 1
be_bryan 0:b74591d5ab33 227
be_bryan 0:b74591d5ab33 228 // Fragmentation on, as per IPv4 default
be_bryan 0:b74591d5ab33 229 #define LWIP_IPV6_FRAG LWIP_IPV6
be_bryan 0:b74591d5ab33 230
be_bryan 0:b74591d5ab33 231 // Queuing "disabled", as per IPv4 default (so actually queues 1)
be_bryan 0:b74591d5ab33 232 #define LWIP_ND6_QUEUEING 0
be_bryan 0:b74591d5ab33 233
be_bryan 0:b74591d5ab33 234 // Debug Options
be_bryan 0:b74591d5ab33 235 #define NETIF_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 236 #define PBUF_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 237 #define API_LIB_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 238 #define API_MSG_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 239 #define SOCKETS_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 240 #define ICMP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 241 #define IGMP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 242 #define INET_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 243 #define IP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 244 #define IP_REASS_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 245 #define RAW_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 246 #define MEM_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 247 #define MEMP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 248 #define SYS_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 249 #define TIMERS_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 250 #define TCP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 251 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 252 #define TCP_FR_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 253 #define TCP_RTO_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 254 #define TCP_CWND_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 255 #define TCP_WND_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 256 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 257 #define TCP_RST_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 258 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 259 #define UDP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 260 #define TCPIP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 261 #define SLIP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 262 #define DHCP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 263 #define AUTOIP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 264 #define DNS_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 265 #define IP6_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 266
be_bryan 0:b74591d5ab33 267 #if MBED_CONF_LWIP_ENABLE_PPP_TRACE
be_bryan 0:b74591d5ab33 268 #define PPP_DEBUG LWIP_DBG_ON
be_bryan 0:b74591d5ab33 269 #else
be_bryan 0:b74591d5ab33 270 #define PPP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 271 #endif //MBED_CONF_LWIP_ENABLE_PPP_TRACE
be_bryan 0:b74591d5ab33 272 #define ETHARP_DEBUG LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 273 #define UDP_LPC_EMAC LWIP_DBG_OFF
be_bryan 0:b74591d5ab33 274
be_bryan 0:b74591d5ab33 275 #ifdef LWIP_DEBUG
be_bryan 0:b74591d5ab33 276 #define MEMP_OVERFLOW_CHECK 1
be_bryan 0:b74591d5ab33 277 #define MEMP_SANITY_CHECK 1
be_bryan 0:b74591d5ab33 278 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
be_bryan 0:b74591d5ab33 279 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
be_bryan 0:b74591d5ab33 280 #else
be_bryan 0:b74591d5ab33 281 #define LWIP_NOASSERT 1
be_bryan 0:b74591d5ab33 282 #define LWIP_STATS 0
be_bryan 0:b74591d5ab33 283 #endif
be_bryan 0:b74591d5ab33 284
be_bryan 0:b74591d5ab33 285 #define TRACE_TO_ASCII_HEX_DUMP 0
be_bryan 0:b74591d5ab33 286
be_bryan 0:b74591d5ab33 287 #define LWIP_PLATFORM_BYTESWAP 1
be_bryan 0:b74591d5ab33 288
be_bryan 0:b74591d5ab33 289 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 1
be_bryan 0:b74591d5ab33 290
be_bryan 0:b74591d5ab33 291 // Interface type configuration
be_bryan 0:b74591d5ab33 292
be_bryan 0:b74591d5ab33 293 #if MBED_CONF_LWIP_ETHERNET_ENABLED
be_bryan 0:b74591d5ab33 294 #define LWIP_ARP 1
be_bryan 0:b74591d5ab33 295 #define LWIP_ETHERNET 1
be_bryan 0:b74591d5ab33 296 #define LWIP_DHCP LWIP_IPV4
be_bryan 0:b74591d5ab33 297 #else
be_bryan 0:b74591d5ab33 298 #define LWIP_ARP 0
be_bryan 0:b74591d5ab33 299 #define LWIP_ETHERNET 0
be_bryan 0:b74591d5ab33 300 #endif // MBED_CONF_LWIP_ETHERNET_ENABLED
be_bryan 0:b74591d5ab33 301
be_bryan 0:b74591d5ab33 302 // Note generic macro name used rather than MBED_CONF_LWIP_PPP_ENABLED
be_bryan 0:b74591d5ab33 303 // to allow users like PPPCellularInterface to detect that nsapi_ppp.h is available.
be_bryan 0:b74591d5ab33 304 #if NSAPI_PPP_AVAILABLE
be_bryan 0:b74591d5ab33 305 #define PPP_SUPPORT 1
be_bryan 0:b74591d5ab33 306 #if MBED_CONF_LWIP_IPV6_ENABLED
be_bryan 0:b74591d5ab33 307 #define PPP_IPV6_SUPPORT 1
be_bryan 0:b74591d5ab33 308 // Disable DAD for PPP
be_bryan 0:b74591d5ab33 309 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS 0
be_bryan 0:b74591d5ab33 310 #endif
be_bryan 0:b74591d5ab33 311 #define CHAP_SUPPORT 1
be_bryan 0:b74591d5ab33 312 #define PPP_INPROC_IRQ_SAFE 1
be_bryan 0:b74591d5ab33 313 // Save RAM
be_bryan 0:b74591d5ab33 314 #define PAP_SUPPORT 0
be_bryan 0:b74591d5ab33 315 #define VJ_SUPPORT 0
be_bryan 0:b74591d5ab33 316 #define PRINTPKT_SUPPORT 0
be_bryan 0:b74591d5ab33 317
be_bryan 0:b74591d5ab33 318 // Broadcast
be_bryan 0:b74591d5ab33 319 #define IP_SOF_BROADCAST 0
be_bryan 0:b74591d5ab33 320 #define IP_SOF_BROADCAST_RECV 0
be_bryan 0:b74591d5ab33 321
be_bryan 0:b74591d5ab33 322 #define MAXNAMELEN 64 /* max length of hostname or name for auth */
be_bryan 0:b74591d5ab33 323 #define MAXSECRETLEN 64
be_bryan 0:b74591d5ab33 324 #endif // NSAPI_PPP_AVAILABLE
be_bryan 0:b74591d5ab33 325
be_bryan 0:b74591d5ab33 326 // Make sure we default these to off, so
be_bryan 0:b74591d5ab33 327 // LWIP doesn't default to on
be_bryan 0:b74591d5ab33 328 #ifndef LWIP_ARP
be_bryan 0:b74591d5ab33 329 #define LWIP_ARP 0
be_bryan 0:b74591d5ab33 330 #endif
be_bryan 0:b74591d5ab33 331 // Checksum-on-copy disabled due to https://savannah.nongnu.org/bugs/?50914
be_bryan 0:b74591d5ab33 332 #define LWIP_CHECKSUM_ON_COPY 0
be_bryan 0:b74591d5ab33 333
be_bryan 0:b74591d5ab33 334 #define LWIP_NETIF_HOSTNAME 1
be_bryan 0:b74591d5ab33 335 #define LWIP_NETIF_STATUS_CALLBACK 1
be_bryan 0:b74591d5ab33 336 #define LWIP_NETIF_LINK_CALLBACK 1
be_bryan 0:b74591d5ab33 337
be_bryan 0:b74591d5ab33 338 #define DNS_TABLE_SIZE 2
be_bryan 0:b74591d5ab33 339 #define DNS_MAX_NAME_LENGTH 128
be_bryan 0:b74591d5ab33 340
be_bryan 0:b74591d5ab33 341 #include "lwip_random.h"
be_bryan 0:b74591d5ab33 342 #include "lwip_tcp_isn.h"
be_bryan 0:b74591d5ab33 343 #define LWIP_HOOK_TCP_ISN lwip_hook_tcp_isn
be_bryan 0:b74591d5ab33 344 #ifdef MBEDTLS_MD5_C
be_bryan 0:b74591d5ab33 345 #include "mbedtls/inc/mbedtls/md5.h"
be_bryan 0:b74591d5ab33 346 #define LWIP_USE_EXTERNAL_MBEDTLS 1
be_bryan 0:b74591d5ab33 347 #endif
be_bryan 0:b74591d5ab33 348
be_bryan 0:b74591d5ab33 349 #endif /* LWIPOPTS_H_ */