From e5c99069a092b664f4941e095a0972783ace38dc Mon Sep 17 00:00:00 2001 From: wangfq Date: Wed, 1 Jul 2026 11:33:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=94=A8=20NET=5FSSC=5FENABLE=20?= =?UTF-8?q?=E5=AE=8F=E9=9A=94=E7=A6=BB=E5=8E=9F=E6=9C=89=20TCP/UDP=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E9=BB=98=E8=AE=A4=3D0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit net_config.h: - 新增 NET_SSC_ENABLE=0, NET_JSON_ENABLE=1 功能开关 - WCHNET_NUM_UDP/TCP 根据开关条件编译 - 默认仅保留 JSON TCP server (1 TCP socket),SSC 全部禁用 net_srv.h: - SocketId_TCP/UDP extern 放入 #if NET_SSC_ENABLE - WCHNET_CreateTcpSocket/MqttSocket 原型放入 #if net_srv.c: - SSC/MQTT 变量和函数全部置入 #if NET_SSC_ENABLE - WCHNET_HandleSockInt 中 SSC 处理分支置入 #if - net_srv_init 中 WCHNET_CreateUdpSocket 和 memset(socket) 置入 #if - JSON routing 保持无条件编译 peripheral_main.c: - WCHNET_CreateTcpSocket/MqttSocket 调用置入 #if NET_SSC_ENABLE tcp_json_srv.h: - 移除 SocketId_TCP/UDP extern(JSON handler 不再引用) 影响:NET_SSC_ENABLE=0 时设备仅运行 TCP JSON server (port 5960), 原有 SSC UDP/TCP/MQTT 代码不参与编译,零干扰。 --- .../APP/include/net_config.h | 22 ++++++++- .../APP/include/net_srv.h | 47 +++++++++++-------- .../APP/include/tcp_json_srv.h | 2 - .../OnlyUpdateApp_Peripheral/APP/net_srv.c | 28 ++++++++--- .../APP/peripheral_main.c | 2 + 5 files changed, 71 insertions(+), 30 deletions(-) diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_config.h b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_config.h index 8fd6c49..adb1ce8 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_config.h +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_config.h @@ -17,16 +17,34 @@ extern "C" { #endif +/********************************************************************* + * Feature toggles (0 = disabled, 1 = enabled) + */ +#define NET_SSC_ENABLE 0 /* SSC (UDP + TCP client) protocol support */ +#define NET_JSON_ENABLE 1 /* TCP JSON protocol server (port 5960) */ + /********************************************************************* * socket configuration, IPRAW + UDP + TCP + TCP_LISTEN = number of sockets */ #define WCHNET_NUM_IPRAW 0 /* Number of IPRAW connections */ +#if NET_SSC_ENABLE #define WCHNET_NUM_UDP 1 /* The number of UDP connections */ +#else +#define WCHNET_NUM_UDP 0 +#endif -#define WCHNET_NUM_TCP 2 /* Number of TCP connections (1 SSC/MQTT + 1 JSON accepted) */ +#if NET_JSON_ENABLE && NET_SSC_ENABLE +#define WCHNET_NUM_TCP 2 /* JSON listen+data(1) + SSC client(1) */ +#elif NET_JSON_ENABLE +#define WCHNET_NUM_TCP 1 /* JSON listen+data(1) */ +#elif NET_SSC_ENABLE +#define WCHNET_NUM_TCP 1 /* SSC client(1) */ +#else +#define WCHNET_NUM_TCP 0 +#endif -#define WCHNET_NUM_TCP_LISTEN 1 /* Number of TCP listening (JSON protocol on port 5960) */ +#define WCHNET_NUM_TCP_LISTEN 1 /* Number of TCP listening (required internally) */ /* The number of sockets, the maximum is 31 */ #define WCHNET_MAX_SOCKET_NUM (WCHNET_NUM_IPRAW+WCHNET_NUM_UDP+WCHNET_NUM_TCP+WCHNET_NUM_TCP_LISTEN) diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_srv.h b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_srv.h index 03fd22a..631c56e 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_srv.h +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/net_srv.h @@ -14,7 +14,7 @@ #include #define MAX_COUNTER_NET_STATE_NORMAL 100 -//#define RECE_BUF_LEN 512 /* ??????????????? */ +//#define RECE_BUF_LEN 512 /* ?????????????��?? */ #define MAX_REPORT_INTERVAL_MS 30000 //60000 //180?? #define MIN_REPORT_INTERVAL_MS 6000 // 6?? @@ -35,7 +35,7 @@ #define TOPIC_DEFAULT_SUBSCRIBE "ptpc/display" #define TOPIC_DEFAULT_PUBLISH "gtpc/display/Initialize" -#define UART_BAUD_DEFAULT_PORT_1 115200 // Loop MCU ͨŵIJ TTL, g_storage_uart_baud_1 +#define UART_BAUD_DEFAULT_PORT_1 115200 // ��Loop MCU ͨ�ŵIJ����� TTL, g_storage_uart_baud_1 #define UART_BAUD_DEFAULT_PORT_2 115200 // baud2 TTL g_storage_uart_baud_2 @@ -49,10 +49,10 @@ typedef enum typedef struct _LOCAL_NET_CFG { uint8_t mac[6]; - uint8_t lip[4]; /*local IP???IP???*/ - uint8_t sub[4]; /*???????*/ + uint8_t lip[4]; /*local IP��???IP???��*/ + uint8_t sub[4]; /*��???????*/ uint8_t gw[4]; - uint8_t dns[4]; /*DNS???????*/ + uint8_t dns[4]; /*DNS��????��???��*/ uint16_t port_ssc_tcp; uint16_t port_ssc_udp; @@ -66,7 +66,7 @@ extern Local_Net_Cfg local_net_cfg; typedef struct _NET_CENTER_INFO_ { - uint8_t lssc_ip[4]; //Local Sotfware Service Center ????????????? + uint8_t lssc_ip[4]; //Local Sotfware Service Center ��????��??��??????? uint16_t msg_port; uint16_t tcp_port; // use for server http port uint16_t udp_port; @@ -79,7 +79,7 @@ typedef struct _IOT_NET_INFO_ { uint8_t remote_addr[64]; uint16_t mqtt_port; - uint8_t client_id[64]; //?????????????????? + uint8_t client_id[64]; //?????������??????��??��?��???? uint8_t username[64]; uint8_t password[32]; @@ -95,7 +95,7 @@ extern IOT_NET_INFO iot_net_info; typedef struct _IOT_TOPIC_ { - uint8_t clientid_enable; // ??????㨹??CClientID + uint8_t clientid_enable; // ?��????��?�㨹??��CClientID uint8_t topic_pub[MAX_TOPIC_LENGTH]; uint8_t topic_sub[MAX_TOPIC_LENGTH]; } IOT_Topic; @@ -188,28 +188,28 @@ void write_net_config(Local_Net_Cfg *local, NET_CENTER_INFO *center, IOT_NET_INF #define SSC_Code_Count_Off "Count_Off" #define SSC_Code_Device_Info "Device_Info" -#define SSC_Code_Devs_Info "Devs_Info" //add by wfq 2020-07-14 ?????????????????????????? +#define SSC_Code_Devs_Info "Devs_Info" //add by wfq 2020-07-14 ?????????????��??��??����????����????? #define SSC_Code_Global_Require "Global_Get" #define SSC_Code_Global_Set "Global_Set" -#define SSC_Code_Collect_ALL "Collect_All" //????????????????? +#define SSC_Code_Collect_ALL "Collect_All" //?????��???????????? #define SSC_Code_Collect_Single "Collect_Single" //?????????????????? #define SSC_Code_Config "Config" #define SSC_Code_DisplayLED "DisplayLED" -#define SSC_Code_Device_Net_Set "Device_Net_Set" //?????????????? +#define SSC_Code_Device_Net_Set "Device_Net_Set" //?????����????????? #define SSC_Code_HeartBeat "HeartBeat" -#define SSC_Code_CDev_Subs "CDev_Subs" //?????????????? -#define SSC_Code_Device_IOT_Set "Dev_IOT_Set" //???IOT???????? MQTT?????????????????????? +#define SSC_Code_CDev_Subs "CDev_Subs" //????��??����????��???? +#define SSC_Code_Device_IOT_Set "Dev_IOT_Set" //?��??IOT???????? MQTT???��?????????????��?????? #define SSC_Code_ACS_Collect_Area "ACS_Collect_Area" -#define SSC_Code_ACS_Collect_Counter "ACS_Collect_Counter" //??????????????????????? add 2021-01-04 +#define SSC_Code_ACS_Collect_Counter "ACS_Collect_Counter" //?????????????????��?????? add 2021-01-04 -#define SSC_Code_Collect_NT_BUS "Collect_NT_BUS" //???????????????????????? -#define SSC_Code_CDetail_NT_BUS "CDetail_NT_BUS" //??????????????????????????? add 2022-04-19 +#define SSC_Code_Collect_NT_BUS "Collect_NT_BUS" //??????????????��??????��???? +#define SSC_Code_CDetail_NT_BUS "CDetail_NT_BUS" //??????????????��????��?????��???? add 2022-04-19 -#define SSC_Code_Radar_Reset "Radar_Reset" //??????? 2021-04-23 +#define SSC_Code_Radar_Reset "Radar_Reset" //?��?????? 2021-04-23 #define SSC_Code_SerialNet "SerialNet" //485???????? 2021-04-23 -#define SSC_Code_Dev_Reset "Dev_Reset" // ???????? 2024-12-13 +#define SSC_Code_Dev_Reset "Dev_Reset" // ?����??????? 2024-12-13 #define SSC_Code_GetDeviceInfo "\"GetDeviceInfo\"" @@ -240,8 +240,8 @@ void write_net_config(Local_Net_Cfg *local, NET_CENTER_INFO *center, IOT_NET_INF #define SSC_Code_ACS_Collect_CJQ "ACS_Collect_CJQ" //add by wangfq 2022-04-14 -#define SSC_Code_Tran_Sub "Tran_Sub" // ???????????? -#define SSC_Code_Dev_Type "\"Dev_Type\"" // ????? ?????? 20 DLD950 +#define SSC_Code_Tran_Sub "Tran_Sub" // ??��??����??��?????? +#define SSC_Code_Dev_Type "\"Dev_Type\"" // ?����??��?? ��?��????? 20 DLD950 #define SSC_Code_Cmd "Cmd" #define SSC_Code_Detail "Detail" @@ -249,6 +249,11 @@ void write_net_config(Local_Net_Cfg *local, NET_CENTER_INFO *center, IOT_NET_INF extern uint8_t g_flag_timestamp; extern uint8_t RemoteIP[4]; +#if NET_SSC_ENABLE +extern uint8_t SocketId_TCP; +extern uint8_t SocketId_UDP; +#endif + void manage_udp_message(uint8_t socket, uint8_t *ip, uint16_t port, uint8_t *buf, uint32_t len); @@ -278,8 +283,10 @@ void GetMacAddr(unsigned char *pMAC); void mStopIfError(u8 iError); void net_srv_init(void); +#if NET_SSC_ENABLE void WCHNET_CreateTcpMqttSocket(void); void WCHNET_CreateTcpSocket(void); +#endif void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat); int get_ipstr_to_array(char *src, uint8_t *dst); void WCHNET_HandleGlobalInt(void); diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/tcp_json_srv.h b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/tcp_json_srv.h index 3a6304d..1e1d98a 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/tcp_json_srv.h +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/tcp_json_srv.h @@ -47,8 +47,6 @@ typedef enum { /*=========================================================================== * Externs *===========================================================================*/ -extern uint8_t SocketId_TCP; -extern uint8_t SocketId_UDP; extern uint8_t g_json_socket_listen; // TCP socket ID (listen + data) extern TcpJsonAuthState g_json_auth_state; extern uint32_t g_json_auth_timer; // ms timer for auth timeout diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c index cbe5ec7..0116093 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/net_srv.c @@ -55,7 +55,7 @@ uint16_t srcport = 6000; //UINT16 aport=1000; /* CH579?????????? */ uint32_t g_wdg_counter = 0; - +#if NET_SSC_ENABLE uint8_t SocketId_TCP; uint8_t SocketId_UDP ; @@ -461,10 +461,12 @@ void WCHNET_DataManage(uint8_t id) } g_net_state.flag = 4; - } +#endif /* NET_SSC_ENABLE */ + + /********************************************************************* @@ -487,6 +489,7 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat) return; } +#if NET_SSC_ENABLE g_net_state.intstat = intstat; if (intstat & SINT_STAT_RECV) //receive data @@ -501,8 +504,10 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat) WCHNET_ModifyRecvBuf(socketid, (uint32_t) SocketRecvBuf[socketid], RECE_BUF_LEN); { - PRINT("TCP Connect Success\r\n"); - PRINT("socket id: %d\r\n", socketid); + PRINT("TCP Connect Success +\n"); + PRINT("socket id: %d +\n", socketid); } // if(g_sub_code_enable.iot_enable){ @@ -512,7 +517,8 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat) if (intstat & SINT_STAT_DISCONNECT) //disconnect { { - PRINT("TCP Disconnect\r\n"); + PRINT("TCP Disconnect +\n"); } // WCHNET_SocketClose(socketid, 0); g_net_state.flag = 1; @@ -527,15 +533,19 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat) // } // if(g_flag_debug) { - PRINT("TCP Timeout\r\n"); + PRINT("TCP Timeout +\n"); } // WCHNET_SocketClose(socketid, 0); g_net_state.flag = 1; // WCHNET_CreateTcpSocket(); } +#endif /* NET_SSC_ENABLE */ } +#if NET_SSC_ENABLE + void dbn_net_ssc_srv(void) { uint8_t _flag_timestamp = 0; @@ -1039,6 +1049,8 @@ void manage_mqtt_recv_message(char * msg, int length) } } +#endif /* NET_SSC_ENABLE */ + @@ -1106,7 +1118,9 @@ void net_srv_init(void) WCHNET_ConfigKeepLive(&cfg); } #endif +#if NET_SSC_ENABLE memset(socket, 0xff, WCHNET_MAX_SOCKET_NUM); +#endif } @@ -1114,7 +1128,9 @@ void net_srv_init(void) if(g_net_state.flag == 1) { +#if NET_SSC_ENABLE WCHNET_CreateUdpSocket(); +#endif tcp_json_srv_init(); // Start JSON protocol TCP listener on port 5960 } diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/peripheral_main.c b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/peripheral_main.c index 36938f6..716007d 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/peripheral_main.c +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/peripheral_main.c @@ -235,6 +235,7 @@ void Main_Circulation(void) } if(g_net_state.flag == 2) { +#if NET_SSC_ENABLE if(g_sub_code_enable.iot_enable){ if(iot_net_info.mode == IOT_Addr_IP_Mode){ if(get_ipstr_to_array(iot_net_info.remote_addr, RemoteIP) == 0){ @@ -250,6 +251,7 @@ void Main_Circulation(void) { WCHNET_CreateTcpSocket(); } +#endif }