refactor(GateWay): 重构ETH通信状态机并调整测试配置
1. 将MAC_ADDR_TYPE从9改为0,使用测试MAC地址配置 2. 移除硬编码的服务器地址和端口默认值 3. 新增ETH状态机管理,完善链路检测、重连和收发逻辑 4. 添加一系列ETH通信超时、重试相关的宏定义 5. 新增调试观察窗口配置
This commit is contained in:
@@ -14,6 +14,15 @@
|
||||
|
||||
#define CAT_ONE_DELAY_1MS(X)
|
||||
|
||||
// ETH状态机相关宏定义
|
||||
#define ETH_RESET_DELAY_TIME_MAX (5 * 60 * 1000)
|
||||
#define ETH_LINK_WAIT_TIME_MAX (10 * 1000)
|
||||
#define ETH_REG_TIMEOUT_MAX (30 * 1000)
|
||||
#define ETH_SEND_TIMEOUT_MAX (5 * 1000)
|
||||
#define ETH_RECV_TIMEOUT_MAX (60 * 1000)
|
||||
#define ETH_SEND_RETRY_MAX 3
|
||||
#define ETH_FIRST_REG_DELAY (5 * 1000)
|
||||
|
||||
typedef enum {
|
||||
CAT_ONE_AT_NULL,
|
||||
CAT_ONE_AT, //开机检测
|
||||
@@ -49,6 +58,17 @@ typedef enum {
|
||||
CAT_ONE_CLOSE_TCP,
|
||||
}CatOneStatus_m;
|
||||
|
||||
typedef enum {
|
||||
ETH_IDEL,
|
||||
ETH_RESET,
|
||||
ETH_WAIT_LINK,
|
||||
ETH_REG_SVR,
|
||||
ETH_WAIT_SEND,
|
||||
ETH_SEND_DATA,
|
||||
ETH_WAIT_RECV,
|
||||
ETH_OFF,
|
||||
}EthStatus_m;
|
||||
|
||||
typedef enum {
|
||||
CAT_ONE_RET_NULL,
|
||||
CAT_ONE_RET_OK,
|
||||
@@ -90,6 +110,14 @@ typedef struct {
|
||||
|
||||
GateWayPara GateWay;
|
||||
DataRevCallBack CatOneRevCallBack;
|
||||
|
||||
// ETH状态机相关字段
|
||||
EthStatus_m EthStatus;
|
||||
uint32_t EthResetDelayCnt;
|
||||
uint32_t EthLinkWaitCnt;
|
||||
uint32_t EthRecvTimeoutCnt;
|
||||
uint8_t EthSendRetryCnt;
|
||||
bool EthFirstRegFlag;
|
||||
}CatOne_t, *pCatOne_t;
|
||||
|
||||
CatOneRetStatus_m CatOneSend(uint8_t *sData, uint16_t sLen);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#define SOFTWARE_VERSION 12
|
||||
#define HARDWARE_VERSION 12
|
||||
|
||||
#define MAC_ADDR_TYPE 9//0为测试服务器
|
||||
#define MAC_ADDR_TYPE 0//0为测试服务器
|
||||
|
||||
extern bool MainDispEn;
|
||||
#define MAIN_DBG_LOG(...) { if(MainDispEn) Debug_Printf(__VA_ARGS__);}
|
||||
|
||||
Reference in New Issue
Block a user