Commit 03decb04 authored by rdoost's avatar rdoost

adding mme addresses to conf file, added SF_DL check to TX, cosmetic changes to iris_lib

parent 57009d1d
......@@ -21,7 +21,7 @@
#include "UTIL/LOG/log_extern.h"
#include "common_lib.h"
#define SAMPLE_RATE_DOWN 4
#define SAMPLE_RATE_DOWN 1
/*! \brief Iris Configuration */
typedef struct
......@@ -170,6 +170,7 @@ static int trx_iris_write(openair0_device *device, openair0_timestamp timestamp,
printf("Unable to write stream!\n");
break;
}
flag = 0;
samples_sent += ret;
samps[0] += ret;
if (cc % 2 == 0)
......@@ -482,6 +483,7 @@ extern "C" {
// Initialize Iris device
device->openair0_cfg = openair0_cfg;
SoapySDR::Kwargs args;
for (card = 0; card < MAX_CARDS; card++)
{
char* remote_addr = device->openair0_cfg[card].remote_addr;
......@@ -491,7 +493,8 @@ extern "C" {
while (srl != NULL)
{
LOG_I(HW,"Attempting to open Iris device: %s\n", srl);
std::string args = "driver="+std::string(drvtype)+",serial="+std::string(srl)+",remote:prot=tcp";
args["driver"] = drvtype;
args["serial"] = srl;
s->iris.push_back(SoapySDR::Device::make(args));
srl = strtok(NULL, ",");
}
......@@ -523,7 +526,7 @@ extern "C" {
//openair0_cfg[0].samples_per_packet = 1024;
//openair0_cfg[0].tx_sample_advance = 80;
openair0_cfg[0].tx_bw = 30e6;
openair0_cfg[0].rx_bw = 5e6;
openair0_cfg[0].rx_bw = 30e6;
break;
case 1920000:
//openair0_cfg[0].samples_per_packet = 1024;
......@@ -577,7 +580,7 @@ extern "C" {
s->iris[r]->setGain(SOAPY_SDR_RX, i, openair0_cfg[0].rx_gain[i]-openair0_cfg[0].rx_gain_offset[i]);
if (openair0_cfg[0].duplex_mode == 1 ) //duplex_mode_TDD
s->iris[r]->setAntenna(SOAPY_SDR_RX, i, (i==0)?"TRXA":"TRXB");
s->iris[r]->setAntenna(SOAPY_SDR_RX, i, s->iris[r]->listAntennas(SOAPY_SDR_RX,i)[0]);
s->iris[r]->setDCOffsetMode(SOAPY_SDR_RX, i, true); // move somewhere else
}
}
......@@ -590,19 +593,19 @@ extern "C" {
}
// create tx & rx streamer
const SoapySDR::Kwargs &arg = SoapySDR::Kwargs();
std::vector<size_t> channels={};
//const SoapySDR::Kwargs &arg = SoapySDR::Kwargs();
std::vector<size_t> channels;
for (i = 0; i < s->rx_num_channels; i++)
if (i < s->iris[r]->getNumChannels(SOAPY_SDR_RX))
channels.push_back(i);
s->rxStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_RX, SOAPY_SDR_CS16, channels, arg));
s->rxStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_RX, SOAPY_SDR_CS16, channels)); //, arg));
std::vector<size_t> tx_channels={};
for (i = 0; i < s->tx_num_channels; i++)
if (i < s->iris[r]->getNumChannels(SOAPY_SDR_TX))
tx_channels.push_back(i);
s->txStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_TX, SOAPY_SDR_CS16, tx_channels, arg));
s->iris[r]->setHardwareTime(0, "");
s->txStream.push_back(s->iris[r]->setupStream(SOAPY_SDR_TX, SOAPY_SDR_CS16, tx_channels)); //, arg));
//s->iris[r]->setHardwareTime(0, "");
for (i = 0; i < s->rx_num_channels; i++) {
......
......@@ -17,7 +17,7 @@ eNBs =
mobile_country_code = "208";
mobile_network_code = "94";
mobile_network_code = "92";
////////// Physical parameters:
......@@ -31,7 +31,7 @@ eNBs =
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 38;
downlink_frequency = 2600000000L;
downlink_frequency = 2580000000L;
uplink_frequency_offset = 0;
Nid_cell = 57;
N_RB_DL = 25;
......@@ -137,8 +137,8 @@ eNBs =
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.12.70";
ipv6 = "192:168:30::17";
mme_ip_address = ( { ipv4 = "10.224.20.11";
ipv6 = "fe80::6a6:9555:ded:fafa/64";
active = "yes";
preference = "ipv4";
}
......@@ -146,7 +146,7 @@ eNBs =
rrh_gw_config = ({
local_if_name = "eth0";
remote_address = "remote,0127";
remote_address = "iris,0205";
local_address = "10.224.20.40";
local_port = 50000; #for raw option local port must be the same to remote
remote_port = 50000;
......@@ -162,11 +162,16 @@ rrh_gw_config = ({
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.146/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth1";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.146/24";
#ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
#ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.146/24";
#ENB_INTERFACE_NAME_FOR_S1U = "eth1";
#ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.146/24";
#ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_INTERFACE_NAME_FOR_S1_MME = "enp1s0f0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "10.224.20.35/26";
ENB_INTERFACE_NAME_FOR_S1U = "enp1s0f0";
ENB_IPV4_ADDRESS_FOR_S1U = "10.224.20.35/26";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
};
......
......@@ -17,7 +17,7 @@ eNBs =
mobile_country_code = "208";
mobile_network_code = "94";
mobile_network_code = "92";
////////// Physical parameters:
......@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -60;
pdsch_referenceSignalPower = -30;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
......@@ -68,7 +68,7 @@ eNBs =
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -90;
pusch_p0_Nominal = -70;
pusch_alpha = "AL1";
pucch_p0_Nominal = -96;
msg3_delta_Preamble = 6;
......@@ -137,8 +137,8 @@ eNBs =
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.12.70";
ipv6 = "192:168:30::17";
mme_ip_address = ( { ipv4 = "10.224.20.11";
ipv6 = "fe80::6a6:9555:ded:fafa";
active = "yes";
preference = "ipv4";
}
......@@ -146,7 +146,7 @@ eNBs =
rrh_gw_config = ({
local_if_name = "eth0";
remote_address = "remote,0106";
remote_address = "iris,0205";
local_address = "10.224.20.47"
local_port = 50000; #for raw option local port must be the same to remote
remote_port = 50000;
......@@ -161,12 +161,17 @@ rrh_gw_config = ({
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth1";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.146/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth1";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.146/24";
ENB_INTERFACE_NAME_FOR_S1_MME = "enp1s0f0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "10.224.20.35/26";
ENB_INTERFACE_NAME_FOR_S1U = "enp1s0f0";
ENB_IPV4_ADDRESS_FOR_S1U = "10.224.20.35/26";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
#ENB_INTERFACE_NAME_FOR_S1_MME = "enp1s0f0";
#ENB_IPV4_ADDRESS_FOR_S1_MME = "10.224.20.35/26";
#ENB_INTERFACE_NAME_FOR_S1U = "enp1s0f0";
#ENB_IPV4_ADDRESS_FOR_S1U = "10.224.20.35/26";
#ENB_PORT_FOR_S1U = 2152; # Spec 2152
};
log_config :
......
......@@ -875,7 +875,10 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
void *rxp[fp->nb_antennas_rx],*txp[fp->nb_antennas_tx];
unsigned int rxs,txs;
int i;
int flag = 1;
int tx_sfoffset = 3;//(eNB->single_thread_flag == 1) ? 3 : 3;
//lte_subframe_t TXSF_type = subframe_select(fp,(proc->subframe_rx+tx_sfoffset)%10);
//if (proc->first_rx==0 && TXSF_type != SF_UL) {
if (proc->first_rx==0) {
// Transmit TX buffer based on timestamp from RX
......@@ -886,13 +889,14 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
for (i=0; i<fp->nb_antennas_tx; i++)
txp[i] = (void*)&eNB->common_vars.txdata[0][i][((proc->subframe_rx+tx_sfoffset)%10)*fp->samples_per_tti];
//lte_subframe_t SFnext_type = subframe_select(fp,(proc->subframe_rx+tx_sfoffset+1)%10);
//if (SFnext_type == SF_UL) flag = 3;
txs = eNB->rfdevice.trx_write_func(&eNB->rfdevice,
proc->timestamp_rx+(tx_sfoffset*fp->samples_per_tti)-openair0_cfg[0].tx_sample_advance,
txp,
fp->samples_per_tti,
fp->nb_antennas_tx,
1);
flag);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 0 );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment