From 626a486945acfd6b7be082822c4476c7ee3c21a8 Mon Sep 17 00:00:00 2001 From: YuanHongbin <975559679@qq.com> Date: Mon, 15 Jun 2026 18:38:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(debug):=20=E6=96=B0=E5=A2=9E=20up=20?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=BD=91=E5=85=B3=E7=8A=B6=E6=80=81=E5=92=8C?= =?UTF-8?q?=20reg=20=E9=87=8D=E6=96=B0=E6=B3=A8=E5=86=8C=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project/GateWay/source/Module/GateWay_Debug | 2 +- Project/GateWay/source/User/Inc/CatOneTask.h | 4 +- Project/GateWay/source/User/Src/CatOneTask.c | 72 +++++++++++--------- Project/GateWay/source/User/Src/Public.c | 4 +- 4 files changed, 47 insertions(+), 35 deletions(-) diff --git a/Project/GateWay/source/Module/GateWay_Debug b/Project/GateWay/source/Module/GateWay_Debug index 765fe78..cc6352a 160000 --- a/Project/GateWay/source/Module/GateWay_Debug +++ b/Project/GateWay/source/Module/GateWay_Debug @@ -1 +1 @@ -Subproject commit 765fe784f23862f53303dbfcb386d091d744853d +Subproject commit cc6352a3de3e3cc429e5696387bafac41542c122 diff --git a/Project/GateWay/source/User/Inc/CatOneTask.h b/Project/GateWay/source/User/Inc/CatOneTask.h index 55102e9..3e00414 100644 --- a/Project/GateWay/source/User/Inc/CatOneTask.h +++ b/Project/GateWay/source/User/Inc/CatOneTask.h @@ -87,7 +87,7 @@ typedef enum { }CatOneNetType_m; typedef struct { - CatOneStatus_m Status; + CatOneStatus_m Cat1Status; CatOneStatus_m NextStatus; CatOneRetStatus_m ATCmdRet; uint32_t CatOne1mSDelayCnt; @@ -131,6 +131,8 @@ void CatOneGetLocationInfo(int *Longitude, int *Latitude); void CatOneGetIMEIAndSIM(char *Imei, char *Sim); bool CatOneGetStatus(void); bool CatOneEthSendQueue(uint8_t *sData, uint16_t sLen); +void CatOneTriggerRegister(void); +void ETHTriggerRegister(void); void CatOne_Eth_Thread_Entry(void *parameter); void EthRxOverhandler(void); void CatReadImeiOrSim(char *Imei, char *Sim); diff --git a/Project/GateWay/source/User/Src/CatOneTask.c b/Project/GateWay/source/User/Src/CatOneTask.c index 2e5f26b..213ba9c 100644 --- a/Project/GateWay/source/User/Src/CatOneTask.c +++ b/Project/GateWay/source/User/Src/CatOneTask.c @@ -100,10 +100,10 @@ const CatOneATCMD_m CatOneModeSetCmdArray[] = { //{ // rt_err_t result; // -// if(CatOne.Status != CAT_ONE_IDEL && CatOne.Status != CAT_ONE_WAIT_SEND) +// if(CatOne.Cat1Status != CAT_ONE_IDEL && CatOne.Cat1Status != CAT_ONE_WAIT_SEND) // return CAT_ONE_RET_ERR; // -// //CatOne.Status = CAT_ONE_RESET; +// //CatOne.Cat1Status = CAT_ONE_RESET; // result = rt_mq_send(CatOneRev_MQ, sData, sLen); // if(result != RT_EOK) { // CAT1_DBG_LOG("CatOne MQ Send ERR...\r\n"); @@ -115,7 +115,7 @@ const CatOneATCMD_m CatOneModeSetCmdArray[] = { void CatOneStop(void) { - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; } void ETHStop(void) @@ -149,14 +149,14 @@ void CatOneGetIMEIAndSIM(char *Imei, char *Sim) //返回true-busy, false-Idle bool CatOneGetStatus(void) { - if(CatOne.Status == CAT_ONE_IDEL) + if(CatOne.Cat1Status == CAT_ONE_IDEL) return false; return true; } void CatOneReset(void) { - CatOne.Status = CAT_ONE_RESET; + CatOne.Cat1Status = CAT_ONE_RESET; } void CatTimeSync(char *Data) @@ -272,7 +272,7 @@ void CatOneAtCmdAnalyze(char *RxBuff) case CAT_ONE_LIPOPEN: if(strstr(RxBuff, "OK") != NULL) { - CatOne.Status = CatOne.NextStatus; + CatOne.Cat1Status = CatOne.NextStatus; CatOne.CatOne1mSDelayCnt = 10 * 1000; return; } @@ -280,13 +280,13 @@ void CatOneAtCmdAnalyze(char *RxBuff) if(strstr(RxBuff, "LIPOPEN: 0,1") != NULL) { CAT1_DBG_LOG("Cat1 successfully to connect to the server.\r\n\r\n"); CatOne.TcpConnFlag = true; - CatOne.Status = CatOne.NextStatus; + CatOne.Cat1Status = CatOne.NextStatus; rt_sem_release(CatOneRev_Sem); } else if(strstr(RxBuff, "LIPOPEN: 0,0") != NULL) { CAT1_DBG_LOG("Cat1 failed to connect to the server.\r\n\r\n"); CatOne.TcpConnFlag = false; - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; } return; } @@ -338,7 +338,7 @@ void CatOneAtCmdAnalyze(char *RxBuff) if(strstr(p, "+LIPURC: 0,0") != NULL) { CAT1_DBG_LOG("TCP connection disconnected.\r\n\r\n"); CatOne.TcpConnFlag = false; - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; return; } @@ -354,7 +354,7 @@ void CatOneAtCmdAnalyze(char *RxBuff) else { return; } - //CatOne.Status = CAT_ONE_CLOSE_TCP; + //CatOne.Cat1Status = CAT_ONE_CLOSE_TCP; rt_sem_release(CatOneRev_Sem);//接收任务 return; } @@ -363,7 +363,7 @@ void CatOneAtCmdAnalyze(char *RxBuff) } if(CatOne.ATCmdRet == CAT_ONE_RET_OK) { - CatOne.Status = CatOne.NextStatus; + CatOne.Cat1Status = CatOne.NextStatus; if(CatOne.AtCmd == CAT_ONE_LIPSEND) CatOne.CatOne1mSDelayCnt = 5 * 1000; else @@ -396,7 +396,7 @@ void CatOneAtCmdSend(CatOneATCMD_m Cmd, uint32_t Dly, CatOneStatus_m NextStatus) EthRevTimeOutCnt = 0; EthOrCat1UartSend((uint8_t *)CatOne.CatOneSendBuff, strlen(CatOne.CatOneSendBuff)); CatOne.CatOne1mSDelayCnt = Dly; - CatOne.Status = CAT_ONE_WAIT_REV; + CatOne.Cat1Status = CAT_ONE_WAIT_REV; CatOne.NextStatus = NextStatus; } @@ -440,14 +440,14 @@ void CatOneLoopHandler(void) uint16_t ret; static uint8_t Cat1RevErrCnt = 0; - switch(CatOne.Status){ + switch(CatOne.Cat1Status){ case CAT_ONE_IDEL: rt_thread_delay(1); if(CatOne.ResetDelayCnt > 0) { CatOne.ResetDelayCnt--; } else { - CatOne.Status = CAT_ONE_RESET; + CatOne.Cat1Status = CAT_ONE_RESET; } break; @@ -462,9 +462,9 @@ void CatOneLoopHandler(void) else { //3次错误,关机 CAT1_DBG_LOG("Cat1 error, Close!\r\n"); if(CatOne.AtCmd == CAT_ONE_LIPSEND) - CatOne.Status = CAT_ONE_CLOSE_TCP; + CatOne.Cat1Status = CAT_ONE_CLOSE_TCP; else - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; } } break; @@ -479,7 +479,7 @@ void CatOneLoopHandler(void) CatOneAtCmdSend(CatOneModeSetCmdArray[CatOne.AtCmdIdx], 1000, CAT_ONE_INIT); } else { - CatOne.Status = CAT_ONE_TCP_CONN; + CatOne.Cat1Status = CAT_ONE_TCP_CONN; CatOne.CatOne1mSDelayCnt = 0; CatOne.AtCmdIdx = 0; CatOne.AtCmd = CAT_ONE_AT_NULL; @@ -493,39 +493,39 @@ void CatOneLoopHandler(void) case CAT_ONE_WAIT_CONN: if(CatOne.TcpConnFlag) { if(CatOne.GateWay->SvrRegFlag == false) - CatOne.Status = CAT_ONE_REG_SVR; + CatOne.Cat1Status = CAT_ONE_REG_SVR; else - CatOne.Status = CAT_ONE_WAIT_SEND; + CatOne.Cat1Status = CAT_ONE_WAIT_SEND; } break; case CAT_ONE_REG_SVR: //注册服务器 ret = GateWayRegister(CatOneEthTxBuff); rt_mq_send(CatOne.GateWay->NetSendData_MQ, CatOneEthTxBuff, ret); - CatOne.Status = CAT_ONE_WAIT_SEND; + CatOne.Cat1Status = CAT_ONE_WAIT_SEND; break; case CAT_ONE_WAIT_SEND: result = rt_mq_recv(CatOne.GateWay->NetSendData_MQ, Payload, CAT_ONE_REV_LEN_MAX, 1000); if(result == RT_EOK) { CatOneEthTxLen = NetCommOrgData(CatOne.GateWay, Payload, CatOneEthTxBuff); - CatOne.Status = CAT_ONE_SEND_DATA; + CatOne.Cat1Status = CAT_ONE_SEND_DATA; } else { - if(CatOne.Status == CAT_ONE_RESET || CatOne.Status == CAT_ONE_OFF) //外部命令执行,状态改变 + if(CatOne.Cat1Status == CAT_ONE_RESET || CatOne.Cat1Status == CAT_ONE_OFF) //外部命令执行,状态改变 return; if(!CatOne.TcpConnFlag) { - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; } else { CatSendErrCnt++; if(CatSendErrCnt > CAT1_ERR_RESET_DLY_MAX) { - CatOne.Status = CAT_ONE_RESET; + CatOne.Cat1Status = CAT_ONE_RESET; CAT1_DBG_LOG("Cat1 has no data for a long time, Reset!\r\n"); CatSendErrCnt = 0; break; } - CatOne.Status = CAT_ONE_WAIT_SEND; + CatOne.Cat1Status = CAT_ONE_WAIT_SEND; } } break; @@ -534,7 +534,7 @@ void CatOneLoopHandler(void) CatOne.AtCmdResendCnt = 3; Cat1RevErrCnt++; if(Cat1RevErrCnt > 10) { - CatOne.Status = CAT_ONE_RESET; + CatOne.Cat1Status = CAT_ONE_RESET; CAT1_DBG_LOG("Cat1 has no receive data for a long time, Reset!\r\n"); Cat1RevErrCnt = 0; break; @@ -554,9 +554,9 @@ void CatOneLoopHandler(void) Cat1RevErrCnt = 0; } if(CatOne.GateWay->SvrRegFlag == false) //设备没注册,关闭4G,等待下一次重新注册 - CatOne.Status = CAT_ONE_OFF; + CatOne.Cat1Status = CAT_ONE_OFF; else - CatOne.Status = CAT_ONE_WAIT_SEND; + CatOne.Cat1Status = CAT_ONE_WAIT_SEND; break; case CAT_ONE_CLOSE_TCP: @@ -572,7 +572,7 @@ void CatOneLoopHandler(void) CAT1_PWR_KEY_SET(); CatSendErrCnt = 0; CAT1_DBG_LOG("Cat1 Power Off!\r\n"); - CatOne.Status = CAT_ONE_IDEL; + CatOne.Cat1Status = CAT_ONE_IDEL; CatOne.ResetDelayCnt = CATONE_RESET_DELAY_TIME_MAX; break; @@ -587,7 +587,7 @@ void CatOneLoopHandler(void) CAT1_PWR_KEY_CLR(); rt_thread_delay(1000); CAT1_PWR_KEY_SET(); - CatOne.Status = CAT_ONE_INIT; + CatOne.Cat1Status = CAT_ONE_INIT; CatOne.AtCmdIdx = 0; rt_thread_delay(1000); CatOne.GateWay->BatteryReadDlyCnt = 60; @@ -750,7 +750,7 @@ bool CatOneEthSendQueue(uint8_t *sData, uint16_t sLen) static void CatOneInit(GateWayPara GateWay) { memset(&CatOne, 0x00, sizeof(CatOne_t)); - CatOne.Status = CAT_ONE_RESET; + CatOne.Cat1Status = CAT_ONE_RESET; CatOne.GateWay = GateWay; CatOne.CatOneRevCallBack = GateWay->SvrRevCallBack; } @@ -878,3 +878,13 @@ void CatReadImeiOrSim(char *Imei, char *Sim) Sim[20] = 0x00; } } + +void CatOneTriggerRegister(void) +{ + CatOne.Cat1Status = CAT_ONE_REG_SVR; +} + +void ETHTriggerRegister(void) +{ + CatOne.EthStatus = ETH_REG_SVR; +} diff --git a/Project/GateWay/source/User/Src/Public.c b/Project/GateWay/source/User/Src/Public.c index c192d9c..b5d5b7f 100644 --- a/Project/GateWay/source/User/Src/Public.c +++ b/Project/GateWay/source/User/Src/Public.c @@ -280,8 +280,8 @@ void CommUnitCmdSend(GateWayPara GateWay, uint8_t *CommUnitMac, CommUnitCmd_m Cm /***************************************************************************************** * 函数名称: CommUintOrgData * 功能描述: 上传传感器数据函数 -* 参 数: GWMac,网关mac地址 - CUPara, 通讯单元参数 +* 参 数: CUPara, 通讯单元参数 + CUData, 通讯单元数据 sData, 数据入口 * 返 回 值: 数据长度 *****************************************************************************************/