38 lines
1.4 KiB
C
38 lines
1.4 KiB
C
#ifndef LWIP_HDR_LWIPOPTS_MEMBRANE_H
|
|
#define LWIP_HDR_LWIPOPTS_MEMBRANE_H
|
|
|
|
// 1. Run in the App's Thread
|
|
#define NO_SYS 1
|
|
#define LWIP_TIMERS 1
|
|
|
|
// 2. Protection (Required for sys_prot_t type definition)
|
|
#define SYS_LIGHTWEIGHT_PROT 1
|
|
|
|
// 3. Memory (Internal Pools)
|
|
#define MEM_LIBC_MALLOC 0
|
|
#define MEMP_MEM_MALLOC 0
|
|
#define MEM_SIZE (256 * 1024) // 256KB Heap for LwIP
|
|
#define MEMP_NUM_PBUF 64 // High RX capacity
|
|
#define PBUF_POOL_SIZE 128 // Large packet pool
|
|
#define MEM_ALIGNMENT 64
|
|
|
|
// 4. Performance (Fast Path)
|
|
#define TCP_MSS 1460
|
|
#define TCP_WND (16 * TCP_MSS) // Larger window for high throughput
|
|
#define LWIP_TCP_KEEPALIVE 1
|
|
|
|
// 5. Disable System Features
|
|
#define LWIP_NETCONN 0 // We use Raw API
|
|
#define LWIP_SOCKET 0 // We implement our own Shim
|
|
#define LWIP_STATS 0 // Save cycles
|
|
#define LWIP_DHCP 1 // Enable Dynamic Host Configuration
|
|
#define LWIP_ICMP 1 // Enable ICMP (Ping)
|
|
#define LWIP_DHCP_DOES_ACD_CHECK 0 // Disable Address Conflict Detection
|
|
#define LWIP_ACD 0 // Disable ACD module
|
|
|
|
// Disable all debugs and diagnostics for a clean link
|
|
#define LWIP_DEBUG 0
|
|
#define LWIP_PLATFORM_DIAG(x) do {} while(0)
|
|
|
|
#endif
|