update svcFSM
This commit is contained in:
@@ -207,10 +207,9 @@ typedef struct
|
|||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
PAYLOAD rxLog;
|
uint32_t txCnt;
|
||||||
PAYLOAD txLog;
|
uint32_t rxCnt;
|
||||||
uint32_t pktRecv;
|
uint32_t rxdCnt;
|
||||||
uint32_t pktCorrect;
|
|
||||||
#ifdef DATALINK_ENABLE_BERTEST
|
#ifdef DATALINK_ENABLE_BERTEST
|
||||||
uint32_t bitTotal;
|
uint32_t bitTotal;
|
||||||
uint32_t bitError;
|
uint32_t bitError;
|
||||||
|
|||||||
@@ -402,6 +402,7 @@ int32_t L2_Service_Routine(L2_INST *instPtr, const L2_RTNE_TABLE_ENTRY *rtneEntr
|
|||||||
case L2_SLOT_SERVICE:
|
case L2_SLOT_SERVICE:
|
||||||
if (torState == L2_TOR_TX)
|
if (torState == L2_TOR_TX)
|
||||||
{
|
{
|
||||||
|
svcFSMPtr->txCnt++;
|
||||||
#ifndef DATALINK_ENABLE_BERTEST
|
#ifndef DATALINK_ENABLE_BERTEST
|
||||||
// Packing service data
|
// Packing service data
|
||||||
Service_Packing(instPtr, L2_SVC_FRAME, rtneEntry->dst);
|
Service_Packing(instPtr, L2_SVC_FRAME, rtneEntry->dst);
|
||||||
@@ -409,6 +410,10 @@ int32_t L2_Service_Routine(L2_INST *instPtr, const L2_RTNE_TABLE_ENTRY *rtneEntr
|
|||||||
memcpy(instPtr->sendPktData, testData, L2_SVC_PACK_LEN);
|
memcpy(instPtr->sendPktData, testData, L2_SVC_PACK_LEN);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
svcFSMPtr->rxCnt++;
|
||||||
|
}
|
||||||
L2_SetupNextSlot(instPtr, torState, L2_SVC_FRAME);
|
L2_SetupNextSlot(instPtr, torState, L2_SVC_FRAME);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -417,11 +422,11 @@ int32_t L2_Service_Routine(L2_INST *instPtr, const L2_RTNE_TABLE_ENTRY *rtneEntr
|
|||||||
}
|
}
|
||||||
#ifdef DATALINK_ENABLE_BERTEST
|
#ifdef DATALINK_ENABLE_BERTEST
|
||||||
uint32_t pktLoss;
|
uint32_t pktLoss;
|
||||||
pktLoss = instPtr->log.svcRecvCnt - instPtr->log.svcCorrectCnt;
|
pktLoss = svcFSMPtr->rxCnt - svcFSMPtr->rxdCnt;
|
||||||
instPtr->serviceFSM->lossRate = (instPtr->log.svcRecvCnt == 0) ? 0 : (double)pktLoss / (double)instPtr->serviceFSM->pktRecv;
|
svcFSMPtr->lossRate = (svcFSMPtr->rxCnt == 0) ? 0 : (double)pktLoss / (double)svcFSMPtr->rxCnt;
|
||||||
instPtr->serviceFSM->errorRate = (instPtr->serviceFSM->bitTotal == 0) ? 0 : (double)instPtr->serviceFSM->bitError / (double)instPtr->serviceFSM->bitTotal;
|
svcFSMPtr->errorRate = (svcFSMPtr->bitTotal == 0) ? 0 : (double)svcFSMPtr->bitError / (double)svcFSMPtr->bitTotal;
|
||||||
DBG_PRINT("Packet Loss Rate -- Total: %lu, Loss: %lu.\n", instPtr->serviceFSM->pktRecv, pktLoss);
|
DBG_PRINT("Packet Loss Rate -- Total: %lu, Loss: %lu.\n", instPtr->log.svcRxCnt, pktLoss);
|
||||||
DBG_PRINT("Bit Error Rate -- Total:%lu, Error:%lu.\n", instPtr->serviceFSM->bitTotal, instPtr->serviceFSM->bitError);
|
DBG_PRINT("Bit Error Rate -- Total:%lu, Error:%lu.\n", svcFSMPtr->bitTotal, svcFSMPtr->bitError);
|
||||||
#endif
|
#endif
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user