From b5f920b4f39aec0d5c5750e3b3f7f7ece4fa00f5 Mon Sep 17 00:00:00 2001 From: Gatsby Van Date: Thu, 25 Jan 2024 10:52:11 +0800 Subject: [PATCH] *bugfix: add node ttl reset --- df_datalink_sp/src/networking/link_layer/scan.c | 6 ++++++ df_datalink_sp/src/networking/link_layer/service.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/df_datalink_sp/src/networking/link_layer/scan.c b/df_datalink_sp/src/networking/link_layer/scan.c index 1776942..33664e5 100644 --- a/df_datalink_sp/src/networking/link_layer/scan.c +++ b/df_datalink_sp/src/networking/link_layer/scan.c @@ -406,6 +406,9 @@ int32_t L2_Scan_PktHandler(L2_INST *instPtr, uint8_t *msg) L2_FrameGetChunk(msg, L2_MSG_ADV_SRC_POSZ, L2_MSG_ADV_SRC_POSZ_LEN, &nodePos); node->nodeInfo.pos.z = (double) nodePos; + // Reset node ttl + node->ttlCnt = 0; + if (L2_isCxn2Net(instPtr) == false) { uint32_t netstartTime, frameNum, slotNum = 0; @@ -459,6 +462,9 @@ int32_t L2_Scan_PktHandler(L2_INST *instPtr, uint8_t *msg) L2_FrameGetChunk(msg, L2_MSG_CFM_SRC_SPEEDZ, L2_MSG_CFM_SRC_SPEEDZ_LEN, &nodeSpeed); node->nodeInfo.speed.z = (double) nodePos; + // Reset node ttl + node->ttlCnt = 0; + if (L2_GetNodeType(instPtr) != L2_NODE_HEAD) { // check if net setup finished. diff --git a/df_datalink_sp/src/networking/link_layer/service.c b/df_datalink_sp/src/networking/link_layer/service.c index 8445cad..78c7e57 100644 --- a/df_datalink_sp/src/networking/link_layer/service.c +++ b/df_datalink_sp/src/networking/link_layer/service.c @@ -255,6 +255,9 @@ int32_t L2_Service_PktHandler(L2_INST *instPtr, uint8_t *msg) L2_FrameGetChunk(msg, L2_MSG_SVC_SRC_SPEEDZ, L2_MSG_SVC_SRC_SPEEDZ_LEN, &nodeSpeed); node->nodeInfo.speed.z = (double) nodePos; + // Reset node ttl + node->ttlCnt = 0; + if(L2_GetNodeType(instPtr) == L2_NODE_HEAD) { SysMonitor_UpdateRecvPayloadLJRaw(msg+L2_MSG_SVC_PAYLOAD);