| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 | /**  ******************************************************************************  * @file    lwipopts.h  * @author  MCD Application Team  * @version V1.0.0  * @date    31-October-2011  * @brief   lwIP Options Configuration.  *          This file is based on Utilities\lwip_v1.3.2\src\include\lwip\opt.h   *          and contains the lwIP configuration for the STM32F4x7 demonstration.  ******************************************************************************  * @attention  *  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.  *  * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>  ******************************************************************************  */#ifndef __LWIPOPTS_H__#define __LWIPOPTS_H__/** * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain * critical regions during buffer allocation, deallocation and memory * allocation and deallocation. */#define SYS_LIGHTWEIGHT_PROT    1#define ETHARP_TRUST_IP_MAC     0#define IP_REASSEMBLY           0#define IP_FRAG                 0#define ARP_QUEUEING            0/** * NO_SYS==1: Provides VERY minimal functionality. Otherwise, * use lwIP facilities. */#define NO_SYS                  0/* ---------- Memory options ---------- *//* MEM_ALIGNMENT: should be set to the alignment of the CPU for which   lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4, 2   byte alignment -> define MEM_ALIGNMENT to 2. */#define MEM_ALIGNMENT           4/* MEM_SIZE: the size of the heap memory. If the application will senda lot of data that needs tьщтo be copied, this should be set high. */#define MEM_SIZE                (10*1024)/* MEMP_NUM_PBUF: the number of memp struct pbufs. If the application   sends a lot of data out of ROM (or other static memory), this   should be set high. */#define MEMP_NUM_PBUF           50  // было//#define MEMP_NUM_PBUF           20 // тест/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One   per active UDP "connection". */#define MEMP_NUM_UDP_PCB        6/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP   connections. */#define MEMP_NUM_TCP_PCB        12 // было//#define MEMP_NUM_TCP_PCB        80/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP   connections. */#define MEMP_NUM_TCP_PCB_LISTEN 5/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP   segments. */#define MEMP_NUM_TCP_SEG        25 // было//#define MEMP_NUM_TCP_SEG        50 /* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active   timeouts. */#define MEMP_NUM_SYS_TIMEOUT    10/** * MEMP_NUM_NETCONN: the number of struct netconns. * (only needed if you use the sequential API, like api_lib.c) */#define MEMP_NUM_NETCONN                10/* ---------- Pbuf options ---------- *//* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */#define PBUF_POOL_SIZE          25/* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */#define PBUF_POOL_BUFSIZE         1540 // было//#define PBUF_POOL_BUFSIZE         2048 // тесты/** * MEMP_NUM_NETBUF: the number of struct netbufs. * (only needed if you use the sequential API, like api_lib.c) */#define MEMP_NUM_NETBUF                 7#define TCP_LISTEN_BACKLOG              1/* ---------- TCP options ---------- */#define LWIP_TCP                1#define TCP_TTL                 255/* Controls if TCP should queue segments that arrive out of   order. Define to 0 if your device is low on memory. */#define TCP_QUEUE_OOSEQ         0/* TCP Maximum segment size. */#define TCP_MSS                 1400//(1500 - 40)	  /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) *//* TCP sender buffer space (bytes). *///#define TCP_SND_BUF             (5*TCP_MSS)//#define TCP_SND_BUF             (18*TCP_MSS)#define TCP_SND_BUF             (18*TCP_MSS)/*  TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least  as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. *///20 #define TCP_SND_QUEUELEN        (4* TCP_SND_BUF/TCP_MSS)//#define TCP_SND_QUEUELEN        (4* TCP_SND_BUF/TCP_MSS)/* TCP receive window. */#define TCP_WND                 (4*TCP_MSS)/** * TCP_MAXRTX: Maximum number of retransmissions of data segments. */#define TCP_MAXRTX              6/* ---------- ICMP options ---------- */#define LWIP_ICMP                       1//#define ICMP_TTL			128/* ---------- DHCP options ---------- *//* Define LWIP_DHCP to 1 if you want DHCP configuration of   interfaces. DHCP is not implemented in lwIP 0.5.1, however, so   turning this on does currently not work. */#define LWIP_DHCP               1// ---------- SNMP options ----------#define LWIP_SNMP                       0#define SNMP_LWIP_MIB2                  0#define MIB2_STATS                      0#define SNMP_USE_RAW                    0#define SNMP_USE_NETCONN                1//#define SNMP_CONCURRENT_REQUESTS        1//#define SNMP_TRAP_DESTINATIONS          1//#define SNMP_PRIVATE_MIB                1//#define SNMP_SAFE_REQUESTS              1     /* ---------- UDP options ---------- */#define LWIP_UDP                1#define UDP_TTL                 255#define LWIP_SO_RCVTIMEO        1 // Эта опция необходима для netconn_set_recvtimeout в модуле udp_netsetting.c#define LWIP_SO_SNDTIMEO        1 ///* ---------- Statistics options ---------- */#define LWIP_STATS                      1#define LWIP_STATS_DISPLAY              1#define LWIP_PROVIDE_ERRNO              1#define LWIP_NETIF_LINK_CALLBACK        0/*   --------------------------------------   ---------- Checksum options ----------   --------------------------------------*//* The STM32F4x7 allows computing and verifying the IP, UDP, TCP and ICMP checksums by hardware: - To use this feature let the following define uncommented. - To disable it and process by CPU comment the  the checksum.*///#define CHECKSUM_BY_HARDWARE #ifdef CHECKSUM_BY_HARDWARE  /* CHECKSUM_GEN_IP==0: Generate checksums by hardware for outgoing IP packets.*/  #define CHECKSUM_GEN_IP                 0  /* CHECKSUM_GEN_UDP==0: Generate checksums by hardware for outgoing UDP packets.*/  #define CHECKSUM_GEN_UDP                0  /* CHECKSUM_GEN_TCP==0: Generate checksums by hardware for outgoing TCP packets.*/  #define CHECKSUM_GEN_TCP                0   /* CHECKSUM_CHECK_IP==0: Check checksums by hardware for incoming IP packets.*/  #define CHECKSUM_CHECK_IP               0  /* CHECKSUM_CHECK_UDP==0: Check checksums by hardware for incoming UDP packets.*/  #define CHECKSUM_CHECK_UDP              0  /* CHECKSUM_CHECK_TCP==0: Check checksums by hardware for incoming TCP packets.*/  #define CHECKSUM_CHECK_TCP              0  /* CHECKSUM_CHECK_ICMP==0: Check checksums by hardware for incoming ICMP packets.*/    #define CHECKSUM_GEN_ICMP               0#else  /* CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.*/  #define CHECKSUM_GEN_IP                 1  /* CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.*/  #define CHECKSUM_GEN_UDP                1  /* CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.*/  #define CHECKSUM_GEN_TCP                1  /* CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.*/  #define CHECKSUM_CHECK_IP               1  /* CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.*/  #define CHECKSUM_CHECK_UDP              1  /* CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.*/  #define CHECKSUM_CHECK_TCP              1  /* CHECKSUM_CHECK_ICMP==1: Check checksums by hardware for incoming ICMP packets.*/    #define CHECKSUM_GEN_ICMP               1#endif/*   ----------------------------------------------   ---------- Sequential layer options ----------   ----------------------------------------------*/#define LWIP_RAW                        1   /** * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) */#define LWIP_NETCONN                    1/*   ------------------------------------   ---------- Socket options ----------   ------------------------------------*//** * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) */#define LWIP_SOCKET                     1#define LWIP_DNS                        1#define SO_REUSE                        1   /*   ------------------------------------   ----------- SNTP options -----------   ------------------------------------*/   #define SNTP_MAX_SERVERS                2#define SNTP_SERVER_DNS                 1#define SNTP_UPDATE_DELAY               86400000 // 24 часа#define SNTP_SET_SYSTEM_TIME(t)         lwip_time_sinhro(t)#define SNTP_STARTUP_DELAY              1#define SNTP_STARTUP_DELAY_FUNC         10000/*   ------------------------------------   ------------ PPP options -----------   ------------------------------------*/#define PPP_SUPPORT                     0#define PPPOS_SUPPORT                   0 #define PPP_INPROC_IRQ_SAFE             0#define PRINTPKT_SUPPORT                0#define PPP_IPV4_SUPPORT                0   #define PAP_SUPPORT                     1   #define CHAP_SUPPORT                    0#define MSCHAP_SUPPORT                  0   #define EAP_SUPPORT                     0#define CCP_SUPPORT                     0#define MPPE_SUPPORT                    0/*   ------------------------------------   ------------ MQTT options ----------   ------------------------------------*/#define MQTT_OUTPUT_RINGBUF_SIZE        512#define MQTT_VAR_HEADER_BUFFER_LEN      512/*   -----------------------------------   ----------- HOOK options ----------   -----------------------------------*///#define LWIP_HOOK_FILENAME "lwip_route_hook.h"//#include LWIP_HOOK_FILENAME//#define LWIP_TCPIP_THREAD_ALIVE() lwip_alive()/*   -----------------------------------   ---------- DEBUG options ----------   -----------------------------------*/#define LWIP_DEBUG#define TCP_DEBUG                       LWIP_DBG_OFF#define TCP_RTO_DEBUG                   LWIP_DBG_OFF#define TCP_CWND_DEBUG                  LWIP_DBG_OFF#define ETHARP_DEBUG                    LWIP_DBG_OFF#define PBUF_DEBUG                      LWIP_DBG_OFF#define IP_DEBUG                        LWIP_DBG_OFF#define TCPIP_DEBUG                     LWIP_DBG_OFF#define DHCP_DEBUG                      LWIP_DBG_OFF#define UDP_DEBUG                       LWIP_DBG_OFF#define SOCKETS_DEBUG                   LWIP_DBG_OFF#define MEMP_DEBUG                      LWIP_DBG_OFF#define PING_DEBUG                      LWIP_DBG_OFF#define SNMP_DEBUG                      LWIP_DBG_OFF#define SNMP_MIB_DEBUG                  LWIP_DBG_OFF#define TIMERS_DEBUG                    LWIP_DBG_OFF#define ICMP_DEBUG                      LWIP_DBG_OFF#define NETIF_DEBUG                     LWIP_DBG_OFF#define PPP_DEBUG                       LWIP_DBG_OFF#define SNTP_DEBUG                      LWIP_DBG_OFF#define MQTT_DEBUG                      LWIP_DBG_OFF/*   ---------------------------------   ---------- OS options ----------   ---------------------------------*/#define TCPIP_THREAD_STACKSIZE          800#define TCPIP_MBOX_SIZE                 150//50#define DEFAULT_UDP_RECVMBOX_SIZE       20#define DEFAULT_TCP_RECVMBOX_SIZE       70#define DEFAULT_RAW_RECVMBOX_SIZE       10#define DEFAULT_ACCEPTMBOX_SIZE         20#define DEFAULT_THREAD_STACKSIZE        500#define TCPIP_THREAD_PRIO               (configMAX_PRIORITIES - 2)#define MEMP_NUM_TCPIP_MSG_INPKT        40//20#define LWIP_DISABLE_TCP_SANITY_CHECKS 1#endif /* __LWIPOPTS_H__ *//******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
 |