• 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 /*
60 Some MCUs allow computing and verifying the IP, UDP, TCP and ICMP checksums by hardware:
61  - To use this feature let the following define uncommented.
62  - To disable it and process by CPU comment the  the checksum.
63 */
64 
65 #define CHECKSUM_BY_HARDWARE 1
66 #if CHECKSUM_BY_HARDWARE
67   /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/
68   #define CHECKSUM_GEN_IP                 0
69   /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/
70   #define CHECKSUM_GEN_UDP                0
71   /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/
72   #define CHECKSUM_GEN_TCP                0
73   /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/
74   #define CHECKSUM_CHECK_IP               0
75   /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/
76   #define CHECKSUM_CHECK_UDP              0
77   /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/
78   #define CHECKSUM_CHECK_TCP              0
79   /* CHECKSUM_CHECK_ICMP==0: Check checksums by hardware for incoming ICMP packets.*/
80   #define CHECKSUM_GEN_ICMP               0
81 #else
82   /* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/
83   #define CHECKSUM_GEN_IP                 1
84   /* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/
85   #define CHECKSUM_GEN_UDP                1
86   /* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/
87   #define CHECKSUM_GEN_TCP                1
88   /* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/
89   #define CHECKSUM_CHECK_IP               1
90   /* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/
91   #define CHECKSUM_CHECK_UDP              1
92   /* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/
93   #define CHECKSUM_CHECK_TCP              1
94   /* CHECKSUM_CHECK_ICMP==1: Check checksums by hardware for incoming ICMP packets.*/
95   #define CHECKSUM_GEN_ICMP               1
96 #endif
97 
98 #undef LWIP_DEBUG
99 #define LWIP_DEBUG 0
100 #if LWIP_DEBUG
101 #define ETHARP_DEBUG                    LWIP_DBG_ON
102 #define NETIF_DEBUG                     LWIP_DBG_ON
103 #define PBUF_DEBUG                      LWIP_DBG_OFF
104 #define API_LIB_DEBUG                   LWIP_DBG_OFF
105 #define API_MSG_DEBUG                   LWIP_DBG_OFF
106 #define SOCKETS_DEBUG                   LWIP_DBG_OFF
107 #define ICMP_DEBUG                      LWIP_DBG_OFF
108 #define IGMP_DEBUG                      LWIP_DBG_OFF
109 #define INET_DEBUG                      LWIP_DBG_OFF
110 #define IP_DEBUG                        LWIP_DBG_OFF
111 #define DRIVERIF_DEBUG                  LWIP_DBG_OFF
112 #define IP_REASS_DEBUG                  LWIP_DBG_OFF
113 #define RAW_DEBUG                       LWIP_DBG_OFF
114 #define MEM_DEBUG                       LWIP_DBG_OFF
115 #define MEMP_DEBUG                      LWIP_DBG_OFF
116 #define SYS_DEBUG                       LWIP_DBG_OFF
117 #define TIMERS_DEBUG                    LWIP_DBG_OFF
118 #define TCP_DEBUG                       LWIP_DBG_OFF
119 #define TCP_ERR_DEBUG                   LWIP_DBG_OFF
120 #define TCP_INPUT_DEBUG                 LWIP_DBG_OFF
121 #define TCP_FR_DEBUG                    LWIP_DBG_OFF
122 #define TCP_RTO_DEBUG                   LWIP_DBG_OFF
123 #define TCP_CWND_DEBUG                  LWIP_DBG_OFF
124 #define TCP_WND_DEBUG                   LWIP_DBG_OFF
125 #define TCP_OUTPUT_DEBUG                LWIP_DBG_OFF
126 #define TCP_RST_DEBUG                   LWIP_DBG_OFF
127 #define TCP_QLEN_DEBUG                  LWIP_DBG_OFF
128 #define TCP_SACK_DEBUG                  LWIP_DBG_OFF
129 #define TCP_TLP_DEBUG                   LWIP_DBG_OFF
130 #define UDP_DEBUG                       LWIP_DBG_OFF
131 #define TCPIP_DEBUG                     LWIP_DBG_OFF
132 #define SLIP_DEBUG                      LWIP_DBG_OFF
133 #define DHCP_DEBUG                      LWIP_DBG_OFF
134 #define AUTOIP_DEBUG                    LWIP_DBG_OFF
135 #define DNS_DEBUG                       LWIP_DBG_OFF
136 #define TFTP_DEBUG                      LWIP_DBG_OFF
137 #define SYS_ARCH_DEBUG                  LWIP_DBG_OFF
138 #define SNTP_DEBUG                      LWIP_DBG_OFF
139 #define IP6_DEBUG                       LWIP_DBG_OFF
140 #define DHCP6_DEBUG                     LWIP_DBG_OFF
141 #define DRV_STS_DEBUG                   LWIP_DBG_OFF
142 #endif
143 
144 #endif
145 
146