wifi: Use spectrum PHY interface for TX
This commit is contained in:
committed by
Sebastien Deronne
parent
5a2a111174
commit
5c44a7ea01
@@ -426,7 +426,7 @@ SpectrumWifiPhy::GetRxPpduFromTxPpdu(Ptr<const WifiPpdu> ppdu)
|
||||
return GetPhyEntityForPpdu(ppdu)->GetRxPpduFromTxPpdu(ppdu);
|
||||
}
|
||||
|
||||
Ptr<Object>
|
||||
Ptr<AntennaModel>
|
||||
SpectrumWifiPhy::GetAntenna() const
|
||||
{
|
||||
return m_antenna;
|
||||
@@ -460,9 +460,7 @@ void
|
||||
SpectrumWifiPhy::Transmit(Ptr<WifiSpectrumSignalParameters> txParams)
|
||||
{
|
||||
NS_LOG_FUNCTION(this << txParams);
|
||||
txParams->txPhy = m_wifiSpectrumPhyInterface->GetObject<SpectrumPhy>();
|
||||
txParams->txAntenna = m_antenna;
|
||||
m_channel->StartTx(txParams);
|
||||
m_wifiSpectrumPhyInterface->StartTx(txParams);
|
||||
}
|
||||
|
||||
uint32_t
|
||||
|
||||
@@ -107,7 +107,7 @@ class SpectrumWifiPhy : public WifiPhy
|
||||
*
|
||||
* \return the AntennaModel used for reception
|
||||
*/
|
||||
Ptr<Object> GetAntenna() const;
|
||||
Ptr<AntennaModel> GetAntenna() const;
|
||||
/**
|
||||
* \return the SpectrumModel that this SpectrumPhy expects to be used
|
||||
* for all SpectrumValues that are passed to StartRx. If 0 is
|
||||
|
||||
@@ -110,4 +110,12 @@ WifiSpectrumPhyInterface::StartRx(Ptr<SpectrumSignalParameters> params)
|
||||
m_spectrumWifiPhy->StartRx(params);
|
||||
}
|
||||
|
||||
void
|
||||
WifiSpectrumPhyInterface::StartTx(Ptr<SpectrumSignalParameters> params)
|
||||
{
|
||||
params->txPhy = Ptr<SpectrumPhy>(this);
|
||||
params->txAntenna = m_spectrumWifiPhy->GetAntenna();
|
||||
m_channel->StartTx(params);
|
||||
}
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -62,6 +62,13 @@ class WifiSpectrumPhyInterface : public SpectrumPhy
|
||||
Ptr<Object> GetAntenna() const override;
|
||||
void StartRx(Ptr<SpectrumSignalParameters> params) override;
|
||||
|
||||
/**
|
||||
* Start transmission over the spectrum channel
|
||||
*
|
||||
* \param params the parameters of the signal to transmit
|
||||
*/
|
||||
void StartTx(Ptr<SpectrumSignalParameters> params);
|
||||
|
||||
private:
|
||||
void DoDispose() override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user