@@ -450,7 +450,7 @@ Error Diags::ProcessSend(uint8_t aArgsLength, char *aArgs[])
450
450
VerifyOrExit (txLength >= OT_RADIO_FRAME_MIN_SIZE, error = kErrorInvalidArgs );
451
451
mTxLen = txLength;
452
452
453
- TransmitPacket ();
453
+ SuccessOrExit (error = TransmitPacket () );
454
454
455
455
exit :
456
456
return error;
@@ -489,12 +489,14 @@ void Diags::OutputStats(void)
489
489
" sent success packets: %lu\r\n "
490
490
" sent error cca packets: %lu\r\n "
491
491
" sent error abort packets: %lu\r\n "
492
+ " sent error invalid state packets: %lu\r\n "
492
493
" sent error others packets: %lu\r\n "
493
494
" first received packet: rssi=%d, lqi=%u\r\n "
494
495
" last received packet: rssi=%d, lqi=%u\r\n " ,
495
496
ToUlong (mStats .mReceivedPackets ), ToUlong (mStats .mSentSuccessPackets ), ToUlong (mStats .mSentErrorCcaPackets ),
496
- ToUlong (mStats .mSentErrorAbortPackets ), ToUlong (mStats .mSentErrorOthersPackets ), mStats .mFirstRssi ,
497
- mStats .mFirstLqi , mStats .mLastRssi , mStats .mLastLqi );
497
+ ToUlong (mStats .mSentErrorAbortPackets ), ToUlong (mStats .mSentErrorInvalidStatePackets ),
498
+ ToUlong (mStats .mSentErrorOthersPackets ), mStats .mFirstRssi , mStats .mFirstLqi , mStats .mLastRssi ,
499
+ mStats .mLastLqi );
498
500
}
499
501
500
502
Error Diags::ProcessStats (uint8_t aArgsLength, char *aArgs[])
@@ -528,8 +530,9 @@ Error Diags::ProcessStop(uint8_t aArgsLength, char *aArgs[])
528
530
return kErrorNone ;
529
531
}
530
532
531
- void Diags::TransmitPacket (void )
533
+ Error Diags::TransmitPacket (void )
532
534
{
535
+ Error error = kErrorNone ;
533
536
mTxPacket ->mChannel = mChannel ;
534
537
535
538
if (mIsTxPacketSet )
@@ -550,7 +553,14 @@ void Diags::TransmitPacket(void)
550
553
}
551
554
552
555
mDiagSendOn = true ;
553
- IgnoreError (Get<Radio>().Transmit (*static_cast <Mac::TxFrame *>(mTxPacket )));
556
+ error = Get<Radio>().Transmit (*static_cast <Mac::TxFrame *>(mTxPacket ));
557
+
558
+ if (error == kErrorInvalidState )
559
+ {
560
+ mStats .mSentErrorInvalidStatePackets ++;
561
+ }
562
+
563
+ return error;
554
564
}
555
565
556
566
Error Diags::ParseReceiveConfigFormat (const char *aFormat, ReceiveConfig &aConfig)
@@ -747,7 +757,7 @@ void Diags::AlarmFired(void)
747
757
{
748
758
uint32_t now = otPlatAlarmMilliGetNow ();
749
759
750
- TransmitPacket ();
760
+ IgnoreError ( TransmitPacket () );
751
761
otPlatAlarmMilliStartAt (&GetInstance (), now, mTxPeriod );
752
762
}
753
763
else
@@ -856,7 +866,7 @@ void Diags::TransmitDone(Error aError)
856
866
VerifyOrExit (mTxPackets > 1 );
857
867
mTxPackets --;
858
868
859
- TransmitPacket ();
869
+ IgnoreError ( TransmitPacket () );
860
870
861
871
exit :
862
872
return ;
0 commit comments