• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 HPMicro
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 #ifndef HPMICRO_LWIPOPTS_H
16 #define HPMICRO_LWIPOPTS_H
17 
18 #include "lwip/lwipopts.h"
19 
20 #include "arch/cc.h"
21 
22 #ifdef LWIP_LOGGER
23 #undef LWIP_LOGGER
24 #define LWIP_LOGGER(msg) printf("%s",msg)
25 #endif
26 
27 
28 
29 #undef MEM_SIZE
30 #define MEM_SIZE 128*1024
31 
32 #undef ETH_PAD_SIZE
33 #define ETH_PAD_SIZE 0
34 
35 /*
36    --------------------------------------
37    ---------- Checksum options ----------
38    --------------------------------------
39 */
40 #undef LWIP_CHECKSUM_ON_COPY
41 #define LWIP_CHECKSUM_ON_COPY           0
42 
43 #undef TCP_WND
44 #define TCP_WND 16384
45 
46 #undef TCPIP_THREAD_STACKSIZE
47 #define TCPIP_THREAD_STACKSIZE 4096
48 
49 #undef LWIP_CONFIG_NUM_SOCKETS
50 #define LWIP_CONFIG_NUM_SOCKETS 16
51 
52 #undef MEMP_MEM_MALLOC
53 #define MEMP_MEM_MALLOC                 0
54 
55 #undef LWIP_TCPIP_CORE_LOCKING_INPUT
56 #define LWIP_TCPIP_CORE_LOCKING_INPUT 1
57 
58 /*
59 Some MCUs allow computing and verifying the IP, UDP, TCP and ICMP checksums by hardware:
60  - To use this feature let the following define uncommented.
61  - To disable it and process by CPU comment the  the checksum.
62 */
63 
64 #define CHECKSUM_BY_HARDWARE 1
65 #if CHECKSUM_BY_HARDWARE
66   /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/
67   #define CHECKSUM_GEN_IP                 0
68   /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/
69   #define CHECKSUM_GEN_UDP                0
70   /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/
71   #define CHECKSUM_GEN_TCP                0
72   /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/
73   #define CHECKSUM_CHECK_IP               0
74   /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/
75   #define CHECKSUM_CHECK_UDP              0
76   /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/
77   #define CHECKSUM_CHECK_TCP              0
78   /* CHECKSUM_CHECK_ICMP==0: Check checksums by hardware for incoming ICMP packets.*/
79   #define CHECKSUM_GEN_ICMP               0
80 #else
81   /* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/
82   #define CHECKSUM_GEN_IP                 1
83   /* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/
84   #define CHECKSUM_GEN_UDP                1
85   /* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/
86   #define CHECKSUM_GEN_TCP                1
87   /* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/
88   #define CHECKSUM_CHECK_IP               1
89   /* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/
90   #define CHECKSUM_CHECK_UDP              1
91   /* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/
92   #define CHECKSUM_CHECK_TCP              1
93   /* CHECKSUM_CHECK_ICMP==1: Check checksums by hardware for incoming ICMP packets.*/
94   #define CHECKSUM_GEN_ICMP               1
95 #endif
96 
97 #undef LWIP_DEBUG
98 #define LWIP_DEBUG 0
99 #if LWIP_DEBUG
100 #define ETHARP_DEBUG                    LWIP_DBG_ON
101 #define NETIF_DEBUG                     LWIP_DBG_ON
102 #define PBUF_DEBUG                      LWIP_DBG_OFF
103 #define API_LIB_DEBUG                   LWIP_DBG_OFF
104 #define API_MSG_DEBUG                   LWIP_DBG_OFF
105 #define SOCKETS_DEBUG                   LWIP_DBG_OFF
106 #define ICMP_DEBUG                      LWIP_DBG_OFF
107 #define IGMP_DEBUG                      LWIP_DBG_OFF
108 #define INET_DEBUG                      LWIP_DBG_OFF
109 #define IP_DEBUG                        LWIP_DBG_OFF
110 #define DRIVERIF_DEBUG                  LWIP_DBG_OFF
111 #define IP_REASS_DEBUG                  LWIP_DBG_OFF
112 #define RAW_DEBUG                       LWIP_DBG_OFF
113 #define MEM_DEBUG                       LWIP_DBG_OFF
114 #define MEMP_DEBUG                      LWIP_DBG_OFF
115 #define SYS_DEBUG                       LWIP_DBG_OFF
116 #define TIMERS_DEBUG                    LWIP_DBG_OFF
117 #define TCP_DEBUG                       LWIP_DBG_OFF
118 #define TCP_ERR_DEBUG                   LWIP_DBG_OFF
119 #define TCP_INPUT_DEBUG                 LWIP_DBG_OFF
120 #define TCP_FR_DEBUG                    LWIP_DBG_OFF
121 #define TCP_RTO_DEBUG                   LWIP_DBG_OFF
122 #define TCP_CWND_DEBUG                  LWIP_DBG_OFF
123 #define TCP_WND_DEBUG                   LWIP_DBG_OFF
124 #define TCP_OUTPUT_DEBUG                LWIP_DBG_OFF
125 #define TCP_RST_DEBUG                   LWIP_DBG_OFF
126 #define TCP_QLEN_DEBUG                  LWIP_DBG_OFF
127 #define TCP_SACK_DEBUG                  LWIP_DBG_OFF
128 #define TCP_TLP_DEBUG                   LWIP_DBG_OFF
129 #define UDP_DEBUG                       LWIP_DBG_OFF
130 #define TCPIP_DEBUG                     LWIP_DBG_OFF
131 #define SLIP_DEBUG                      LWIP_DBG_OFF
132 #define DHCP_DEBUG                      LWIP_DBG_OFF
133 #define AUTOIP_DEBUG                    LWIP_DBG_OFF
134 #define DNS_DEBUG                       LWIP_DBG_OFF
135 #define TFTP_DEBUG                      LWIP_DBG_OFF
136 #define SYS_ARCH_DEBUG                  LWIP_DBG_OFF
137 #define SNTP_DEBUG                      LWIP_DBG_OFF
138 #define IP6_DEBUG                       LWIP_DBG_OFF
139 #define DHCP6_DEBUG                     LWIP_DBG_OFF
140 #define DRV_STS_DEBUG                   LWIP_DBG_OFF
141 #endif
142 
143 #endif
144 
145