--- a/src/lte/helper/lena-helper.cc Wed Apr 06 09:20:19 2011 +0200
+++ b/src/lte/helper/lena-helper.cc Wed Apr 06 10:06:16 2011 +0200
@@ -219,6 +219,14 @@
Ptr<LteUeMac> mac = CreateObject<LteUeMac> ();
Ptr<LteUeRrc> rrc = CreateObject<LteUeRrc> ();
+
+ // connect SAPs
+ rrc->SetLteUeCmacSapProvider (mac->GetLteUeCmacSapProvider ());
+ mac->SetLteUeCmacSapUser (rrc->GetLteUeCmacSapUser ());
+ rrc->SetLteMacSapProvider (mac->GetLteMacSapProvider ());
+ phy->SetLteUePhySapUser (mac->GetLteUePhySapUser ());
+ mac->SetLteUePhySapProvider (phy->GetLteUePhySapProvider ());
+
Ptr<LteUeNetDevice> dev = CreateObject<LteUeNetDevice> (n, phy, mac, rrc);
phy->SetDevice (dev);
dlPhy->SetDevice (dev);
--- a/src/lte/model/lte-ue-net-device.cc Wed Apr 06 09:20:19 2011 +0200
+++ b/src/lte/model/lte-ue-net-device.cc Wed Apr 06 10:06:16 2011 +0200
@@ -62,7 +62,6 @@
{
NS_LOG_FUNCTION (this);
NS_FATAL_ERROR ("This constructor should not be called");
- InitLteUeNetDevice ();
}
@@ -72,13 +71,8 @@
m_phy = phy;
m_mac = mac;
m_rrc = rrc;
- InitLteUeNetDevice ();
SetNode (node);
- /**
- * WILD HACK
- * to be translated to PHY-SAP primitive
- */
- phy->DoSetBandwidth (25,25);
+ UpdateConfig ();
}
LteUeNetDevice::~LteUeNetDevice (void)
@@ -101,14 +95,14 @@
}
void
-LteUeNetDevice::InitLteUeNetDevice (void)
+LteUeNetDevice::UpdateConfig (void)
{
NS_LOG_FUNCTION (this);
- m_rrc->SetLteUeCmacSapProvider (m_mac->GetLteUeCmacSapProvider ());
- m_mac->SetLteUeCmacSapUser (m_rrc->GetLteUeCmacSapUser ());
- m_rrc->SetLteMacSapProvider (m_mac->GetLteMacSapProvider ());
- m_phy->SetLteUePhySapUser (m_mac->GetLteUePhySapUser ());
- m_mac->SetLteUePhySapProvider (m_phy->GetLteUePhySapProvider ());
+ /**
+ * WILD HACK
+ * to be translated to PHY-SAP primitive, or maybe to be set through RRC
+ */
+ m_phy->DoSetBandwidth (25,25);
}
--- a/src/lte/model/lte-ue-net-device.h Wed Apr 06 09:20:19 2011 +0200
+++ b/src/lte/model/lte-ue-net-device.h Wed Apr 06 10:06:16 2011 +0200
@@ -70,12 +70,6 @@
Ptr<LteUePhy> GetPhy (void) const;
/**
- * \brief Initialize the UE
- */
-
- void InitLteUeNetDevice (void);
-
- /**
* \brief Set the targer eNB where the UE is registered
* \param enb
*/
@@ -95,6 +89,8 @@
void DoReceive (Ptr<Packet> p);
+ void UpdateConfig (void);
+
Ptr<LteEnbNetDevice> m_targetEnb;
Ptr<LteUeMac> m_mac;