diff --git a/datalink814_ge/src/linklayer/net_scan.c b/datalink814_ge/src/linklayer/net_scan.c index 853855d..c224d44 100644 --- a/datalink814_ge/src/linklayer/net_scan.c +++ b/datalink814_ge/src/linklayer/net_scan.c @@ -632,10 +632,15 @@ int32_t ScanNet_PktHandler(L2_INST* instPtr) { } } if(L2_GetNodeType(instPtr) != HEAD_NODE){ - if (IsNodeInList(instPtr->nodeList, scanFsmPtr->BMrcvLog.NodeId) == false) { - AppendNode(instPtr->nodeList, scanFsmPtr->BMrcvLog.NodeId, (uint8_t) MEMBER_NODE); + + NODE_ENTRY* nodeEntry = L2_GetNodeById(instPtr->nodeList, scanFsmPtr->BMrcvLog.NodeId); + if(nodeEntry == NULL) { + nodeEntry = L2_AppendNode(instPtr->nodeList, scanFsmPtr->BMrcvLog.NodeId, HEAD_NODE); + // TODO: Insert other node information. + } + else { + // TODO: Update node information. } - // TODO: Update Node Info if ( L2_isCxn2Net(instPtr) == false ) { // TODO: Check @@ -720,19 +725,19 @@ int32_t ScanNet_PktHandler(L2_INST* instPtr) { goto failed; } } - // Update net start time - if(L2_GetNodeType(instPtr) != HEAD_NODE){ - instPtr->netStartTime = scanFsmPtr->W2ACQrcvLog.NetScanTime; - } - if(L2_GetNodeType(instPtr) == HEAD_NODE){ - if (IsNodeInList(instPtr->nodeList, scanFsmPtr->W2ACQrcvLog.NodeId) == false) { - AppendNode(instPtr->nodeList, scanFsmPtr->W2ACQrcvLog.NodeId, (uint8_t) MEMBER_NODE); - } - // TODO: Update Node Info + NODE_ENTRY* nodeEntry = L2_GetNodeById(instPtr->nodeList, scanFsmPtr->W2ACQrcvLog.NodeId); + if(nodeEntry == NULL) { + nodeEntry = L2_AppendNode(instPtr->nodeList, scanFsmPtr->W2ACQrcvLog.NodeId, MEMBER_NODE); + // TODO: Insert other node information. + } + else { + // TODO: Update node information. } if(L2_GetNodeType(instPtr) != HEAD_NODE && scanFsmPtr->W2ACQrcvLog.NetStage != NONE_STATE){ + // Update net start time + instPtr->netStartTime = scanFsmPtr->W2ACQrcvLog.NetScanTime; // sync state with head node L2_NODE_STATE newState = scanFsmPtr->W2ACQrcvLog.NetStage; L2_EVENT stateUpEvent = {