From 3a1874a145a022c3192d10dbb57165f89726a1b9 Mon Sep 17 00:00:00 2001
From: Aikaterini <aikaterini.trilyraki@eurecom.fr>
Date: Mon, 8 Feb 2016 13:50:36 +0100
Subject: [PATCH] add  openair0_cgf params in device libraries for tx
 triggering and IQ samples shift

---
 targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c   | 8 ++++----
 targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c | 8 ++++----
 targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c   | 8 +++++++-
 targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp       | 8 ++++----
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
index 0c471da0f9..295dcaded4 100644
--- a/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
+++ b/targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
@@ -829,10 +829,10 @@ int openair0_dev_init_bladerf(openair0_device *device, openair0_config_t *openai
   brf_state_t *brf = (brf_state_t*)malloc(sizeof(brf_state_t));
   memset(brf, 0, sizeof(brf_state_t));
   /* device specific */
-  openair0_cfg->txlaunch_wait = 1;
-  openair0_cfg->txlaunch_wait_slotcount = 1; /* device specific */
-  openair0_cfg->iq_txshift = 5;
-  openair0_cfg->iq_rxrescale = 15;
+  openair0_cfg->txlaunch_wait = 1;//manage when TX processing is triggered
+  openair0_cfg->txlaunch_wait_slotcount = 1; //manage when TX processing is triggered
+  openair0_cfg->iq_txshift = 0;// shift
+  openair0_cfg->iq_rxrescale = 15;//rescale iqs
   
   // init required params
   switch ((int)openair0_cfg->sample_rate) {
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
index 15aa0d49a7..cfdd67837b 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
@@ -374,10 +374,10 @@ int transport_init(openair0_device *device, openair0_config_t *openair0_cfg, eth
   device->priv = eth;
  	
   /* device specific */
-  openair0_cfg[0].iq_txshift = 5;
-  openair0_cfg[0].iq_rxrescale = 15;
-  openair0_cfg[0].txlaunch_wait = 0;
-  openair0_cfg[0].txlaunch_wait_slotcount = 0;
+  openair0_cfg[0].txlaunch_wait = 0;//manage when TX processing is triggered
+  openair0_cfg[0].txlaunch_wait_slotcount = 0; //manage when TX processing is triggered
+  openair0_cfg[0].iq_txshift = 5;// shift
+  openair0_cfg[0].iq_rxrescale = 15;//rescale iqs
 
   /* RRH does not have any information to make this configuration atm */
   if (device->host_type == BBU_HOST) {
diff --git a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
index a1cc474435..427cd47be8 100644
--- a/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
+++ b/targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
@@ -247,7 +247,7 @@ int openair0_stop_without_reset(int card)
 #define MY_RF_MODE      (RXEN + TXEN + TXLPFNORM + TXLPFEN + TXLPF25 + RXLPFNORM + RXLPFEN + RXLPF25 + LNA1ON +LNAMax + RFBBNORM + DMAMODE_RX + DMAMODE_TX)
 #define RF_MODE_BASE    (LNA1ON + RFBBNORM)
 
-int device_init(openair0_device *device, openair0_config_t *openair0_cfg, char *cfgfile) {
+int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
 
   // Initialize card
   //  exmimo_config_t         *p_exmimo_config;
@@ -325,6 +325,12 @@ int openair0_config(openair0_config_t *openair0_cfg, int UE_flag)
     else
       p_exmimo_config->framing.multicard_syncmode=SYNCMODE_SLAVE;
 
+    /* device specific */
+    openair0_cfg[card].txlaunch_wait = 1;//manage when TX processing is triggered
+    openair0_cfg[card].txlaunch_wait_slotcount = 1; //manage when TX processing is triggered
+    openair0_cfg[card].iq_txshift = 4;//shift
+    openair0_cfg[card].iq_rxrescale = 15;//rescale iqs
+
     if (openair0_cfg[card].sample_rate==30.72e6) {
       resampling_factor = 0;
       rx_filter = RXLPF10;
diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
index dc9191a613..70ed21575d 100644
--- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -555,10 +555,10 @@ extern "C" {
   }
 
   /* device specific */
-  openair0_cfg[0].iq_txshift = 5;
-  openair0_cfg[0].iq_rxrescale = 15;
-  openair0_cfg[0].txlaunch_wait = 1;
-  openair0_cfg[0].txlaunch_wait_slotcount = 1;
+  openair0_cfg[0].txlaunch_wait = 1;//manage when TX processing is triggered
+  openair0_cfg[0].txlaunch_wait_slotcount = 1; //manage when TX processing is triggered
+  openair0_cfg[0].iq_txshift = 4;//shift
+  openair0_cfg[0].iq_rxrescale = 15;//rescale iqs
   
   for(i=0;i<s->usrp->get_rx_num_channels();i++) {
     if (i<openair0_cfg[0].rx_num_channels) {
-- 
GitLab