refactor: 用 NET_SSC_ENABLE 宏隔离原有 TCP/UDP 代码,默认=0
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 代码不参与编译,零干扰。
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#define MAX_COUNTER_NET_STATE_NORMAL 100
|
||||
//#define RECE_BUF_LEN 512 /* ?????????????ó?? */
|
||||
//#define RECE_BUF_LEN 512 /* ?????????????<EFBFBD><EFBFBD>?? */
|
||||
#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 通信的波特率 TTL, g_storage_uart_baud_1
|
||||
#define UART_BAUD_DEFAULT_PORT_1 115200 // <EFBFBD><EFBFBD>Loop MCU ͨ<EFBFBD>ŵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 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<EFBFBD><EFBFBD>???IP???<EFBFBD><EFBFBD>*/
|
||||
uint8_t sub[4]; /*<EFBFBD><EFBFBD>???????*/
|
||||
uint8_t gw[4];
|
||||
uint8_t dns[4]; /*DNS·????÷???·*/
|
||||
uint8_t dns[4]; /*DNS<EFBFBD><EFBFBD>????<EFBFBD><EFBFBD>???<EFBFBD><EFBFBD>*/
|
||||
|
||||
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 <EFBFBD><EFBFBD>????<EFBFBD><EFBFBD>??<3F><>???????
|
||||
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]; //?????<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>??????<3F><>??<3F><>?<3F><>????
|
||||
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; // ?<EFBFBD><EFBFBD>????<EFBFBD><EFBFBD>?<3F>㨹??<3F><>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 ?????????????<EFBFBD><EFBFBD>??<3F><>??<3F><><EFBFBD><EFBFBD>????<3F><><EFBFBD><EFBFBD>?????
|
||||
#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" //?????<EFBFBD><EFBFBD>????????????
|
||||
#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" //?????<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?????????
|
||||
#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" //????<EFBFBD><EFBFBD>??<3F><><EFBFBD><EFBFBD>????<EFBFBD><EFBFBD>????
|
||||
#define SSC_Code_Device_IOT_Set "Dev_IOT_Set" //?<EFBFBD><EFBFBD>??IOT???????? MQTT???<EFBFBD><EFBFBD>?????????????<EFBFBD><EFBFBD>??????
|
||||
|
||||
|
||||
#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" //?????????????????<EFBFBD><EFBFBD>?????? 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" //??????????????<EFBFBD><EFBFBD>??????<EFBFBD><EFBFBD>????
|
||||
#define SSC_Code_CDetail_NT_BUS "CDetail_NT_BUS" //??????????????<EFBFBD><EFBFBD>????<EFBFBD><EFBFBD>?????<EFBFBD><EFBFBD>???? add 2022-04-19
|
||||
|
||||
#define SSC_Code_Radar_Reset "Radar_Reset" //?×?????? 2021-04-23
|
||||
#define SSC_Code_Radar_Reset "Radar_Reset" //?<EFBFBD><EFBFBD>?????? 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" // ?<EFBFBD><EFBFBD><EFBFBD><EFBFBD>??????? 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" // ??<EFBFBD><EFBFBD>??<3F><><EFBFBD><EFBFBD>??<3F><>??????
|
||||
#define SSC_Code_Dev_Type "\"Dev_Type\"" // ?<EFBFBD><EFBFBD><EFBFBD><EFBFBD>??<3F><>?? <20><>?<3F><>????? 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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user