forked from gatsby/df_datalink
feat: 增加有效业务收发链路层计数,调整自检回令
This commit is contained in:
@@ -95,6 +95,8 @@ typedef struct
|
|||||||
int64_t timeDev; ///< last time deviation estimation result
|
int64_t timeDev; ///< last time deviation estimation result
|
||||||
uint32_t reconnectCnt; ///< reconnect trial count
|
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 rxLog;
|
||||||
L2_MSG_RECORD txLog;
|
L2_MSG_RECORD txLog;
|
||||||
} L2_LOG;
|
} L2_LOG;
|
||||||
|
|||||||
@@ -211,13 +211,14 @@ static int32_t Service_Packing128K(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// message->common.dst = sendPayload->nodeId;
|
|
||||||
message->dataId = sendPayload->dataId;
|
message->dataId = sendPayload->dataId;
|
||||||
message->dataLen = sendPayload->dataLen;
|
message->dataLen = sendPayload->dataLen;
|
||||||
memset(message->data, 0xAA, maxDataLen);
|
memset(message->data, 0xAA, maxDataLen);
|
||||||
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
||||||
maxDataLen : sendPayload->dataLen);
|
maxDataLen : sendPayload->dataLen);
|
||||||
free(sendPayload);
|
free(sendPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.txValidMsgCnt++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -289,13 +290,14 @@ static int32_t Service_Packing512K(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// message->common.dst = sendPayload->nodeId;
|
|
||||||
message->dataId = sendPayload->dataId;
|
message->dataId = sendPayload->dataId;
|
||||||
message->dataLen = sendPayload->dataLen;
|
message->dataLen = sendPayload->dataLen;
|
||||||
memset(message->data, 0xAA, maxDataLen);
|
memset(message->data, 0xAA, maxDataLen);
|
||||||
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
||||||
maxDataLen : sendPayload->dataLen);
|
maxDataLen : sendPayload->dataLen);
|
||||||
free(sendPayload);
|
free(sendPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.txValidMsgCnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Append CRC
|
// Append CRC
|
||||||
@@ -359,13 +361,14 @@ static int32_t Service_Packing2M(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t d
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// message->common.dst = sendPayload->nodeId;
|
|
||||||
message->dataId = sendPayload->dataId;
|
message->dataId = sendPayload->dataId;
|
||||||
message->dataLen = sendPayload->dataLen;
|
message->dataLen = sendPayload->dataLen;
|
||||||
memset(message->data, 0xAA, maxDataLen);
|
memset(message->data, 0xAA, maxDataLen);
|
||||||
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
memcpy(message->data, sendPayload->data, (sendPayload->dataLen > maxDataLen) ?
|
||||||
maxDataLen : sendPayload->dataLen);
|
maxDataLen : sendPayload->dataLen);
|
||||||
free(sendPayload);
|
free(sendPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.txValidMsgCnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Append CRC
|
// Append CRC
|
||||||
@@ -542,6 +545,8 @@ static int32_t Service_PktHandler128K(L2_INST *instPtr, uint8_t *msg)
|
|||||||
memcpy(recvPayload->data, message->data, message->dataLen);
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(recvPayload);
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
free(recvPayload);
|
free(recvPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.rxValidMsgCnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
@@ -631,6 +636,8 @@ static int32_t Service_PktHandler512K(L2_INST *instPtr, uint8_t *msg)
|
|||||||
memcpy(recvPayload->data, message->data, message->dataLen);
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(recvPayload);
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
free(recvPayload);
|
free(recvPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.rxValidMsgCnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
@@ -720,6 +727,8 @@ static int32_t Service_PktHandler2M(L2_INST *instPtr, uint8_t *msg)
|
|||||||
memcpy(recvPayload->data, message->data, message->dataLen);
|
memcpy(recvPayload->data, message->data, message->dataLen);
|
||||||
SysMonitor_GenRecvRsp(recvPayload);
|
SysMonitor_GenRecvRsp(recvPayload);
|
||||||
free(recvPayload);
|
free(recvPayload);
|
||||||
|
// logging
|
||||||
|
instPtr->log.rxValidMsgCnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logging...
|
// Logging...
|
||||||
|
|||||||
@@ -1036,9 +1036,10 @@ void Phy_RefreshHwSate(PHY_INST *instPtr)
|
|||||||
? INT8_MAX
|
? INT8_MAX
|
||||||
: ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB));
|
: ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB));
|
||||||
// FIXME: XADC range needs further refine
|
// 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.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.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.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
|
#else
|
||||||
double evalData;
|
double evalData;
|
||||||
instPtr->hwSate.isSpOk = true;
|
instPtr->hwSate.isSpOk = true;
|
||||||
@@ -1120,10 +1121,9 @@ void Phy_RefreshHwSate(PHY_INST *instPtr)
|
|||||||
? INT8_MAX
|
? INT8_MAX
|
||||||
: ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB));
|
: ((evalData < TEMPERATURE_MIN) ? INT8_MIN : (int8_t)round(evalData / TEMPERATURE_LSB));
|
||||||
// FIXME: XADC readback is required
|
// 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.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.spAdLockState == (CLK_AD0_BBPLL_LOCK | CLK_AD0_RFPLL_LOCK | CLK_AD1_BBPLL_LOCK | CLK_AD1_RFPLL_LOCK));
|
&& (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.spAdLockState == (CLK_AD0_BBPLL_LOCK | CLK_AD0_RFPLL_LOCK | CLK_AD1_BBPLL_LOCK | CLK_AD1_RFPLL_LOCK));
|
&& (instPtr->hwSate.spAdLockState == (CLK_AD0_BBPLL_LOCK | CLK_AD0_RFPLL_LOCK | CLK_AD1_BBPLL_LOCK | CLK_AD1_RFPLL_LOCK));
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user