mirror of
https://github.com/espressif/openthread.git
synced 2026-09-06 01:00:09 +00:00
[simulation] use ACK frame generation utils (#5033)
This commit is contained in:
@@ -732,25 +732,26 @@ void radioTransmit(struct RadioMessage *aMessage, const struct otRadioFrame *aFr
|
|||||||
#endif // OPENTHREAD_SIMULATION_VIRTUAL_TIME == 0
|
#endif // OPENTHREAD_SIMULATION_VIRTUAL_TIME == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
void radioSendAck(void)
|
void radioGenerateAck(void)
|
||||||
{
|
{
|
||||||
sAckFrame.mLength = IEEE802154_ACK_LENGTH;
|
|
||||||
sAckMessage.mPsdu[0] = IEEE802154_FRAME_TYPE_ACK;
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
#if OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2
|
#if OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2
|
||||||
|
// Determine if frame pending should be set
|
||||||
(otMacFrameIsData(&sReceiveFrame) || otMacFrameIsDataRequest(&sReceiveFrame))
|
(otMacFrameIsData(&sReceiveFrame) || otMacFrameIsDataRequest(&sReceiveFrame))
|
||||||
#else
|
#else
|
||||||
otMacFrameIsDataRequest(&sReceiveFrame)
|
otMacFrameIsDataRequest(&sReceiveFrame)
|
||||||
#endif
|
#endif
|
||||||
&& HasFramePending(&sReceiveFrame))
|
&& HasFramePending(&sReceiveFrame))
|
||||||
{
|
{
|
||||||
sAckMessage.mPsdu[0] |= IEEE802154_FRAME_PENDING;
|
|
||||||
sReceiveFrame.mInfo.mRxInfo.mAckedWithFramePending = true;
|
sReceiveFrame.mInfo.mRxInfo.mAckedWithFramePending = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
sAckMessage.mPsdu[1] = 0;
|
otMacFrameGenerateImmAck(&sReceiveFrame, sReceiveFrame.mInfo.mRxInfo.mAckedWithFramePending, &sAckFrame);
|
||||||
sAckMessage.mPsdu[2] = otMacFrameGetSequence(&sReceiveFrame);
|
}
|
||||||
|
|
||||||
|
void radioSendAck(void)
|
||||||
|
{
|
||||||
|
radioGenerateAck();
|
||||||
|
|
||||||
sAckMessage.mChannel = sReceiveFrame.mChannel;
|
sAckMessage.mChannel = sReceiveFrame.mChannel;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user