1 /* 2 * Copyright (c) 2022 Talkweb Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef __LWIPOPTS_H__ 17 #define __LWIPOPTS_H__ 18 19 #include_next "lwip/lwipopts.h" 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif /* __cplusplus */ 24 25 #undef LWIP_DECLARE_MEMORY_ALIGNED 26 #define LWIP_DECLARE_MEMORY_ALIGNED(variable_name, size) \ 27 __attribute__((section(".ccmram"))) u8_t variable_name[LWIP_MEM_ALIGN_BUFFER(size)] 28 29 #ifndef LWIP_SOCKET_SELECT_FUNC 30 #define LWIP_SOCKET_SELECT_FUNC 31 #endif 32 33 #undef LWIP_CHECKSUM_ON_COPY 34 #define LWIP_CHECKSUM_ON_COPY 0 35 36 #undef ETH_PAD_SIZE 37 #define ETH_PAD_SIZE 0 38 39 #undef MEM_LIBC_MALLOC 40 #define MEM_LIBC_MALLOC 0 41 42 #undef NO_SYS 43 #define NO_SYS 0 44 45 #undef MEM_ALIGNMENT 46 #define MEM_ALIGNMENT 4 47 48 #undef MEM_SIZE 49 #define MEM_SIZE (15*1024) 50 51 #undef MEMP_NUM_PBUF 52 #define MEMP_NUM_PBUF 10 53 54 #undef MEMP_NUM_UDP_PCB 55 #define MEMP_NUM_UDP_PCB 6 56 57 #undef MEMP_NUM_TCP_PCB 58 #define MEMP_NUM_TCP_PCB 10 59 60 #undef MEMP_NUM_TCP_PCB_LISTEN 61 #define MEMP_NUM_TCP_PCB_LISTEN 5 62 63 #undef MEMP_NUM_TCP_SEG 64 #define MEMP_NUM_TCP_SEG 8 65 66 #undef MEMP_NUM_SYS_TIMEOUT 67 #define MEMP_NUM_SYS_TIMEOUT 10 68 69 #undef MEMP_NUM_NETCONN 70 #define MEMP_NUM_NETCONN 10 71 72 #undef PBUF_POOL_SIZE 73 #define PBUF_POOL_SIZE 8 74 75 #undef PBUF_POOL_BUFSIZE 76 #define PBUF_POOL_BUFSIZE 512 77 78 #undef LWIP_IPV4 79 #define LWIP_IPV4 1 80 81 #undef LWIP_TCP 82 #define LWIP_TCP 1 83 84 #undef TCP_TTL 85 #define TCP_TTL 255 86 87 #undef TCP_QUEUE_OOSEQ 88 #define TCP_QUEUE_OOSEQ 0 89 90 #undef TCP_MSS 91 #define TCP_MSS (1500 - 40) 92 93 94 #undef TCP_SND_BUF 95 #define TCP_SND_BUF (4*TCP_MSS) 96 97 #undef TCP_SND_QUEUELEN 98 #define TCP_SND_QUEUELEN (2* TCP_SND_BUF/TCP_MSS) 99 100 #undef TCP_WND 101 #define TCP_WND (2*TCP_MSS) 102 103 #undef LWIP_ICMP 104 #define LWIP_ICMP 1 105 106 #undef LWIP_DHCP 107 #define LWIP_DHCP 1 108 109 #undef LWIP_UDP 110 #define LWIP_UDP 1 111 112 #undef UDP_TTL 113 #define UDP_TTL 255 114 115 #undef LWIP_NETIF_LINK_CALLBACK 116 #define LWIP_NETIF_LINK_CALLBACK 1 117 118 #undef LWIP_SOCKET_FCNTL_FUNC 119 #define LWIP_SOCKET_FCNTL_FUNC 1 120 121 #undef CHECKSUM_BY_HARDWARE 122 #define CHECKSUM_BY_HARDWARE 123 124 #ifdef CHECKSUM_BY_HARDWARE 125 #define CHECKSUM_GEN_IP 0 126 #define CHECKSUM_GEN_UDP 0 127 #define CHECKSUM_GEN_TCP 0 128 #define CHECKSUM_CHECK_IP 0 129 #define CHECKSUM_CHECK_UDP 0 130 #define CHECKSUM_CHECK_TCP 0 131 #define CHECKSUM_GEN_ICMP 0 132 #else 133 #define CHECKSUM_GEN_IP 1 134 #define CHECKSUM_GEN_UDP 1 135 #define CHECKSUM_GEN_TCP 1 136 #define CHECKSUM_CHECK_IP 1 137 #define CHECKSUM_CHECK_UDP 1 138 #define CHECKSUM_CHECK_TCP 1 139 #define CHECKSUM_GEN_ICMP 1 140 #endif 141 142 #undef LWIP_NETCONN 143 #define LWIP_NETCONN 1 144 145 #undef LWIP_SOCKET 146 #define LWIP_SOCKET 1 147 148 #undef LWIP_DNS 149 #define LWIP_DNS 1 150 151 #undef TCPIP_THREAD_NAME 152 #define TCPIP_THREAD_NAME "TCP/IP" 153 154 #undef TCPIP_THREAD_STACKSIZE 155 #define TCPIP_THREAD_STACKSIZE 4096 156 157 #undef TCPIP_MBOX_SIZE 158 #define TCPIP_MBOX_SIZE 6 159 160 #undef DEFAULT_UDP_RECVMBOX_SIZE 161 #define DEFAULT_UDP_RECVMBOX_SIZE 6 162 163 #undef DEFAULT_TCP_RECVMBOX_SIZE 164 #define DEFAULT_TCP_RECVMBOX_SIZE 6 165 166 #undef DEFAULT_ACCEPTMBOX_SIZE 167 #define DEFAULT_ACCEPTMBOX_SIZE 6 168 169 #undef DEFAULT_THREAD_STACKSIZE 170 #define DEFAULT_THREAD_STACKSIZE 500 171 172 #undef TCPIP_THREAD_PRIO 173 #define TCPIP_THREAD_PRIO 25 174 175 #define MQTT_DEBUG LWIP_DBG_ON 176 177 #undef SNTP_SET_SYSTEM_TIME 178 #define SNTP_SET_SYSTEM_TIME(sec) SntpSetTime(sec) 179 180 #undef SNTP_RECV_TIMEOUT 181 #define SNTP_RECV_TIMEOUT 5000 182 183 #undef SNTP_UPDATE_DELAY 184 #define SNTP_UPDATE_DELAY (15*60*1000) 185 186 #undef SNTP_SERVER_DNS 187 #define SNTP_SERVER_DNS 1 188 189 #undef LWIP_DHCP_MAX_NTP_SERVERS 190 #define LWIP_DHCP_MAX_NTP_SERVERS 10 191 192 #undef MQTT_OUTPUT_RINGBUF_SIZE 193 #define MQTT_OUTPUT_RINGBUF_SIZE 1024 194 195 #undef MQTT_VAR_HEADER_BUFFER_LEN 196 #define MQTT_VAR_HEADER_BUFFER_LEN 1024 197 198 #undef MQTT_REQ_MAX_IN_FLIGHT 199 #define MQTT_REQ_MAX_IN_FLIGHT 15 200 201 #undef MQTT_REQ_TIMEOUT 202 #define MQTT_REQ_TIMEOUT 30 203 204 #undef MQTT_CONNECT_TIMOUT 205 #define MQTT_CONNECT_TIMOUT 100 206 207 #ifdef __cplusplus 208 } 209 #endif /* __cplusplus */ 210 #endif /* __LWIPOPTS_H__ */ 211