src/lte/model/lte-enb-phy.cc
changeset 7914 301cd877dee5
parent 7913 ed3a9f8a76d7
parent 7910 d7083e401e59
child 7921 0a504caf445d
--- a/src/lte/model/lte-enb-phy.cc	Tue Mar 29 18:28:55 2011 +0200
+++ b/src/lte/model/lte-enb-phy.cc	Tue Mar 29 18:29:42 2011 +0200
@@ -377,6 +377,32 @@
 LteEnbPhy::GenerateCqiFeedback (const SpectrumValue& sinr)
 {
   NS_LOG_FUNCTION (this << sinr);
+    Ptr<LteEnbNetDevice> thisDevice = GetDevice ()->GetObject<LteEnbNetDevice> ();
+    Ptr<UlCqiIdealControlMessage> msg = CreateUlCqiFeedbackMessage (sinr);
+    m_enbPhySapUser->ReceiveIdealControlMessage (msg);
+  
+  
+}
+
+
+Ptr<UlCqiIdealControlMessage> 
+LteEnbPhy::CreateUlCqiFeedbackMessage (const SpectrumValue& sinr)
+{
+	NS_LOG_FUNCTION (this << sinr);
+  Values::const_iterator it;
+  UlCqi_s ulcqi;
+  ulcqi.m_type = UlCqi_s::PUSCH;
+  int i = 0;
+  for (it = sinr.ConstValuesBegin (); it != sinr.ConstValuesEnd (); it++)
+  {
+    ulcqi.m_sinr.push_back ((*it));
+    NS_LOG_DEBUG(this << " RB " << i << " SINR " << (*it));
+    i++;
+  }
+  Ptr<UlCqiIdealControlMessage> msg = Create<UlCqiIdealControlMessage> ();
+  msg->SetUlCqi (ulcqi);
+  return (msg);
+	
 }
 
 };