diff --git a/datalink814_ge/src/linklayer/net_mgmt.c b/datalink814_ge/src/linklayer/net_mgmt.c index 96ca4f7..b3b83ea 100644 --- a/datalink814_ge/src/linklayer/net_mgmt.c +++ b/datalink814_ge/src/linklayer/net_mgmt.c @@ -918,8 +918,18 @@ int32_t MgmtNet_Routine(L2_INST* instPtr, const L2_RTNE_TABLE_ENTRY* rtneEntry){ if (L2_GetLastFrameType(instPtr) == L2_INTRA_TSYNC_FRAME && L2_GetLastTor(instPtr) == L2_TOR_RX) { RTT_FsmUpdate(instPtr, L2_TOR_RX); } - if (rtneEntry->slotType == SLOT_INTRA_TSYNC && torState == L2_TOR_TX) { + if (rtneEntry->slotType == SLOT_INTRA_TSYNC) { + if(torState == L2_TOR_TX) { RTT_FsmUpdate(instPtr, L2_TOR_TX); + } + else if (torState == L2_TOR_RX) + { + L2_SCHD_EVENT* rttRxEvent = L2_CreatNewSchdEvent(instPtr->schdEventPool, L2_EV_RTT_RECV_UPDATE, true); + if(rttRxEvent == NULL) { + DBG_ERROR("Failed to initialize rtt event.\n"); + } + Status = L2_ScheduleEventAfter(instPtr, rttRxEvent, INTRA_TSYNC_SLOTS + 1); + } } switch (rtneEntry->slotType) {