From 20da80f6c2d60409200424e1660137db42fbad61 Mon Sep 17 00:00:00 2001 From: Gatsby Van Date: Sat, 16 Mar 2024 16:25:44 +0800 Subject: [PATCH] update packet logging method --- .../src/networking/link_layer/link_layer.c | 6 ++--- .../src/networking/link_layer/link_layer.h | 3 +++ .../src/networking/link_layer/scan.c | 23 +++++++++++------- .../src/networking/link_layer/service.c | 24 +++++++++---------- 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/df_datalink_sp/src/networking/link_layer/link_layer.c b/df_datalink_sp/src/networking/link_layer/link_layer.c index d388cd9..6dccf62 100644 --- a/df_datalink_sp/src/networking/link_layer/link_layer.c +++ b/df_datalink_sp/src/networking/link_layer/link_layer.c @@ -1258,10 +1258,10 @@ int32_t Linklayer_Proc(L2_INST *instPtr) instPtr->linkLog.svcTxCnt = instPtr->log.svcTxCnt; instPtr->linkLog.svcRecvCnt = instPtr->log.svcRecvCnt; instPtr->linkLog.svcCorrectCnt = instPtr->log.svcCorrectCnt; - instPtr->linkLog.timeDev = (instPtr->log.timeDev > INT32_MAX) + instPtr->linkLog.timeDev = (instPtr->log.timeDev > INT32_MAX) ? INT32_MAX : ((instPtr->log.timeDev < INT32_MIN) ? INT32_MIN : (int32_t)instPtr->log.timeDev); - instPtr->linkLog.sendId = instPtr->serviceFSM->txLog.dataId; - instPtr->linkLog.recvId = instPtr->serviceFSM->rxLog.dataId; + instPtr->linkLog.sendId = instPtr->log.txLog.dataId; + instPtr->linkLog.recvId = instPtr->log.rxLog.dataId; SysMonitor_UpdateLinklayerLog(&(instPtr->linkLog)); return SUCCESS; diff --git a/df_datalink_sp/src/networking/link_layer/link_layer.h b/df_datalink_sp/src/networking/link_layer/link_layer.h index fe79d75..316bd7d 100644 --- a/df_datalink_sp/src/networking/link_layer/link_layer.h +++ b/df_datalink_sp/src/networking/link_layer/link_layer.h @@ -68,6 +68,9 @@ typedef struct int64_t timeDev; uint8_t lastBeamWidth; uint32_t reconnectCnt; + + PAYLOAD rxLog; + PAYLOAD txLog; } L2_LOG; typedef struct diff --git a/df_datalink_sp/src/networking/link_layer/scan.c b/df_datalink_sp/src/networking/link_layer/scan.c index 094d193..7eac02c 100644 --- a/df_datalink_sp/src/networking/link_layer/scan.c +++ b/df_datalink_sp/src/networking/link_layer/scan.c @@ -404,6 +404,10 @@ static int32_t ScanMsg_Packing(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t dst DBG_ERROR("Fail to append CRC, error code: %" PRId32 ".\n", Status); return Status; } + + // Logging... + memcpy(instPtr->log.txLog.data, buff, L2_CMF_PACK_LEN); + instPtr->log.txLog.dataId = dataId; break; } default: @@ -674,17 +678,18 @@ int32_t L2_Scan_PktHandler(L2_INST *instPtr, uint8_t *msg) uint32_t dataId; L2_FrameGetChunk(msg, L2_MSG_CFM_PAYLOAD_ID, L2_MSG_CFM_PAYLOAD_ID_LEN, &dataId); - if(dataId != DATA_ID_NONE) + if(L2_GetNodeType(instPtr) == L2_NODE_HEAD) { - if(L2_GetNodeType(instPtr) == L2_NODE_HEAD) - { - SysMonitor_UpdateRecvPayload(msg+L2_MSG_CFM_PAYLOAD, PAYLOAD_LEN_FLJ_RX); - } - else - { - SysMonitor_UpdateRecvPayload(msg+L2_MSG_CFM_PAYLOAD, PAYLOAD_LEN_LJ_RX); - } + SysMonitor_UpdateRecvPayload(msg+L2_MSG_CFM_PAYLOAD, dataId, PAYLOAD_LEN_FLJ_RX); } + else + { + SysMonitor_UpdateRecvPayload(msg+L2_MSG_CFM_PAYLOAD, dataId, PAYLOAD_LEN_LJ_RX); + } + + // Logging... + memcpy(instPtr->log.rxLog.data, msg, L2_CMF_PACK_LEN); + instPtr->log.rxLog.dataId = dataId; Status = SUCCESS; break; diff --git a/df_datalink_sp/src/networking/link_layer/service.c b/df_datalink_sp/src/networking/link_layer/service.c index c890866..4d0d63d 100644 --- a/df_datalink_sp/src/networking/link_layer/service.c +++ b/df_datalink_sp/src/networking/link_layer/service.c @@ -141,8 +141,8 @@ static int32_t Service_Packing(L2_INST *instPtr, L2_FRAME_TYPE type, uint8_t dst return Status; } - memcpy(instPtr->serviceFSM->txLog.data, buff, L2_SVC_PACK_LEN); - instPtr->serviceFSM->txLog.dataId = dataId; + memcpy(instPtr->log.txLog.data, buff, L2_SVC_PACK_LEN); + instPtr->log.txLog.dataId = dataId; break; } default: @@ -285,21 +285,19 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg) uint32_t dataId; L2_FrameGetChunk(msg, L2_MSG_SVC_PAYLOAD_ID, L2_MSG_SVC_PAYLOAD_ID_LEN, &dataId); - if(dataId != DATA_ID_NONE) + if (L2_GetNodeType(instPtr) == L2_NODE_HEAD) { - if(L2_GetNodeType(instPtr) == L2_NODE_HEAD) - { - SysMonitor_UpdateRecvPayload(msg+L2_MSG_SVC_PAYLOAD, PAYLOAD_LEN_FLJ_RX); - } - else - { - SysMonitor_UpdateRecvPayload(msg+L2_MSG_SVC_PAYLOAD, PAYLOAD_LEN_LJ_RX); - } + SysMonitor_UpdateRecvPayload(msg + L2_MSG_SVC_PAYLOAD, dataId, PAYLOAD_LEN_FLJ_RX); + } + else + { + SysMonitor_UpdateRecvPayload(msg + L2_MSG_SVC_PAYLOAD, dataId, PAYLOAD_LEN_LJ_RX); } // Logging - memcpy(instPtr->serviceFSM->rxLog.data, msg, L2_SVC_PACK_LEN); - instPtr->serviceFSM->rxLog.dataId = dataId; + memcpy(instPtr->log.rxLog.data, msg, L2_SVC_PACK_LEN); + instPtr->log.rxLog.dataId = dataId; + instPtr->serviceFSM->rxdCnt++; #ifdef DATALINK_ENABLE_AUTOTIMESYNC // Implement a auto time sync.