• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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