From 2692a74f9f73957742991db0a74d3bc458e2a168 Mon Sep 17 00:00:00 2001 From: Gatsby Van Date: Wed, 24 Jan 2024 10:59:52 +0800 Subject: [PATCH] Update BER test logic. --- .../src/networking/link_layer/service.c | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/df_datalink_sp/src/networking/link_layer/service.c b/df_datalink_sp/src/networking/link_layer/service.c index 47ff7ba..48ab621 100644 --- a/df_datalink_sp/src/networking/link_layer/service.c +++ b/df_datalink_sp/src/networking/link_layer/service.c @@ -214,13 +214,6 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg) { case L2_SVC_FRAME: { -#ifdef DATALINK_ENABLE_AUTOTIMESYNC - // Implement a auto time sync. - uint32_t frameNum, slotNum; - L2_FrameGetChunk(msg, L2_MSG_FRAME_NUM, L2_MSG_FRAME_NUM_LEN, &frameNum); - L2_FrameGetChunk(msg, L2_MSG_SLOT_NUM, L2_MSG_SLOT_NUM_LEN, &slotNum); - L2_TimeAlign(instPtr, frameNum, slotNum, true); -#endif uint8_t nodeId; L2_FrameGetChunk(msg, L2_MSG_SRC_ID, L2_MSG_SRC_ID_LEN, &nodeId); NODE_ENTRY *node; @@ -251,6 +244,25 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg) node->nodeInfo.speed.y = (double) nodePos; L2_FrameGetChunk(msg, L2_MSG_SVC_SRC_SPEEDZ, L2_MSG_SVC_SRC_SPEEDZ_LEN, &nodeSpeed); node->nodeInfo.speed.z = (double) nodePos; + + if(L2_GetNodeType(instPtr) == L2_NODE_HEAD) + { + SysMonitor_UpdateRecvPayloadLJRaw(msg+L2_MSG_SVC_PAYLOAD); + } + else + { + SysMonitor_UpdateRecvPayloadFLJRaw(msg+L2_MSG_SVC_PAYLOAD); + } +#ifdef DATALINK_ENABLE_AUTOTIMESYNC + // Implement a auto time sync. + if (L2_GetNodeType(instPtr) != L2_NODE_HEAD) + { + uint32_t frameNum, slotNum; + L2_FrameGetChunk(msg, L2_MSG_FRAME_NUM, L2_MSG_FRAME_NUM_LEN, &frameNum); + L2_FrameGetChunk(msg, L2_MSG_SLOT_NUM, L2_MSG_SLOT_NUM_LEN, &slotNum); + L2_TimeAlign(instPtr, frameNum, slotNum, true); + } +#endif break; } default: @@ -267,6 +279,15 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg) instPtr->serviceFsm.bitError += errorBits; instPtr->serviceFsm.bitTotal += SVC_PACK_LEN * 8; + + // Implement a auto time sync. + if (L2_GetNodeType(instPtr) != L2_NODE_HEAD) + { + uint32_t frameNum, slotNum; + L2_FrameGetChunk(msg, L2_MSG_FRAME_NUM, L2_MSG_FRAME_NUM_LEN, &frameNum); + L2_FrameGetChunk(msg, L2_MSG_SLOT_NUM, L2_MSG_SLOT_NUM_LEN, &slotNum); + L2_TimeAlign(instPtr, frameNum, slotNum, true); + } #endif }