refactor(vd960DBN): replace compile-time NET_SSC/NET_JSON/NET_IOT macros with runtime g_sub_code_enable.iot_enable

- Remove NET_SSC_ENABLE, NET_JSON_ENABLE, NET_IOT_ENABLE from net_config.h
- Socket config always allocates max: 1 UDP + 2 TCP + 1 TCP_LISTEN
- All #if guards in net_srv.c/h and peripheral_main.c replaced with
  runtime g_sub_code_enable.iot_enable checks
- iot_enable=0 -> SSC mode (UDP + TCP client + JSON server)
- iot_enable=1 -> IoT MQTT mode (MQTT client via iot_mqtt_srv)
This commit is contained in:
wangfq
2026-07-03 18:07:32 +08:00
parent 9629729dc9
commit 5333fe40de
5 changed files with 35 additions and 101 deletions
@@ -18,9 +18,7 @@
#include "cmcng.h"
#include "simple_json.h"
#include "tcp_json_srv.h"
#if NET_IOT_ENABLE
#include "iot_mqtt_srv.h"
#endif
uint32_t slen;
@@ -58,8 +56,6 @@ 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 ;
uint8_t socket[WCHNET_MAX_SOCKET_NUM]; //Save the currently connected socket
@@ -86,8 +82,6 @@ void clear_mqtt_buf(void)
memset(mqttBuf, 0, MAX_MQTTBUF_LEN);
}
#endif /* NET_SSC_ENABLE */
/*********************************************************************
* @fn mStopIfError
*
@@ -103,8 +97,6 @@ void mStopIfError(u8 iError)
printf("Error: 0x%02X\r\n", (u16)iError);
}
#if NET_SSC_ENABLE
void mqtt_connect(void)
{
int len = 0;
@@ -470,8 +462,6 @@ void WCHNET_DataManage(uint8_t id)
}
#endif /* NET_SSC_ENABLE */
@@ -487,15 +477,21 @@ void WCHNET_DataManage(uint8_t id)
*/
void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
{
#if NET_SSC_ENABLE
uint8_t i;
uint8_t i;
// Route JSON protocol socket events (both TCP + TCP_LISTEN internal)
// Route JSON protocol socket events -- always active regardless of mode
if (socketid == g_json_socket_listen || socketid == (g_json_socket_listen + 1)) {
tcp_json_handle_sock_int(socketid, intstat);
return;
}
// IoT MQTT mode -- route to MQTT handler
if (g_sub_code_enable.iot_enable) {
iot_mqtt_handle_sock_int(socketid, intstat);
return;
}
// === SSC mode below ===
g_net_state.intstat = intstat;
if (intstat & SINT_STAT_RECV) //receive data
@@ -513,48 +509,24 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
PRINT("TCP Connect Success\r\n");
PRINT("socket id: %d\r\n", socketid);
}
// if(g_sub_code_enable.iot_enable){
// mqtt_connect();
// }
}
if (intstat & SINT_STAT_DISCONNECT) //disconnect
{
{
PRINT("TCP Disconnect\r\n");
}
// WCHNET_SocketClose(socketid, 0);
g_net_state.flag = 1;
}
if (intstat & SINT_STAT_TIM_OUT) //timeout disconnect
{
// for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) { //delete disconnected socket id
// if (socket[i] == socketid) {
// socket[i] = 0xff;
// break;
// }
// }
// if(g_flag_debug)
{
PRINT("TCP Timeout\r\n");
}
// WCHNET_SocketClose(socketid, 0);
g_net_state.flag = 1;
// WCHNET_CreateTcpSocket();
}
#else /* !NET_SSC_ENABLE */
#if NET_IOT_ENABLE
/* IoT MQTT mode — route MQTT socket, JSON server not active */
iot_mqtt_handle_sock_int(socketid, intstat);
#else
tcp_json_handle_sock_int(socketid, intstat);
#endif
#endif
}
#if NET_SSC_ENABLE
void dbn_net_ssc_srv(void)
{
uint8_t _flag_timestamp = 0;
@@ -615,8 +587,6 @@ void poll_mqtt(void)
}
}
#endif /* NET_SSC_ENABLE */
/*******************************************************************************
* Function Name : GetMacAddr
@@ -672,8 +642,6 @@ int get_ipstr_to_array(char *src, uint8_t *dst) {
}
#if NET_SSC_ENABLE
void unpack_ssc_count_off(uint8_t socket,uint8_t count_mode, uint8_t *ip, uint16_t port, uint8_t *buf, uint32_t len)
{
uint16_t i,j;
@@ -1047,8 +1015,6 @@ void manage_mqtt_recv_message(char * msg, int length)
}
}
#endif /* NET_SSC_ENABLE */
@@ -1118,9 +1084,7 @@ void net_srv_init(void)
WCHNET_ConfigKeepLive(&cfg);
}
#endif
#if NET_SSC_ENABLE
memset(socket, 0xff, WCHNET_MAX_SOCKET_NUM);
#endif
}
@@ -1128,17 +1092,15 @@ void net_srv_init(void)
if(g_net_state.flag == 1)
{
#if NET_SSC_ENABLE
WCHNET_CreateUdpSocket();
#endif
#if NET_IOT_ENABLE
iot_mqtt_init(); // Init IoT MQTT client (connect to broker)
#else
tcp_json_srv_init(); // Start JSON protocol TCP listener on port 5960
#endif
#if !NET_SSC_ENABLE
g_net_state.flag = 2; // Skip SSC init, advance state directly
#endif
if (g_sub_code_enable.iot_enable) {
/* IoT MQTT mode -- init MQTT client, skip UDP */
iot_mqtt_init(); // Init IoT MQTT client (connect to broker)
g_net_state.flag = 2; // Skip SSC init, advance state directly
} else {
/* SSC mode -- create UDP socket + JSON server */
WCHNET_CreateUdpSocket();
tcp_json_srv_init(); // Start JSON protocol TCP listener on port 5960
}
}