wifi: PHY notifies MAC every time the payload of an HE TB PPDU starts

This commit is contained in:
Stefano Avallone
2021-10-22 12:58:56 +02:00
committed by Stefano Avallone
parent 91fa037246
commit 9b8f232b28
3 changed files with 16 additions and 0 deletions

View File

@@ -714,6 +714,8 @@ HePhy::StartReceiveOfdmaPayload (Ptr<Event> event)
m_endRxPayloadEvents.push_back (Simulator::Schedule (payloadDuration, &PhyEntity::EndReceivePayload, this, event));
m_signalNoiseMap.insert ({std::make_pair (ppdu->GetUid (), ppdu->GetStaId ()), SignalNoiseDbm ()});
m_statusPerMpduMap.insert ({std::make_pair (ppdu->GetUid (), ppdu->GetStaId ()), std::vector<bool> ()});
// Notify the MAC about the start of a new HE TB PPDU, so that it can reschedule the timeout
NotifyPayloadBegin (ppdu->GetTxVector (), payloadDuration);
}
std::pair<uint16_t, WifiSpectrumBand>

View File

@@ -1032,6 +1032,12 @@ PhyEntity::GetCenterFrequencyForChannelWidth (const WifiTxVector& txVector) cons
return m_wifiPhy->GetOperatingChannel ().GetPrimaryChannelCenterFrequency (txVector.GetChannelWidth ());
}
void
PhyEntity::NotifyPayloadBegin (const WifiTxVector& txVector, const Time& payloadDuration)
{
m_wifiPhy->m_phyRxPayloadBeginTrace (txVector, payloadDuration);
}
void
PhyEntity::StartTx (Ptr<WifiPpdu> ppdu)
{

View File

@@ -762,6 +762,14 @@ protected:
*/
uint16_t GetCenterFrequencyForChannelWidth (const WifiTxVector& txVector) const;
/**
* Fire the trace indicating that the PHY is starting to receive the payload of a PPDU.
*
* \param txVector the TXVECTOR used to transmit the PPDU
* \param payloadDuration the TX duration of the PPDU payload
*/
void NotifyPayloadBegin (const WifiTxVector& txVector, const Time& payloadDuration);
/**
* \param currentChannelWidth channel width of the current transmission (MHz)
* \return the width of the guard band (MHz)