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