Bug-fix update frame number codification in sfnId scheduler parameter
authorMarco Miozzo <marco.miozzo@cttc.es>
Mon, 14 Nov 2011 10:31:33 +0100
changeset 8319 8b45a9d26c06
parent 8318 368cccf883a6
child 8320 756e0218720d
Bug-fix update frame number codification in sfnId scheduler parameter
src/lte/model/lte-enb-mac.cc
src/lte/model/pf-ff-mac-scheduler.cc
src/lte/model/rr-ff-mac-scheduler.cc
--- a/src/lte/model/lte-enb-mac.cc	Fri Nov 11 19:05:26 2011 +0100
+++ b/src/lte/model/lte-enb-mac.cc	Mon Nov 14 10:31:33 2011 +0100
@@ -383,7 +383,7 @@
   // --- DOWNLINK ---
   // Send Dl-CQI info to the scheduler
   FfMacSchedSapProvider::SchedDlCqiInfoReqParameters dlcqiInfoReq;
-  dlcqiInfoReq.m_sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  dlcqiInfoReq.m_sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
 
   int cqiNum = m_dlCqiReceived.size ();
   if (cqiNum > MAX_CQI_LIST)
@@ -397,14 +397,14 @@
 
   // Get downlink transmission opportunities
   FfMacSchedSapProvider::SchedDlTriggerReqParameters params;  // to be filled
-  params.m_sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  params.m_sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
   m_schedSapProvider->SchedDlTriggerReq (params);
 
 
   // --- UPLINK ---
   // Send UL-CQI info to the scheduler
   FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqiInfoReq;
-  ulcqiInfoReq.m_sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  ulcqiInfoReq.m_sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
   cqiNum = m_ulCqiReceived.size ();
   if (cqiNum >= 1)
     {
@@ -422,7 +422,7 @@
 
   // Send BSR reports to the scheduler
   FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters ulMacReq;
-  ulMacReq.m_sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  ulMacReq.m_sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
   ulMacReq.m_macCeList.insert (ulMacReq.m_macCeList.begin (), m_ulCeReceived.begin (), m_ulCeReceived.end ());
   m_ulCeReceived.erase (m_ulCeReceived.begin (), m_ulCeReceived.end ());
   m_schedSapProvider->SchedUlMacCtrlInfoReq (ulMacReq);
@@ -430,7 +430,7 @@
 
   // Get uplink transmission opportunities
   FfMacSchedSapProvider::SchedUlTriggerReqParameters ulparams;
-  ulparams.m_sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  ulparams.m_sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
 
   std::map <uint16_t,UlInfoListElement_s>::iterator it;
   for (it = m_ulInfoListElements.begin (); it != m_ulInfoListElements.end (); it++)
--- a/src/lte/model/pf-ff-mac-scheduler.cc	Fri Nov 11 19:05:26 2011 +0100
+++ b/src/lte/model/pf-ff-mac-scheduler.cc	Mon Nov 14 10:31:33 2011 +0100
@@ -973,7 +973,7 @@
   NS_LOG_FUNCTION (this);
   //NS_LOG_DEBUG (this << " RX UL CQI at " << params.m_sfnSf);
   // correlate info on UL-CQIs with previous scheduling -> calculate m_sfnSf of transmission
-  uint32_t frameNo = (0xFF & params.m_sfnSf) >> 4;
+  uint32_t frameNo = (0x3FF & params.m_sfnSf) >> 4;
   uint32_t subframeNo = (0xF & params.m_sfnSf);
   //NS_LOG_DEBUG (this << " sfn " << frameNo << " sbfn " << subframeNo);
   if (subframeNo - m_schedTtiDelay < 0)
@@ -982,7 +982,7 @@
     }
   subframeNo = (subframeNo - m_schedTtiDelay) % 10;
   //NS_LOG_DEBUG (this << " Actual sfn " << frameNo << " sbfn " << subframeNo);
-  uint16_t sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  uint16_t sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
   // retrieve the allocation for this subframe
   std::map <uint16_t, std::vector <uint16_t> >::iterator itMap;
   std::map <uint16_t, std::vector <double> >::iterator itCqi;
--- a/src/lte/model/rr-ff-mac-scheduler.cc	Fri Nov 11 19:05:26 2011 +0100
+++ b/src/lte/model/rr-ff-mac-scheduler.cc	Mon Nov 14 10:31:33 2011 +0100
@@ -809,7 +809,7 @@
   NS_LOG_FUNCTION (this);
   //NS_LOG_DEBUG (this << " RX UL CQI at " << params.m_sfnSf);
   // correlate info on UL-CQIs with previous scheduling -> calculate m_sfnSf of transmission
-  uint32_t frameNo = (0xFF & params.m_sfnSf) >> 4;
+  uint32_t frameNo = (0x3FF & params.m_sfnSf) >> 4;
   uint32_t subframeNo = (0xF & params.m_sfnSf);
   //NS_LOG_DEBUG (this << " sfn " << frameNo << " sbfn " << subframeNo);
   if (subframeNo - m_schedTtiDelay < 0)
@@ -818,7 +818,7 @@
     }
   subframeNo = (subframeNo - m_schedTtiDelay) % 10;
   //NS_LOG_DEBUG (this << " Actual sfn " << frameNo << " sbfn " << subframeNo);
-  uint16_t sfnSf = ((0xFF & frameNo) << 4) | (0xF & subframeNo);
+  uint16_t sfnSf = ((0x3FF & frameNo) << 4) | (0xF & subframeNo);
   // retrieve the allocation for this subframe
   std::map <uint16_t, std::vector <uint16_t> >::iterator itMap;
   std::map <uint16_t, std::vector <double> >::iterator itCqi;