From 2466f16ec3f1c0caf2af65061a377a7c5bd7a00c Mon Sep 17 00:00:00 2001
From: Florian Kaltenberger <florian.kaltenberger@eurecom.fr>
Date: Mon, 23 Oct 2017 14:54:39 +0200
Subject: [PATCH] adding flag for phy-test

---
 openair2/LAYER2/MAC/defs.h          |  2 ++
 openair2/LAYER2/MAC/eNB_scheduler.c | 47 +++++++++++++++--------------
 2 files changed, 26 insertions(+), 23 deletions(-)

diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h
index aab00d610b..b0d7dffa20 100644
--- a/openair2/LAYER2/MAC/defs.h
+++ b/openair2/LAYER2/MAC/defs.h
@@ -1051,6 +1051,8 @@ typedef struct eNB_MAC_INST_s {
   COMMON_channels_t common_channels[MAX_NUM_CCs];
   /// current PDU index (BCH,MCH,DLSCH)
   uint16_t pdu_index[MAX_NUM_CCs];
+  /// flag to enable phy-test (disables the scheduler)
+  uint16_t phy_test;
 
   /// NFAPI Config Request Structure
   nfapi_config_request_t config[MAX_NUM_CCs];
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 50592921dd..ca802f4201 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -517,29 +517,30 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
 
 #endif
 
-  // This schedules MIB
-  if ((subframeP==0) && (frameP&3) == 0) schedule_mib(module_idP,frameP,subframeP);
-  /*
-  // This schedules SI for legacy LTE and eMTC starting in subframeP
-  schedule_SI(module_idP,frameP,subframeP);
-  // This schedules Random-Access for legacy LTE and eMTC starting in subframeP
-  schedule_RA(module_idP,frameP,subframeP);
-  // copy previously scheduled UL resources (ULSCH + HARQ)
-  copy_ulreq(module_idP,frameP,subframeP);
-  // This schedules SRS in subframeP
-  schedule_SRS(module_idP,frameP,subframeP);
-  // This schedules ULSCH in subframeP (dci0)
-  schedule_ulsch(module_idP,frameP,subframeP);
-  // This schedules UCI_SR in subframeP
-  schedule_SR(module_idP,frameP,subframeP);
-  // This schedules UCI_CSI in subframeP
-  schedule_CSI(module_idP, frameP, subframeP);
-  */
-
-  // This schedules DLSCH in subframeP
-  //schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
-
-  schedule_ue_spec_phy_test(module_idP,frameP,subframeP,mbsfn_status);
+  if (RC.mac[module_idP]->phy_test==0) {
+    // This schedules MIB
+    if ((subframeP==0) && (frameP&3) == 0) schedule_mib(module_idP,frameP,subframeP);
+    // This schedules SI for legacy LTE and eMTC starting in subframeP
+    schedule_SI(module_idP,frameP,subframeP);
+    // This schedules Random-Access for legacy LTE and eMTC starting in subframeP
+    schedule_RA(module_idP,frameP,subframeP);
+    // copy previously scheduled UL resources (ULSCH + HARQ)
+    copy_ulreq(module_idP,frameP,subframeP);
+    // This schedules SRS in subframeP
+    schedule_SRS(module_idP,frameP,subframeP);
+    // This schedules ULSCH in subframeP (dci0)
+    schedule_ulsch(module_idP,frameP,subframeP);
+    // This schedules UCI_SR in subframeP
+    schedule_SR(module_idP,frameP,subframeP);
+    // This schedules UCI_CSI in subframeP
+    schedule_CSI(module_idP, frameP, subframeP);
+    
+    // This schedules DLSCH in subframeP
+    schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
+  }
+  else {
+    schedule_ue_spec_phy_test(module_idP,frameP,subframeP,mbsfn_status);
+  }
 
   // Allocate CCEs for good after scheduling is done
 
-- 
GitLab