mbed-os for GR-LYCHEE

Dependents:   mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more

Committer:
dkato
Date:
Fri Feb 02 05:42:23 2018 +0000
Revision:
0:f782d9c66c49
mbed-os for GR-LYCHEE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkato 0:f782d9c66c49 1 /* Copyright (C) 2012 mbed.org, MIT License
dkato 0:f782d9c66c49 2 *
dkato 0:f782d9c66c49 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
dkato 0:f782d9c66c49 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
dkato 0:f782d9c66c49 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
dkato 0:f782d9c66c49 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
dkato 0:f782d9c66c49 7 * furnished to do so, subject to the following conditions:
dkato 0:f782d9c66c49 8 *
dkato 0:f782d9c66c49 9 * The above copyright notice and this permission notice shall be included in all copies or
dkato 0:f782d9c66c49 10 * substantial portions of the Software.
dkato 0:f782d9c66c49 11 *
dkato 0:f782d9c66c49 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
dkato 0:f782d9c66c49 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
dkato 0:f782d9c66c49 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
dkato 0:f782d9c66c49 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
dkato 0:f782d9c66c49 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
dkato 0:f782d9c66c49 17 */
dkato 0:f782d9c66c49 18
dkato 0:f782d9c66c49 19 #ifndef LWIPOPTS_H
dkato 0:f782d9c66c49 20 #define LWIPOPTS_H
dkato 0:f782d9c66c49 21
dkato 0:f782d9c66c49 22 #include "lwipopts_conf.h"
dkato 0:f782d9c66c49 23
dkato 0:f782d9c66c49 24 // Workaround for Linux timeval
dkato 0:f782d9c66c49 25 #if defined (TOOLCHAIN_GCC)
dkato 0:f782d9c66c49 26 #define LWIP_TIMEVAL_PRIVATE 0
dkato 0:f782d9c66c49 27 #include <sys/time.h>
dkato 0:f782d9c66c49 28 #endif
dkato 0:f782d9c66c49 29
dkato 0:f782d9c66c49 30 // Operating System
dkato 0:f782d9c66c49 31 #define NO_SYS 0
dkato 0:f782d9c66c49 32
dkato 0:f782d9c66c49 33 #if MBED_CONF_LWIP_IPV4_ENABLED
dkato 0:f782d9c66c49 34 #define LWIP_IPV4 1
dkato 0:f782d9c66c49 35 #else
dkato 0:f782d9c66c49 36 #define LWIP_IPV4 0
dkato 0:f782d9c66c49 37 #endif
dkato 0:f782d9c66c49 38 #if MBED_CONF_LWIP_IPV6_ENABLED
dkato 0:f782d9c66c49 39 #define LWIP_IPV6 1
dkato 0:f782d9c66c49 40 #else
dkato 0:f782d9c66c49 41 #define LWIP_IPV6 0
dkato 0:f782d9c66c49 42 #endif
dkato 0:f782d9c66c49 43 #if !MBED_CONF_LWIP_IPV4_ENABLED && !MBED_CONF_LWIP_IPV6_ENABLED
dkato 0:f782d9c66c49 44 #error "Either IPv4 or IPv6 must be enabled."
dkato 0:f782d9c66c49 45 #endif
dkato 0:f782d9c66c49 46
dkato 0:f782d9c66c49 47 // On dual stack configuration how long wait for preferred stack
dkato 0:f782d9c66c49 48 // before selecting either IPv6 or IPv4
dkato 0:f782d9c66c49 49 #if LWIP_IPV4 && LWIP_IPV6
dkato 0:f782d9c66c49 50 #define ADDR_TIMEOUT MBED_CONF_LWIP_ADDR_TIMEOUT
dkato 0:f782d9c66c49 51 #else
dkato 0:f782d9c66c49 52 #define ADDR_TIMEOUT 0
dkato 0:f782d9c66c49 53 #endif
dkato 0:f782d9c66c49 54
dkato 0:f782d9c66c49 55 #define PREF_IPV4 1
dkato 0:f782d9c66c49 56 #define PREF_IPV6 2
dkato 0:f782d9c66c49 57
dkato 0:f782d9c66c49 58 #if MBED_CONF_LWIP_IP_VER_PREF == 4
dkato 0:f782d9c66c49 59 #define IP_VERSION_PREF PREF_IPV4
dkato 0:f782d9c66c49 60 #endif
dkato 0:f782d9c66c49 61 #if MBED_CONF_LWIP_IP_VER_PREF == 6
dkato 0:f782d9c66c49 62 #define IP_VERSION_PREF PREF_IPV6
dkato 0:f782d9c66c49 63 #endif
dkato 0:f782d9c66c49 64 #ifndef IP_VERSION_PREF
dkato 0:f782d9c66c49 65 #error "Either IPv4 or IPv6 must be preferred."
dkato 0:f782d9c66c49 66 #endif
dkato 0:f782d9c66c49 67
dkato 0:f782d9c66c49 68 //#define LWIP_DEBUG
dkato 0:f782d9c66c49 69
dkato 0:f782d9c66c49 70 #if NO_SYS == 0
dkato 0:f782d9c66c49 71 #include "cmsis_os.h"
dkato 0:f782d9c66c49 72
dkato 0:f782d9c66c49 73 #define SYS_LIGHTWEIGHT_PROT 1
dkato 0:f782d9c66c49 74
dkato 0:f782d9c66c49 75 #define LWIP_RAW 0
dkato 0:f782d9c66c49 76
dkato 0:f782d9c66c49 77 #define TCPIP_MBOX_SIZE 8
dkato 0:f782d9c66c49 78 #define DEFAULT_TCP_RECVMBOX_SIZE 8
dkato 0:f782d9c66c49 79 #define DEFAULT_UDP_RECVMBOX_SIZE 8
dkato 0:f782d9c66c49 80 #define DEFAULT_RAW_RECVMBOX_SIZE 8
dkato 0:f782d9c66c49 81 #define DEFAULT_ACCEPTMBOX_SIZE 8
dkato 0:f782d9c66c49 82
dkato 0:f782d9c66c49 83 #ifdef LWIP_DEBUG
dkato 0:f782d9c66c49 84 #define TCPIP_THREAD_STACKSIZE 1200*2
dkato 0:f782d9c66c49 85 #else
dkato 0:f782d9c66c49 86 #define TCPIP_THREAD_STACKSIZE 1200
dkato 0:f782d9c66c49 87 #endif
dkato 0:f782d9c66c49 88
dkato 0:f782d9c66c49 89 #define TCPIP_THREAD_PRIO (osPriorityNormal)
dkato 0:f782d9c66c49 90
dkato 0:f782d9c66c49 91 #ifdef LWIP_DEBUG
dkato 0:f782d9c66c49 92 #define DEFAULT_THREAD_STACKSIZE 512*2
dkato 0:f782d9c66c49 93 #else
dkato 0:f782d9c66c49 94 #define DEFAULT_THREAD_STACKSIZE 512
dkato 0:f782d9c66c49 95 #endif
dkato 0:f782d9c66c49 96
dkato 0:f782d9c66c49 97 #define MEMP_NUM_SYS_TIMEOUT 16
dkato 0:f782d9c66c49 98
dkato 0:f782d9c66c49 99 #define sys_msleep(ms) sys_msleep(ms)
dkato 0:f782d9c66c49 100
dkato 0:f782d9c66c49 101 #endif
dkato 0:f782d9c66c49 102
dkato 0:f782d9c66c49 103 // 32-bit alignment
dkato 0:f782d9c66c49 104 #define MEM_ALIGNMENT 4
dkato 0:f782d9c66c49 105
dkato 0:f782d9c66c49 106 #define LWIP_RAM_HEAP_POINTER lwip_ram_heap
dkato 0:f782d9c66c49 107
dkato 0:f782d9c66c49 108 // Number of pool pbufs.
dkato 0:f782d9c66c49 109 // Each requires 684 bytes of RAM.
dkato 0:f782d9c66c49 110 #ifndef PBUF_POOL_SIZE
dkato 0:f782d9c66c49 111 #define PBUF_POOL_SIZE 5
dkato 0:f782d9c66c49 112 #endif
dkato 0:f782d9c66c49 113
dkato 0:f782d9c66c49 114 // One tcp_pcb_listen is needed for each TCPServer.
dkato 0:f782d9c66c49 115 // Each requires 72 bytes of RAM.
dkato 0:f782d9c66c49 116 #ifdef MBED_CONF_LWIP_TCP_SERVER_MAX
dkato 0:f782d9c66c49 117 #define MEMP_NUM_TCP_PCB_LISTEN MBED_CONF_LWIP_TCP_SERVER_MAX
dkato 0:f782d9c66c49 118 #else
dkato 0:f782d9c66c49 119 #define MEMP_NUM_TCP_PCB_LISTEN 4
dkato 0:f782d9c66c49 120 #endif
dkato 0:f782d9c66c49 121
dkato 0:f782d9c66c49 122 // One is tcp_pcb needed for each TCPSocket.
dkato 0:f782d9c66c49 123 // Each requires 196 bytes of RAM.
dkato 0:f782d9c66c49 124 #ifdef MBED_CONF_LWIP_TCP_SOCKET_MAX
dkato 0:f782d9c66c49 125 #define MEMP_NUM_TCP_PCB MBED_CONF_LWIP_TCP_SOCKET_MAX
dkato 0:f782d9c66c49 126 #else
dkato 0:f782d9c66c49 127 #define MEMP_NUM_TCP_PCB 4
dkato 0:f782d9c66c49 128 #endif
dkato 0:f782d9c66c49 129
dkato 0:f782d9c66c49 130 // One udp_pcb is needed for each UDPSocket.
dkato 0:f782d9c66c49 131 // Each requires 84 bytes of RAM (total rounded to multiple of 512).
dkato 0:f782d9c66c49 132 #ifdef MBED_CONF_LWIP_UDP_SOCKET_MAX
dkato 0:f782d9c66c49 133 #define MEMP_NUM_UDP_PCB MBED_CONF_LWIP_UDP_SOCKET_MAX
dkato 0:f782d9c66c49 134 #else
dkato 0:f782d9c66c49 135 #define MEMP_NUM_UDP_PCB 4
dkato 0:f782d9c66c49 136 #endif
dkato 0:f782d9c66c49 137
dkato 0:f782d9c66c49 138 // Number of non-pool pbufs.
dkato 0:f782d9c66c49 139 // Each requires 92 bytes of RAM.
dkato 0:f782d9c66c49 140 #ifndef MEMP_NUM_PBUF
dkato 0:f782d9c66c49 141 #define MEMP_NUM_PBUF 8
dkato 0:f782d9c66c49 142 #endif
dkato 0:f782d9c66c49 143
dkato 0:f782d9c66c49 144 // Each netbuf requires 64 bytes of RAM.
dkato 0:f782d9c66c49 145 #ifndef MEMP_NUM_NETBUF
dkato 0:f782d9c66c49 146 #define MEMP_NUM_NETBUF 8
dkato 0:f782d9c66c49 147 #endif
dkato 0:f782d9c66c49 148
dkato 0:f782d9c66c49 149 // One netconn is needed for each UDPSocket, TCPSocket or TCPServer.
dkato 0:f782d9c66c49 150 // Each requires 236 bytes of RAM (total rounded to multiple of 512).
dkato 0:f782d9c66c49 151 #ifdef MBED_CONF_LWIP_SOCKET_MAX
dkato 0:f782d9c66c49 152 #define MEMP_NUM_NETCONN MBED_CONF_LWIP_SOCKET_MAX
dkato 0:f782d9c66c49 153 #else
dkato 0:f782d9c66c49 154 #define MEMP_NUM_NETCONN 4
dkato 0:f782d9c66c49 155 #endif
dkato 0:f782d9c66c49 156
dkato 0:f782d9c66c49 157 #define TCP_QUEUE_OOSEQ 0
dkato 0:f782d9c66c49 158 #define TCP_OVERSIZE 0
dkato 0:f782d9c66c49 159
dkato 0:f782d9c66c49 160 #define LWIP_DHCP LWIP_IPV4
dkato 0:f782d9c66c49 161 #define LWIP_DNS 1
dkato 0:f782d9c66c49 162 #define LWIP_SOCKET 0
dkato 0:f782d9c66c49 163
dkato 0:f782d9c66c49 164 #define SO_REUSE 1
dkato 0:f782d9c66c49 165
dkato 0:f782d9c66c49 166 // Support Multicast
dkato 0:f782d9c66c49 167 #include "stdlib.h"
dkato 0:f782d9c66c49 168 #define LWIP_IGMP LWIP_IPV4
dkato 0:f782d9c66c49 169 #define LWIP_RAND() rand()
dkato 0:f782d9c66c49 170
dkato 0:f782d9c66c49 171 #define LWIP_COMPAT_SOCKETS 0
dkato 0:f782d9c66c49 172 #define LWIP_POSIX_SOCKETS_IO_NAMES 0
dkato 0:f782d9c66c49 173 #define LWIP_SO_RCVTIMEO 1
dkato 0:f782d9c66c49 174 #define LWIP_TCP_KEEPALIVE 1
dkato 0:f782d9c66c49 175
dkato 0:f782d9c66c49 176 // Fragmentation on, as per IPv4 default
dkato 0:f782d9c66c49 177 #define LWIP_IPV6_FRAG LWIP_IPV6
dkato 0:f782d9c66c49 178
dkato 0:f782d9c66c49 179 // Queuing "disabled", as per IPv4 default (so actually queues 1)
dkato 0:f782d9c66c49 180 #define LWIP_ND6_QUEUEING 0
dkato 0:f782d9c66c49 181
dkato 0:f782d9c66c49 182 // Debug Options
dkato 0:f782d9c66c49 183 #define NETIF_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 184 #define PBUF_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 185 #define API_LIB_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 186 #define API_MSG_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 187 #define SOCKETS_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 188 #define ICMP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 189 #define IGMP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 190 #define INET_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 191 #define IP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 192 #define IP_REASS_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 193 #define RAW_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 194 #define MEM_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 195 #define MEMP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 196 #define SYS_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 197 #define TIMERS_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 198 #define TCP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 199 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 200 #define TCP_FR_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 201 #define TCP_RTO_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 202 #define TCP_CWND_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 203 #define TCP_WND_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 204 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 205 #define TCP_RST_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 206 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 207 #define UDP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 208 #define TCPIP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 209 #define SLIP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 210 #define DHCP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 211 #define AUTOIP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 212 #define DNS_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 213 #define IP6_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 214
dkato 0:f782d9c66c49 215 #define PPP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 216 #define ETHARP_DEBUG LWIP_DBG_OFF
dkato 0:f782d9c66c49 217 #define UDP_LPC_EMAC LWIP_DBG_OFF
dkato 0:f782d9c66c49 218
dkato 0:f782d9c66c49 219 #ifdef LWIP_DEBUG
dkato 0:f782d9c66c49 220 #define MEMP_OVERFLOW_CHECK 1
dkato 0:f782d9c66c49 221 #define MEMP_SANITY_CHECK 1
dkato 0:f782d9c66c49 222 #else
dkato 0:f782d9c66c49 223 #define LWIP_NOASSERT 1
dkato 0:f782d9c66c49 224 #define LWIP_STATS 0
dkato 0:f782d9c66c49 225 #endif
dkato 0:f782d9c66c49 226
dkato 0:f782d9c66c49 227 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
dkato 0:f782d9c66c49 228 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
dkato 0:f782d9c66c49 229
dkato 0:f782d9c66c49 230 #define LWIP_PLATFORM_BYTESWAP 1
dkato 0:f782d9c66c49 231
dkato 0:f782d9c66c49 232 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 1
dkato 0:f782d9c66c49 233
dkato 0:f782d9c66c49 234 #if LWIP_TRANSPORT_ETHERNET
dkato 0:f782d9c66c49 235
dkato 0:f782d9c66c49 236 // Broadcast
dkato 0:f782d9c66c49 237 #define IP_SOF_BROADCAST 0
dkato 0:f782d9c66c49 238 #define IP_SOF_BROADCAST_RECV 0
dkato 0:f782d9c66c49 239
dkato 0:f782d9c66c49 240 #define LWIP_BROADCAST_PING 1
dkato 0:f782d9c66c49 241
dkato 0:f782d9c66c49 242 #define LWIP_CHECKSUM_ON_COPY 1
dkato 0:f782d9c66c49 243
dkato 0:f782d9c66c49 244 #define LWIP_NETIF_HOSTNAME 1
dkato 0:f782d9c66c49 245 #define LWIP_NETIF_STATUS_CALLBACK 1
dkato 0:f782d9c66c49 246 #define LWIP_NETIF_LINK_CALLBACK 1
dkato 0:f782d9c66c49 247
dkato 0:f782d9c66c49 248 #elif LWIP_TRANSPORT_PPP
dkato 0:f782d9c66c49 249
dkato 0:f782d9c66c49 250 #define TCP_SND_BUF (3 * 536)
dkato 0:f782d9c66c49 251 #define TCP_WND (2 * 536)
dkato 0:f782d9c66c49 252
dkato 0:f782d9c66c49 253 #define LWIP_ARP 0
dkato 0:f782d9c66c49 254
dkato 0:f782d9c66c49 255 #define PPP_SUPPORT 1
dkato 0:f782d9c66c49 256 #define CHAP_SUPPORT 1
dkato 0:f782d9c66c49 257 #define PAP_SUPPORT 1
dkato 0:f782d9c66c49 258 #define PPP_THREAD_STACKSIZE 4*192
dkato 0:f782d9c66c49 259 #define PPP_THREAD_PRIO 0
dkato 0:f782d9c66c49 260
dkato 0:f782d9c66c49 261 #define MAXNAMELEN 64 /* max length of hostname or name for auth */
dkato 0:f782d9c66c49 262 #define MAXSECRETLEN 64
dkato 0:f782d9c66c49 263
dkato 0:f782d9c66c49 264 #else
dkato 0:f782d9c66c49 265 #error A transport mechanism (Ethernet or PPP) must be defined
dkato 0:f782d9c66c49 266 #endif
dkato 0:f782d9c66c49 267
dkato 0:f782d9c66c49 268 #endif /* LWIPOPTS_H_ */