--- a/src/lte/model/lte-spectrum-phy.cc Sun Mar 29 16:53:11 2015 +0200
+++ b/src/lte/model/lte-spectrum-phy.cc Wed Apr 01 15:38:12 2015 +0200
@@ -466,7 +466,7 @@
txParams->ctrlMsgList = ctrlMsgList;
txParams->cellId = m_cellId;
m_channel->StartTx (txParams);
- m_endTxEvent = Simulator::Schedule (duration, &LteSpectrumPhy::EndTx, this);
+ m_endTxEvent = Simulator::Schedule (duration, &LteSpectrumPhy::EndTxData, this);
}
return false;
break;
@@ -523,7 +523,7 @@
txParams->pss = pss;
txParams->ctrlMsgList = ctrlMsgList;
m_channel->StartTx (txParams);
- m_endTxEvent = Simulator::Schedule (DL_CTRL_DURATION, &LteSpectrumPhy::EndTx, this);
+ m_endTxEvent = Simulator::Schedule (DL_CTRL_DURATION, &LteSpectrumPhy::EndTxDlCtrl, this);
}
return false;
break;
@@ -578,7 +578,7 @@
txParams->psd = m_txPsd;
txParams->cellId = m_cellId;
m_channel->StartTx (txParams);
- m_endTxEvent = Simulator::Schedule (UL_SRS_DURATION, &LteSpectrumPhy::EndTx, this);
+ m_endTxEvent = Simulator::Schedule (UL_SRS_DURATION, &LteSpectrumPhy::EndTxUlSrs, this);
}
return false;
break;
@@ -593,7 +593,7 @@
void
-LteSpectrumPhy::EndTx ()
+LteSpectrumPhy::EndTxData ()
{
NS_LOG_FUNCTION (this);
NS_LOG_LOGIC (this << " state: " << m_state);
@@ -602,6 +602,8 @@
m_phyTxEndTrace (m_txPacketBurst);
+ NS_ASSERT (m_ltePhyTxEndCallback.IsNull () == true);
+
if (!m_ltePhyTxEndCallback.IsNull ())
{
for (std::list<Ptr<Packet> >::const_iterator iter = m_txPacketBurst->Begin (); iter
@@ -616,6 +618,32 @@
ChangeState (IDLE);
}
+void
+LteSpectrumPhy::EndTxDlCtrl ()
+{
+ NS_LOG_FUNCTION (this);
+ NS_LOG_LOGIC (this << " state: " << m_state);
+
+ NS_ASSERT (m_state == TX);
+ NS_ASSERT (m_txPacketBurst == 0);
+ NS_ASSERT (m_ltePhyTxEndCallback.IsNull () == true);
+ ChangeState (IDLE);
+}
+
+void
+LteSpectrumPhy::EndTxUlSrs ()
+{
+ NS_LOG_FUNCTION (this);
+ NS_LOG_LOGIC (this << " state: " << m_state);
+
+ NS_ASSERT (m_state == TX);
+ NS_ASSERT (m_txPacketBurst == 0);
+ NS_ASSERT (m_ltePhyTxEndCallback.IsNull () == true);
+ ChangeState (IDLE);
+}
+
+
+
void
LteSpectrumPhy::StartRx (Ptr<SpectrumSignalParameters> spectrumRxParams)
--- a/src/lte/model/lte-spectrum-phy.h Sun Mar 29 16:53:11 2015 +0200
+++ b/src/lte/model/lte-spectrum-phy.h Wed Apr 01 15:38:12 2015 +0200
@@ -420,7 +420,9 @@
private:
void ChangeState (State newState);
- void EndTx ();
+ void EndTxData ();
+ void EndTxDlCtrl ();
+ void EndTxUlSrs ();
void EndRxData ();
void EndRxDlCtrl ();
void EndRxUlSrs ();