add logging module.

This commit is contained in:
Gatsby Van
2023-12-26 21:51:28 +08:00
parent 7071b5bf33
commit 10fbdc78a6
2 changed files with 98 additions and 32 deletions
+65 -32
View File
@@ -281,17 +281,6 @@ inline void L2_RcdShift(L2_RCD* rcd, int32_t netxVal) {
* @return NONE.
*
******************************************************************************/
// FIXME: Only for test
int w2AcqRecvCnt = 0;
int w2AcqRecvSuccessCnt = 0;
int mgmtRecvCnt = 0;
int mgmtRecvSuccessCnt = 0;
int tsyncRecvCnt = 0;
int tsyncRecvSuccessCnt = 0;
int svcRecvCnt = 0;
int svcRecvSuccessCnt = 0;
int recvCnt = 0;
int frameLen = 0;
void L2_FrameStateUpdate(L2_INST* instPtr) {
ASSERT(instPtr != NULL);
PHY_INST* phyRef = instPtr->config.phyInstPtr;
@@ -304,58 +293,51 @@ void L2_FrameStateUpdate(L2_INST* instPtr) {
DBG_INFO("A frame received, checking data validation...\n");
DBG_INFO("Last frame type is: %u.\n", instPtr->frame.last);
Phy_RetrieveRecvData(phyRef, instPtr->recvPktData);
instPtr->log.frameRecv++;
switch (instPtr->frame.last) {
case L2_INTRA_SCAN_FRAME:
// INTRA_BM_FRAME could be received if current frame type is INTRA_BM_FRAME
case L2_INTRA_BM_FRAME:
instPtr->log.bmRecvCnt++;
if (L2_CrcCheck(instPtr->recvPktData, BM_MSG_CRC_OFFSET / 8,
BM_MSG_CRC_OFFSET / 8, L2_CRC8_31) == true) {
L2_DataAvailUpdate(instPtr, true);
instPtr->log.bmCorrectCnt++;
}
else {
L2_DataAvailUpdate(instPtr, false);
}
break;
case L2_INTRA_W2_ACQ_FRAME:
// FIXME: Only for test
w2AcqRecvCnt++;
instPtr->log.mgmtRecvCnt++;
if (L2_CrcCheck(instPtr->recvPktData,
W2ACQ_FRAME_CRC_DLEN, W2ACQ_FRAME_CRC_POS,
L2_CRC16_8005) == true) {
L2_DataAvailUpdate(instPtr, true);
// FIXME: Only for test
w2AcqRecvSuccessCnt++;
instPtr->log.mgmtCorrectCnt++;
}
else {
L2_DataAvailUpdate(instPtr, false);
}
break;
case L2_INTRA_MGMT_FRAME:
// FIXME: Only for test
mgmtRecvCnt++;
recvCnt ++ ;
instPtr->log.mgmtRecvCnt++;
L2_DataAvailUpdate(instPtr, true);
// FIXME: Only for test
mgmtRecvSuccessCnt ++;
instPtr->log.mgmtCorrectCnt++;
break;
case L2_INTRA_TSYNC_FRAME:
// FIXME: Only for test
tsyncRecvCnt++;
recvCnt ++ ;
instPtr->log.tsyncRecvCnt++;
L2_DataAvailUpdate(instPtr, true);
// FIXME: Only for test
tsyncRecvSuccessCnt ++;
instPtr->log.tsyncCorrectCnt++;
break;
case L2_INTRA_SVC_FRAME:
// FIXME: Only for test
svcRecvCnt++;
recvCnt ++ ;
instPtr->log.svcRecvCnt++;
if (L2_CrcCheck(instPtr->recvPktData,
PDUH0_HEADER_CRC_OFFSET/8, PDUH0_HEADER_CRC_OFFSET/8,
L2_CRC8_31) == true) {
L2_DataAvailUpdate(instPtr, true);
// FIXME: Only for test
svcRecvSuccessCnt++;
instPtr->log.svcCorrectCnt++;
}
else {
L2_DataAvailUpdate(instPtr, false);
@@ -365,6 +347,9 @@ void L2_FrameStateUpdate(L2_INST* instPtr) {
L2_DataAvailUpdate(instPtr, false);
break;
}
if(L2_isDataAvail(instPtr)) {
instPtr->log.frameCorrect++;
}
}
/*****************************************************************************/
@@ -386,6 +371,55 @@ int32_t L2_SetupNextSlot(L2_INST* instPtr, L2_TOR_TYPE txrxMode, L2_FRAME_TYPE f
if (frameType < L2_INTER_SCAN_FRAME || frameType > L2_INTRA_SVC_FRAME) {
return FAILURE;
}
// logging
if(txrxMode == L2_TOR_TX) {
instPtr->log.frameTx++;
switch(frameType){
case L2_INTRA_BM_FRAME:
instPtr->log.bmTxCnt++;
break;
case L2_INTRA_W2_ACQ_FRAME:
instPtr->log.w2acqTxCnt++;
break;
case L2_INTRA_MGMT_FRAME:
instPtr->log.mgmtTxCnt++;
break;
case L2_INTRA_TSYNC_FRAME:
instPtr->log.tsyncTxCnt++;
break;
case L2_INTRA_SVC_FRAME:
instPtr->log.svcTxCnt++;
break;
default:
break;
}
}
else if (txrxMode == L2_TOR_RX)
{
instPtr->log.frameRx++;
switch(frameType){
case L2_INTRA_BM_FRAME:
instPtr->log.bmRxCnt++;
break;
case L2_INTRA_W2_ACQ_FRAME:
instPtr->log.w2acqRxCnt++;
break;
case L2_INTRA_MGMT_FRAME:
instPtr->log.mgmtRxCnt++;
break;
case L2_INTRA_TSYNC_FRAME:
instPtr->log.tsyncRxCnt++;
break;
case L2_INTRA_SVC_FRAME:
instPtr->log.svcRxCnt++;
break;
default:
break;
}
}
#if _814_DEBUG_LEVEL >= 3
char* torStr = NULL;
char* frameStr = NULL;
@@ -735,6 +769,7 @@ int32_t Linklayer_Reconfig(L2_INST* instPtr, const L2_CONFIG *config) {
memcpy(&(instPtr->config), config, sizeof(L2_CONFIG));
// Reset basic info
memset(&(instPtr->log), 0x00, sizeof(L2_LOG));
instPtr->netStartTime = UINT32_MAX;
instPtr->rtneConfig.last = NULL;
instPtr->rtneConfig.curr = NULL;
@@ -963,7 +998,6 @@ int32_t Linklayer_PktHandler(L2_INST* instPtr, L2_FRAME_TYPE frameType) {
case L2_INTRA_MGMT_FRAME:
case L2_INTER_TSYNC_FRAME:
case L2_INTRA_TSYNC_FRAME:
// TODO:
if(frameType == L2_INTRA_MGMT_FRAME){
if (instPtr->buffSwitch == 0) {
memcpy(instPtr->mgmtMsgRecvBuff0 + (size_t)(instPtr->mgmtMsgRecvCnt0*(MGMT_MSG_LEN*ARRAY_SIZE(intraMgmtFrameMsgs)/8)),
@@ -981,7 +1015,6 @@ int32_t Linklayer_PktHandler(L2_INST* instPtr, L2_FRAME_TYPE frameType) {
break;
case L2_INTER_SVC_FRAME:
case L2_INTRA_SVC_FRAME:
// TODO:
if(frameType == L2_INTRA_SVC_FRAME){
if (instPtr->buffSwitch == 0) {
memcpy(instPtr->svcMsgRecvBuff0 + (size_t) (instPtr->svcMsgRecvCnt0 * (INTRA_SVC_FRAME_LENGTH_MAX)),