From ccba43e2f07456a907b652e8c98d599041c95507 Mon Sep 17 00:00:00 2001
From: Wang Tsu-Han <wangts@eurecom.fr>
Date: Fri, 27 Oct 2017 10:33:30 +0200
Subject: [PATCH] adding phy-test to config. fixing power allocation for
 phy-test.

---
 openair2/ENB_APP/enb_config.c                                  | 3 +++
 openair2/ENB_APP/enb_paramdef.h                                | 3 +++
 openair2/LAYER2/MAC/eNB_scheduler.c                            | 3 +--
 openair2/LAYER2/MAC/eNB_scheduler_phytest.c                    | 2 +-
 .../GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf     | 1 +
 targets/RT/USER/lte-softmodem.c                                | 2 +-
 6 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index a02f365954..8e8483d606 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -314,6 +314,9 @@ void RCconfig_macrlc() {
     mac_top_init_eNB();   
     for (j=0;j<RC.nb_macrlc_inst;j++) {
 
+      RC.mac[j]->phy_test = *(MacRLC_ParamList.paramarray[j][MACRLC_PHY_TEST_IDX].iptr);
+      printf("PHY_TEST = %d,%d\n", RC.mac[j]->phy_test, j);
+
       if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr), "local_RRC") == 0) {
 	// check number of instances is same as RRC/PDCP
 	
diff --git a/openair2/ENB_APP/enb_paramdef.h b/openair2/ENB_APP/enb_paramdef.h
index 6a03687fab..3fef026961 100755
--- a/openair2/ENB_APP/enb_paramdef.h
+++ b/openair2/ENB_APP/enb_paramdef.h
@@ -650,6 +650,7 @@ static int DEFENBS[] = {0};
 #define CONFIG_STRING_MACRLC_REMOTE_S_PORTC                "remote_s_portc"
 #define CONFIG_STRING_MACRLC_LOCAL_S_PORTD                 "local_s_portd"
 #define CONFIG_STRING_MACRLC_REMOTE_S_PORTD                "remote_s_portd"
+#define CONFIG_STRING_MACRLC_PHY_TEST_MODE                 "phy_test_mode"
 
 
 /*-------------------------------------------------------------------------------------------------------------------------------------------------------*/
@@ -674,6 +675,7 @@ static int DEFENBS[] = {0};
 {CONFIG_STRING_MACRLC_REMOTE_S_PORTC,                    NULL,     0,          uptr:NULL,           defintval:50020,           TYPE_UINT,     0},        \
 {CONFIG_STRING_MACRLC_LOCAL_S_PORTD,                     NULL,     0,          uptr:NULL,           defintval:50021,           TYPE_UINT,     0},        \
 {CONFIG_STRING_MACRLC_REMOTE_S_PORTD,                    NULL,     0,          uptr:NULL,           defintval:50021,           TYPE_UINT,     0},        \
+{CONFIG_STRING_MACRLC_PHY_TEST_MODE,                     NULL,     0,          uptr:NULL,           defintval:1,               TYPE_UINT,     0}   \
 }
 #define MACRLC_CC_IDX                                          0
 #define MACRLC_TRANSPORT_N_PREFERENCE_IDX                      1
@@ -692,4 +694,5 @@ static int DEFENBS[] = {0};
 #define MACRLC_REMOTE_S_PORTC_IDX                              14
 #define MACRLC_LOCAL_S_PORTD_IDX                               15
 #define MACRLC_REMOTE_S_PORTD_IDX                              16
+#define MACRLC_PHY_TEST_IDX                                    17
 /*---------------------------------------------------------------------------------------------------------------------------------------------------------*/
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 3c571718ca..172168bee3 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -518,8 +518,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
 
 #endif
 
-  
-    // This schedules MIB
+  // This schedules MIB
   if ((subframeP==0) && (frameP&3) == 0) schedule_mib(module_idP,frameP,subframeP);
   if (phy_test==0) {
     // This schedules SI for legacy LTE and eMTC starting in subframeP
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_phytest.c b/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
index e279edd0dd..342b6b6437 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_phytest.c
@@ -168,7 +168,7 @@ schedule_ue_spec_phy_test(
 			      1, // number of subbands
 			      //			     uint8_t codebook_index,
 			      4, // UE category capacity
-			      0, /*UE_list->UE_template[CC_id][UE_id].physicalConfigDedicated->pdsch_ConfigDedicated->p_a,*/ 
+			      PDSCH_ConfigDedicated__p_a_dB0, 
 			      0, // delta_power_offset for TM5
 			      0, // ngap
 			      0, // nprb
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
index 2e7e56589c..5815a56d8e 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
@@ -164,6 +164,7 @@ MACRLCs = (
 	num_cc = 1;
 	tr_s_preference = "local_L1";
 	tr_n_preference = "local_RRC";
+	phy_test_mode = 1;
         }  
 );
 
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 17bd7631b7..e21fd12428 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -171,7 +171,7 @@ static int                      tx_max_power[MAX_NUM_CCs]; /* =  {0,0}*/;
 char   rf_config_file[1024];
 
 int chain_offset=0;
-int phy_test = 1;
+int phy_test = 0;
 uint8_t usim_test = 0;
 
 uint8_t dci_Format = 0;
-- 
GitLab