增加调试打印输出

This commit is contained in:
2026-07-19 01:18:33 +08:00
parent f72d08328f
commit 1669cd216d
8 changed files with 196 additions and 87 deletions

View File

@@ -14,13 +14,15 @@
#include <string.h>
#include <stdio.h>
/*
* 调试输出配置
*/
#define DBG_TAG "[NET]"
#include "dbg_log.h"
/*
* 私有宏定义区
*/
#define TS_FMT() do { \
uint32_t _t = HAL_GetTick(); \
printf("[%lu.%03lu] ", _t / 1000UL, _t % 1000UL); \
} while(0)
/*
* 私有变量区
@@ -161,11 +163,10 @@ int net_poll(void)
if (int_status & CH395F_GINT_STAT_PHY_CHANGE)
{
uint8_t phy = ch395f_get_phy_status();
printf("[NET] PHY_CHANGE: 0x%02X\r\n", phy);
DBG_INFO("PHY_CHANGE: 0x%02X", phy);
if (phy == CH395F_PHY_DISCONN)
{
/* PHY 断开:所有活动 Socket 可能需要恢复 */
printf("[NET] PHY disconnected, sockets may need recovery\r\n");
DBG_ERROR("PHY disconnected, sockets may need recovery");
}
}
@@ -244,7 +245,7 @@ int net_poll(void)
{
s_last_dbg = now;
uint8_t int_level = (HAL_GPIO_ReadPin(CH395_INT_GPIO_Port, CH395_INT_Pin) == GPIO_PIN_RESET) ? 1 : 0;
printf("[NET] INT#=%d", int_level);
DBG_DEBUG("INT#=%d", int_level);
for (i = 0; i < NET_MAX_SOCKETS; i++)
{
if (g_net_socks[i].in_use)
@@ -252,10 +253,9 @@ int net_poll(void)
uint8_t st[2];
ch395f_get_socket_status((uint8_t)i, st);
uint16_t rl = ch395f_get_recv_len((uint8_t)i);
printf(" s%d:sw%d/tcp%d rl%d", i, st[0], st[1], rl);
DBG_DEBUG(" s%d:sw%d/tcp%d rl%d", i, st[0], st[1], rl);
}
}
printf("\r\n");
}
}
@@ -1023,7 +1023,7 @@ static void handle_connect_event(net_sock_t *sock)
/* CH395F 自动打开的数据 Socket多连接模式首次收到 CONNECT 中断 */
int sock_idx = (int)(sock - g_net_socks);
sock->ch395_sock = (uint8_t)sock_idx;
TS_FMT(); printf("[NET] sock%d AUTO-OPENED, CONNECTED\r\n", sock->ch395_sock);
DBG_INFO("sock%d AUTO-OPENED, CONNECTED", sock->ch395_sock);
uint8_t remote[6];
ch395f_get_remot_ipp(sock->ch395_sock, remote);
memcpy(sock->remote_ip_arr, remote, 4);
@@ -1060,7 +1060,7 @@ static void handle_connect_event(net_sock_t *sock)
else if (sock->state == NET_SOCK_STATE_TCP_ACCEPT)
{
/* 数据 Socket 被分配了连接 */
TS_FMT(); printf("[NET] data sock%d TCP_ACCEPT -> CONNECTED\r\n", sock->ch395_sock);
DBG_INFO("data sock%d TCP_ACCEPT -> CONNECTED", sock->ch395_sock);
uint8_t remote[6];
ch395f_get_remot_ipp(sock->ch395_sock, remote);
memcpy(sock->remote_ip_arr, remote, 4);
@@ -1086,13 +1086,12 @@ static void handle_disconnect_event(net_sock_t *sock)
{
if (sock->state == NET_SOCK_STATE_LISTENING)
{
/* 监听 Socket 收到断开通知(不应发生) */
printf("[NET] WARNING: listen sock%d got disconnect\r\n", sock->ch395_sock);
DBG_ERROR("WARNING: listen sock%d got disconnect", sock->ch395_sock);
}
else if (sock->state == NET_SOCK_STATE_ESTABLISHED)
{
/* CH395F 自动关闭了 Socket恢复为未使用状态 */
TS_FMT(); printf("[NET] sock%d DISCONNECTED, back to idle\r\n", sock->ch395_sock);
DBG_INFO("sock%d DISCONNECTED, back to idle", sock->ch395_sock);
memset(sock->remote_ip_arr, 0, 4);
sock->remote_port = 0;
sock->send_ready = 1;
@@ -1103,7 +1102,7 @@ static void handle_disconnect_event(net_sock_t *sock)
else
{
/* 未预期的断开 */
printf("[NET] sock%d disconnect in state %d\r\n", sock->ch395_sock, sock->state);
DBG_ERROR("sock%d disconnect in state %d", sock->ch395_sock, sock->state);
fire_event(sock, NET_EVENT_DISCONNECTED);
}
}
@@ -1139,13 +1138,13 @@ static void handle_timeout_event(net_sock_t *sock)
if (sock->state == NET_SOCK_STATE_CONNECTING)
{
/* TCP Client 连接超时 */
TS_FMT(); printf("[NET] sock%d CONNECT TIMEOUT\r\n", sock->ch395_sock);
DBG_ERROR("sock%d CONNECT TIMEOUT", sock->ch395_sock);
sock->state = NET_SOCK_STATE_CREATED;
}
else if (sock->state == NET_SOCK_STATE_ESTABLISHED)
{
/* 多连接模式:数据 Socket 超时,恢复为 TCP_ACCEPT 等待新连接 */
TS_FMT(); printf("[NET] sock%d TIMEOUT, back to ACCEPT\r\n", sock->ch395_sock);
DBG_INFO("sock%d TIMEOUT, back to ACCEPT", sock->ch395_sock);
memset(sock->remote_ip_arr, 0, 4);
sock->remote_port = 0;
sock->send_ready = 1;
@@ -1154,7 +1153,7 @@ static void handle_timeout_event(net_sock_t *sock)
else if (sock->state == NET_SOCK_STATE_LISTENING)
{
/* 监听超时(异常情况) */
printf("[NET] sock%d LISTEN TIMEOUT\r\n", sock->ch395_sock);
DBG_ERROR("sock%d LISTEN TIMEOUT", sock->ch395_sock);
}
fire_event(sock, NET_EVENT_TIMEOUT);