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:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user