diff --git a/src/lte/helper/lena-helper.cc b/src/lte/helper/lena-helper.cc index 3968d0acc..8c29e7675 100644 --- a/src/lte/helper/lena-helper.cc +++ b/src/lte/helper/lena-helper.cc @@ -219,6 +219,14 @@ LenaHelper::InstallSingleUeDevice (Ptr n) Ptr mac = CreateObject (); Ptr rrc = CreateObject (); + + // connect SAPs + rrc->SetLteUeCmacSapProvider (mac->GetLteUeCmacSapProvider ()); + mac->SetLteUeCmacSapUser (rrc->GetLteUeCmacSapUser ()); + rrc->SetLteMacSapProvider (mac->GetLteMacSapProvider ()); + phy->SetLteUePhySapUser (mac->GetLteUePhySapUser ()); + mac->SetLteUePhySapProvider (phy->GetLteUePhySapProvider ()); + Ptr dev = CreateObject (n, phy, mac, rrc); phy->SetDevice (dev); dlPhy->SetDevice (dev); diff --git a/src/lte/model/lte-ue-net-device.cc b/src/lte/model/lte-ue-net-device.cc index 44d31045b..865c6c93b 100644 --- a/src/lte/model/lte-ue-net-device.cc +++ b/src/lte/model/lte-ue-net-device.cc @@ -62,7 +62,6 @@ LteUeNetDevice::LteUeNetDevice (void) { NS_LOG_FUNCTION (this); NS_FATAL_ERROR ("This constructor should not be called"); - InitLteUeNetDevice (); } @@ -72,13 +71,8 @@ LteUeNetDevice::LteUeNetDevice (Ptr node, Ptr phy, Ptr 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 @@ LteUeNetDevice::DoDispose (void) } 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); } diff --git a/src/lte/model/lte-ue-net-device.h b/src/lte/model/lte-ue-net-device.h index 4f81bce85..e4e12f9fc 100644 --- a/src/lte/model/lte-ue-net-device.h +++ b/src/lte/model/lte-ue-net-device.h @@ -69,12 +69,6 @@ public: Ptr 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 @@ private: void DoReceive (Ptr p); + void UpdateConfig (void); + Ptr m_targetEnb; Ptr m_mac;