From 7e1d44f5ab2c1e78e5fa1bb918feb4fa2a741dc6 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 19 Jun 2024 12:35:05 +0800 Subject: [PATCH] 336 --- LWIP/Target/lwipopts.h | 13 +++++++------ Middlewares/Third_Party/LwIP/src/api/api_lib.c | 2 ++ Middlewares/Third_Party/LwIP/src/include/lwip/arch.h | 2 +- Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h | 8 ++------ iflytop_xsync | 2 +- usrc/project_configs.h | 2 +- usrc/service/extern_if_service.c | 16 +++++++++++----- xsync_stm32.ioc | 6 ++++-- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/LWIP/Target/lwipopts.h b/LWIP/Target/lwipopts.h index 444c6bc..f5df0e9 100644 --- a/LWIP/Target/lwipopts.h +++ b/LWIP/Target/lwipopts.h @@ -34,7 +34,7 @@ /* USER CODE END 0 */ #ifdef __cplusplus -extern "C" { + extern "C" { #endif /* STM32CubeMX Specific Parameters (not defined in opt.h) ---------------------*/ @@ -51,10 +51,14 @@ extern "C" { /* Parameters set in STM32CubeMX LwIP Configuration GUI -*/ /*----- Value in opt.h for LWIP_DHCP: 0 -----*/ #define LWIP_DHCP 1 -/*----- Default Value for LWIP_DNS: 0 ---*/ -#define LWIP_DNS 1 +/*----- Value in opt.h for LWIP_TCP: 1 -----*/ +#define LWIP_TCP 0 /*----- Value in opt.h for MEM_ALIGNMENT: 1 -----*/ #define MEM_ALIGNMENT 4 +/*----- Default Value for MEM_SIZE: 1600 ---*/ +#define MEM_SIZE 3200 +/*----- Value in opt.h for MEMP_NUM_SYS_TIMEOUT: (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0)) -*/ +#define MEMP_NUM_SYS_TIMEOUT 5 /*----- Value in opt.h for LWIP_ETHERNET: LWIP_ARP || PPPOE_SUPPORT -*/ #define LWIP_ETHERNET 1 /*----- Default Value for LWIP_AUTOIP: 0 ---*/ @@ -97,8 +101,6 @@ extern "C" { #define DEFAULT_THREAD_PRIO 3 /*----- Value in opt.h for DEFAULT_UDP_RECVMBOX_SIZE: 0 -----*/ #define DEFAULT_UDP_RECVMBOX_SIZE 6 -/*----- Value in opt.h for DEFAULT_TCP_RECVMBOX_SIZE: 0 -----*/ -#define DEFAULT_TCP_RECVMBOX_SIZE 6 /*----- Value in opt.h for DEFAULT_ACCEPTMBOX_SIZE: 0 -----*/ #define DEFAULT_ACCEPTMBOX_SIZE 6 /*----- Default Value for LWIP_SO_SNDTIMEO: 0 ---*/ @@ -168,7 +170,6 @@ extern "C" { #define DHCP6_DEBUG LWIP_DBG_ON /* USER CODE END 1 */ - #ifdef __cplusplus } #endif diff --git a/Middlewares/Third_Party/LwIP/src/api/api_lib.c b/Middlewares/Third_Party/LwIP/src/api/api_lib.c index e03b8b7..1aa77a7 100644 --- a/Middlewares/Third_Party/LwIP/src/api/api_lib.c +++ b/Middlewares/Third_Party/LwIP/src/api/api_lib.c @@ -204,7 +204,9 @@ netconn_prepare_delete(struct netconn *conn) #if LWIP_SO_SNDTIMEO || LWIP_SO_LINGER /* get the time we started, which is later compared to sys_now() + conn->send_timeout */ +#if LWIP_TCP API_MSG_VAR_REF(msg).msg.sd.time_started = sys_now(); +#endif /* LWIP_TCP */ #else /* LWIP_SO_SNDTIMEO || LWIP_SO_LINGER */ #if LWIP_TCP API_MSG_VAR_REF(msg).msg.sd.polls_left = diff --git a/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h b/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h index 800fb1f..58dae33 100644 --- a/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h +++ b/Middlewares/Third_Party/LwIP/src/include/lwip/arch.h @@ -78,7 +78,7 @@ * systems, this should be defined to something less resource-consuming. */ #ifndef LWIP_PLATFORM_DIAG -#define LWIP_PLATFORM_DIAG(x) do {printf("%s:%s:%d ",__FILE__,__FUNCTION__,__LINE__); printf x;} while(0) +#define LWIP_PLATFORM_DIAG(x) do {printf x;} while(0) #include #include #endif diff --git a/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h b/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h index e2f6b19..0b8880a 100644 --- a/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h +++ b/Middlewares/Third_Party/LwIP/src/include/lwip/tcpip.h @@ -54,13 +54,9 @@ extern "C" { extern sys_mutex_t lock_tcpip_core; #if !defined LOCK_TCPIP_CORE || defined __DOXYGEN__ /** Lock lwIP core mutex (needs @ref LWIP_TCPIP_CORE_LOCKING 1) */ - -// #define LOCK_TCPIP_CORE() { printf("lock %s %d\n",__FUNCTION__,__LINE__); sys_mutex_lock(&lock_tcpip_core);} -// #define UNLOCK_TCPIP_CORE() {sys_mutex_unlock(&lock_tcpip_core) ;printf("unlock %s %d\n",__FUNCTION__,__LINE__); } - -#define LOCK_TCPIP_CORE() { sys_mutex_lock(&lock_tcpip_core);} -#define UNLOCK_TCPIP_CORE() {sys_mutex_unlock(&lock_tcpip_core) ;} +#define LOCK_TCPIP_CORE() sys_mutex_lock(&lock_tcpip_core) /** Unlock lwIP core mutex (needs @ref LWIP_TCPIP_CORE_LOCKING 1) */ +#define UNLOCK_TCPIP_CORE() sys_mutex_unlock(&lock_tcpip_core) #endif /* LOCK_TCPIP_CORE */ #else /* LWIP_TCPIP_CORE_LOCKING */ #define LOCK_TCPIP_CORE() diff --git a/iflytop_xsync b/iflytop_xsync index 11d58a6..eb4ecc5 160000 --- a/iflytop_xsync +++ b/iflytop_xsync @@ -1 +1 @@ -Subproject commit 11d58a60275a358352f4acb080031187543510b8 +Subproject commit eb4ecc5d11b62c90e6164c663132dcccb8e9ed1f diff --git a/usrc/project_configs.h b/usrc/project_configs.h index c7aab4d..dc31f17 100644 --- a/usrc/project_configs.h +++ b/usrc/project_configs.h @@ -1,7 +1,7 @@ #pragma once #define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0) -#define PC_VERSION VERSION(3, 3, 5) +#define PC_VERSION VERSION(3, 3, 6) #define PC_MANUFACTURER0 ('i' | 'f' << 8 | 'l' << 16 | 'y' << 24) #define PC_MANUFACTURER1 ('t' | 'o' << 8 | 'p' << 16 | '\0' << 24) diff --git a/usrc/service/extern_if_service.c b/usrc/service/extern_if_service.c index 9d53c2d..430be32 100644 --- a/usrc/service/extern_if_service.c +++ b/usrc/service/extern_if_service.c @@ -69,12 +69,18 @@ static void create_and_send_timecode(struct sockaddr_in client, uint32_t timecod * @param data * @param len */ -static void udp_on_packet(udp_t *server, struct sockaddr_in *client, uint8_t *data, uint16_t len) { - ZLOGI(TAG, "udp_on_packet %d:", len); - for (int i = 0; i < len; i++) { - printf("%02x ", data[i]); + +static inline const char *hex2str(uint8_t *data, uint16_t len) { + static char buf[2048]; + for (int i = 0; i < len && i < 1024; i++) { + buf[i * 2] = "0123456789ABCDEF"[data[i] >> 4]; + buf[i * 2 + 1] = "0123456789ABCDEF"[data[i] & 0x0F]; } - printf("\n"); + return buf; +} + +static void udp_on_packet(udp_t *server, struct sockaddr_in *client, uint8_t *data, uint16_t len) { + ZLOGI(TAG, "udp_on_packet (%s)%d:", hex2str(data, len), len); /** * @brief diff --git a/xsync_stm32.ioc b/xsync_stm32.ioc index 76f38b8..942acd6 100644 --- a/xsync_stm32.ioc +++ b/xsync_stm32.ioc @@ -82,18 +82,20 @@ GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false LWIP.BSP.number=1 LWIP.GATEWAY_ADDRESS=192.168.008.001 -LWIP.IPParameters=LWIP_DHCP,IP_ADDRESS,NETMASK_ADDRESS,GATEWAY_ADDRESS,LWIP_DNS,LWIP_NETIF_HOSTNAME,LWIP_SO_RCVTIMEO,LWIP_SO_SNDTIMEO,LWIP_AUTOIP,LWIP_DHCP_AUTOIP_COOP,LWIP_NETIF_STATUS_CALLBACK,LWIP_DHCP_AUTOIP_COOP_TRIES,LWIP_NETIF_EXT_STATUS_CALLBACK +LWIP.IPParameters=LWIP_DHCP,IP_ADDRESS,NETMASK_ADDRESS,GATEWAY_ADDRESS,LWIP_DNS,LWIP_NETIF_HOSTNAME,LWIP_SO_RCVTIMEO,LWIP_SO_SNDTIMEO,LWIP_AUTOIP,LWIP_DHCP_AUTOIP_COOP,LWIP_NETIF_STATUS_CALLBACK,LWIP_DHCP_AUTOIP_COOP_TRIES,LWIP_NETIF_EXT_STATUS_CALLBACK,MEM_SIZE,LWIP_TCP LWIP.IP_ADDRESS=192.168.008.010 LWIP.LWIP_AUTOIP=1 LWIP.LWIP_DHCP=1 LWIP.LWIP_DHCP_AUTOIP_COOP=1 LWIP.LWIP_DHCP_AUTOIP_COOP_TRIES=0 -LWIP.LWIP_DNS=1 +LWIP.LWIP_DNS=0 LWIP.LWIP_NETIF_EXT_STATUS_CALLBACK=1 LWIP.LWIP_NETIF_HOSTNAME=1 LWIP.LWIP_NETIF_STATUS_CALLBACK=1 LWIP.LWIP_SO_RCVTIMEO=1 LWIP.LWIP_SO_SNDTIMEO=1 +LWIP.LWIP_TCP=0 +LWIP.MEM_SIZE=3200 LWIP.NETMASK_ADDRESS=255.255.255.255 LWIP.Version=v2.1.2_Cube LWIP0.BSP.STBoard=false