From 75cf7feedc60442310af4bf1e5c47b50b8656622 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Tue, 26 Aug 2025 15:26:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=9C=89=E6=95=88?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=94=B6=E5=8F=91=E9=93=BE=E8=B7=AF=E5=B1=82?= =?UTF-8?q?=E8=AE=A1=E6=95=B0,=E8=B0=83=E6=95=B4=E8=87=AA=E6=A3=80?= =?UTF-8?q?=E5=9B=9E=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/networking/link_layer/link_layer.h | 2 ++ src/networking/link_layer/service.c | 15 ++++++++++++--- src/networking/phy_layer/phy_layer.c | 14 +++++++------- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/networking/link_layer/link_layer.h b/src/networking/link_layer/link_layer.h index 58415cb..a4db696 100644 --- a/src/networking/link_layer/link_layer.h +++ b/src/networking/link_layer/link_layer.h @@ -95,6 +95,8 @@ typedef struct int64_t timeDev; ///< last time deviation estimation result uint32_t reconnectCnt; ///< reconnect trial count + uint32_t txValidMsgCnt; ///< non-default tx message count + uint32_t rxValidMsgCnt; ///< non-default rx message count L2_MSG_RECORD rxLog; L2_MSG_RECORD txLog; } L2_LOG; diff --git a/src/networking/link_layer/service.c b/src/networking/link_layer/service.c index 4596cdc..15fa3af 100644 --- a/src/networking/link_layer/service.c +++ b/src/networking/link_layer/service.c @@ -211,13 +211,14 @@ static int32_t Service_Packing128K(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t } else { - // message->common.dst = sendPayload->nodeId; message->dataId = sendPayload->dataId; message->dataLen = sendPayload->dataLen; memset(message->data, 0xAA, maxDataLen); memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ? maxDataLen : sendPayload->dataLen); free(sendPayload); + // logging + instPtr->log.txValidMsgCnt++; } } else @@ -289,13 +290,14 @@ static int32_t Service_Packing512K(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t } else { - // message->common.dst = sendPayload->nodeId; message->dataId = sendPayload->dataId; message->dataLen = sendPayload->dataLen; memset(message->data, 0xAA, maxDataLen); memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ? maxDataLen : sendPayload->dataLen); free(sendPayload); + // logging + instPtr->log.txValidMsgCnt++; } // Append CRC @@ -359,13 +361,14 @@ static int32_t Service_Packing2M(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t d } else { - // message->common.dst = sendPayload->nodeId; message->dataId = sendPayload->dataId; message->dataLen = sendPayload->dataLen; memset(message->data, 0xAA, maxDataLen); memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ? maxDataLen : sendPayload->dataLen); free(sendPayload); + // logging + instPtr->log.txValidMsgCnt++; } // Append CRC @@ -542,6 +545,8 @@ static int32_t Service_PktHandler128K(L2_INST *instPtr, uint8_t *msg) memcpy(recvPayload->data, message->data, message->dataLen); SysMonitor_GenRecvRsp(recvPayload); free(recvPayload); + // logging + instPtr->log.rxValidMsgCnt++; } // Logging... @@ -631,6 +636,8 @@ static int32_t Service_PktHandler512K(L2_INST *instPtr, uint8_t *msg) memcpy(recvPayload->data, message->data, message->dataLen); SysMonitor_GenRecvRsp(recvPayload); free(recvPayload); + // logging + instPtr->log.rxValidMsgCnt++; } // Logging... @@ -720,6 +727,8 @@ static int32_t Service_PktHandler2M(L2_INST *instPtr, uint8_t *msg) memcpy(recvPayload->data, message->data, message->dataLen); SysMonitor_GenRecvRsp(recvPayload); free(recvPayload); + // logging + instPtr->log.rxValidMsgCnt++; } // Logging... diff --git a/src/networking/phy_layer/phy_layer.c b/src/networking/phy_layer/phy_layer.c index d7787f3..e65abea 100644 --- a/src/networking/phy_layer/phy_layer.c +++ b/src/networking/phy_layer/phy_layer.c @@ -1036,9 +1036,10 @@ void Phy_RefreshHwSate(PHY_INST *instPtr) ? INT8_MAX : ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB)); // FIXME: XADC range needs further refine -// instPtr->hwSate.isSpOk = (instPtr->hwSate.spFpgaVolt == (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK)) -// && (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)); - instPtr->hwSate.isSpOk = (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)); + instPtr->hwSate.spFpgaVolt = (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK); + instPtr->hwSate.spClkState = (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK); + instPtr->hwSate.isSpOk = (instPtr->hwSate.spFpgaVolt == (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK)) + && (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)); #else double evalData; instPtr->hwSate.isSpOk = true; @@ -1120,10 +1121,9 @@ void Phy_RefreshHwSate(PHY_INST *instPtr) ? INT8_MAX : ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB)); // FIXME: XADC readback is required -// instPtr->hwSate.isSpOk = (instPtr->hwSate.spFpgaVolt == (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK)) -// && (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)) -// && (instPtr->hwSate.spAdLockState == (CLK_AD0_BBPLL_LOCK | CLK_AD0_RFPLL_LOCK | CLK_AD1_BBPLL_LOCK | CLK_AD1_RFPLL_LOCK)); - instPtr->hwSate.isSpOk = (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)) + instPtr->hwSate.spFpgaVolt = (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK); + instPtr->hwSate.isSpOk = (instPtr->hwSate.spFpgaVolt == (VOLT_PS_OK | VOLT_PSAUX_OK | VOLT_DDR_OK | VOLT_PL_OK | VOLT_PLAUX_OK | VOLT_BRAM_OK)) + && (instPtr->hwSate.spClkState == (CLK_SP_PLL1_LOCK | CLK_SP_PLL2_LOCK)) && (instPtr->hwSate.spAdLockState == (CLK_AD0_BBPLL_LOCK | CLK_AD0_RFPLL_LOCK | CLK_AD1_BBPLL_LOCK | CLK_AD1_RFPLL_LOCK)); #endif #else