From b9d348c32879e626540f90e0996eab7d5861c653 Mon Sep 17 00:00:00 2001 From: Li Cao Date: Tue, 2 Jun 2020 08:06:02 +0800 Subject: [PATCH] [simulation] use ACK frame generation utils (#5033) --- examples/platforms/simulation/radio.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/examples/platforms/simulation/radio.c b/examples/platforms/simulation/radio.c index c53298a08..7e0188229 100644 --- a/examples/platforms/simulation/radio.c +++ b/examples/platforms/simulation/radio.c @@ -732,25 +732,26 @@ void radioTransmit(struct RadioMessage *aMessage, const struct otRadioFrame *aFr #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 OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 + // Determine if frame pending should be set (otMacFrameIsData(&sReceiveFrame) || otMacFrameIsDataRequest(&sReceiveFrame)) #else otMacFrameIsDataRequest(&sReceiveFrame) #endif && HasFramePending(&sReceiveFrame)) { - sAckMessage.mPsdu[0] |= IEEE802154_FRAME_PENDING; sReceiveFrame.mInfo.mRxInfo.mAckedWithFramePending = true; } - sAckMessage.mPsdu[1] = 0; - sAckMessage.mPsdu[2] = otMacFrameGetSequence(&sReceiveFrame); + otMacFrameGenerateImmAck(&sReceiveFrame, sReceiveFrame.mInfo.mRxInfo.mAckedWithFramePending, &sAckFrame); +} + +void radioSendAck(void) +{ + radioGenerateAck(); sAckMessage.mChannel = sReceiveFrame.mChannel;