forked from gatsby/datalink_repo
adapted to new time sync api.
This commit is contained in:
@@ -738,7 +738,7 @@ int32_t MgmtNet_PktHandler(L2_INST* instPtr) {
|
|||||||
L2_RstNodeTTL(instPtr->nodeList, mgmtMsgLog->srcNodeId);
|
L2_RstNodeTTL(instPtr->nodeList, mgmtMsgLog->srcNodeId);
|
||||||
// TODO: Check
|
// TODO: Check
|
||||||
if(mgmtMsgLog->srcNodeId == L2_GetHeadId(instPtr)){
|
if(mgmtMsgLog->srcNodeId == L2_GetHeadId(instPtr)){
|
||||||
L2_TimeAlign(instPtr, L2_GetCurrentFrameNum(instPtr), L2_GetCurrentSlotNum(instPtr));
|
L2_TimeAlign(instPtr, L2_GetLastFrameNum(instPtr), L2_GetLastSlotNum(instPtr), true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -853,7 +853,7 @@ int32_t MgmtNet_PktHandler(L2_INST* instPtr) {
|
|||||||
L2_RstNodeTTL(instPtr->nodeList, rttMsgRspLog->srcAddr & 0x001F);
|
L2_RstNodeTTL(instPtr->nodeList, rttMsgRspLog->srcAddr & 0x001F);
|
||||||
// TODO: Check
|
// TODO: Check
|
||||||
if((rttMsgRspLog->srcAddr&0x001F) == L2_GetHeadId(instPtr)){
|
if((rttMsgRspLog->srcAddr&0x001F) == L2_GetHeadId(instPtr)){
|
||||||
L2_TimeAlign(instPtr, L2_GetCurrentFrameNum(instPtr), L2_GetCurrentSlotNum(instPtr));
|
L2_TimeAlign(instPtr, L2_GetLastFrameNum(instPtr), L2_GetLastSlotNum(instPtr), true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -647,7 +647,7 @@ int32_t ScanNet_PktHandler(L2_INST* instPtr) {
|
|||||||
|
|
||||||
if ( L2_isCxn2Net(instPtr) == false ) {
|
if ( L2_isCxn2Net(instPtr) == false ) {
|
||||||
// TODO: Check
|
// TODO: Check
|
||||||
L2_TimeAlign(instPtr, scanFsmPtr->BMrcvLog.frameNum, scanFsmPtr->BMrcvLog.slotNum);
|
L2_TimeAlign(instPtr, scanFsmPtr->BMrcvLog.frameNum, scanFsmPtr->BMrcvLog.slotNum, false);
|
||||||
}
|
}
|
||||||
// trigger flag
|
// trigger flag
|
||||||
BmrecvStateUpdate(scanFsmPtr, true);
|
BmrecvStateUpdate(scanFsmPtr, true);
|
||||||
@@ -738,19 +738,22 @@ int32_t ScanNet_PktHandler(L2_INST* instPtr) {
|
|||||||
// TODO: Update node information.
|
// TODO: Update node information.
|
||||||
}
|
}
|
||||||
|
|
||||||
if(L2_GetNodeType(instPtr) != L2_NODE_HEAD && scanFsmPtr->W2ACQrcvLog.NetStage != L2_NONE_STATE){
|
if(L2_GetNodeType(instPtr) != L2_NODE_HEAD){
|
||||||
// Update net start time
|
|
||||||
instPtr->netStartTime = scanFsmPtr->W2ACQrcvLog.NetScanTime;
|
|
||||||
// sync state with head node
|
|
||||||
L2_NODE_STATE newState = scanFsmPtr->W2ACQrcvLog.NetStage;
|
|
||||||
L2_EVENT stateUpEvent = {
|
|
||||||
.event = L2_EV_MAIN_STATE_UPDATE,
|
|
||||||
.msg = &newState
|
|
||||||
};
|
|
||||||
AssertL2Event(instPtr, &stateUpEvent);
|
|
||||||
|
|
||||||
// check if net setup finished.
|
// check if net setup finished.
|
||||||
if(L2_GetMainState(instPtr) == L2_INIT_STATE && L2_isCxn2Net(instPtr) == false){
|
if(L2_GetMainState(instPtr) == L2_INIT_STATE && L2_isCxn2Net(instPtr) == false){
|
||||||
|
|
||||||
|
// Assert net setup done event...
|
||||||
|
uint32_t netStartTime = scanFsmPtr->W2ACQrcvLog.NetScanTime;
|
||||||
|
L2_EVENT netSetupDoneEvent = {
|
||||||
|
.event = L2_EV_NET_SETUP_DONE,
|
||||||
|
.msg = &netStartTime
|
||||||
|
};
|
||||||
|
AssertL2Event(instPtr, &netSetupDoneEvent);
|
||||||
|
|
||||||
|
// Update time sync since netStartTime updated.
|
||||||
|
L2_TimeAlign(instPtr, L2_GetLastFrameNum(instPtr), L2_GetLastSlotNum(instPtr), true);
|
||||||
|
|
||||||
|
// Assert update routine event...
|
||||||
L2_RTNE_CONFIG newRtneConfig = {0};
|
L2_RTNE_CONFIG newRtneConfig = {0};
|
||||||
L2_EVENT rtneUpEvent = {
|
L2_EVENT rtneUpEvent = {
|
||||||
.event = L2_ROUTINE_UPDATE,
|
.event = L2_ROUTINE_UPDATE,
|
||||||
@@ -766,12 +769,17 @@ int32_t ScanNet_PktHandler(L2_INST* instPtr) {
|
|||||||
newRtneConfig.rtnePrd = ARRAY_SIZE(intraSeekTable);
|
newRtneConfig.rtnePrd = ARRAY_SIZE(intraSeekTable);
|
||||||
AssertL2Event(instPtr, &rtneUpEvent);
|
AssertL2Event(instPtr, &rtneUpEvent);
|
||||||
}
|
}
|
||||||
L2_EVENT netSetupDoneEvent = {
|
|
||||||
.event = L2_EV_NET_SETUP_DONE,
|
|
||||||
.msg = NULL
|
|
||||||
};
|
|
||||||
AssertL2Event(instPtr, &netSetupDoneEvent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sync state with head node
|
||||||
|
L2_NODE_STATE newState = scanFsmPtr->W2ACQrcvLog.NetStage;
|
||||||
|
L2_EVENT stateUpEvent = {
|
||||||
|
.event = L2_EV_MAIN_STATE_UPDATE,
|
||||||
|
.msg = &newState
|
||||||
|
};
|
||||||
|
AssertL2Event(instPtr, &stateUpEvent);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user