Commit d319a9f0 authored by Rohit Gupta's avatar Rohit Gupta

Merge branch 'develop' into feature-44-dedicated-drb

parents 863dbe8e d8b6edaa
...@@ -60,7 +60,9 @@ function help() ...@@ -60,7 +60,9 @@ function help()
echo_error " -f, --rf-config-file filename RF specific configuration file" echo_error " -f, --rf-config-file filename RF specific configuration file"
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)" echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
echo_error " -M, --target-dl-mcs mcs Downlink target MCS." echo_error " -M, --target-dl-mcs mcs Downlink target MCS."
echo_error " -m, --mscgen directory Generate mscgen output files in a directory" echo_error " -n, --T-no-wait don't wait for tracer, start immediately"
echo_error " -p, --T-port port use given port"
echo_error " -m, --mscgen directory Generate mscgen output files in a directory"
echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt." echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt."
echo_error " -S, --enable-missed-slot Continue execution in case of missed slot." echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
echo_error " -T, --target-ul-mcs mcs Uplink target MCS." echo_error " -T, --target-ul-mcs mcs Uplink target MCS."
...@@ -188,7 +190,17 @@ function main() ...@@ -188,7 +190,17 @@ function main()
exe_arguments="$exe_arguments -m $2" exe_arguments="$exe_arguments -m $2"
shift 2; shift 2;
;; ;;
-V | --vcd) -n | --T-no-wait)
echo "setting T tracer operation"
exe_arguments="$exe_arguments --T_nowait"
shift ;
;;
-p | --T-port)
echo "setting T tracer port"
exe_arguments="$exe_arguments --T_port $2"
shift 2;
;;
-V | --vcd)
echo "setting gtk-wave output" echo "setting gtk-wave output"
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
shift ; shift ;
......
...@@ -55,7 +55,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue, ...@@ -55,7 +55,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
unsigned int rx_offset; unsigned int rx_offset;
void (*dft)(int16_t *,int16_t *, int); void (*dft)(int16_t *,int16_t *, int);
int tmp_dft_in[2048]; // This is for misalignment issues for 6 and 15 PRBs int tmp_dft_in[2048] __attribute__ ((aligned (32))); // This is for misalignment issues for 6 and 15 PRBs
switch (frame_parms->ofdm_symbol_size) { switch (frame_parms->ofdm_symbol_size) {
case 128: case 128:
......
...@@ -49,15 +49,16 @@ NUM_eNB=1 ...@@ -49,15 +49,16 @@ NUM_eNB=1
NUM_TRIALS=3 NUM_TRIALS=3
PRB=[25,50,100] PRB=[25,50,100]
MCS=[0,4,9,10,13,16,17,22,27] MCS=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]
#MCS=[0,4,9,10,13,16,17,22,27]
#PRB=[100] #PRB=[100]
#MCS=[16] #MCS=[16]
ANT_TX=1 # 2 ANT_TX=2 # 2
ANT_RX=2 # 2 ANT_RX=2 # 2
CHANNEL=["N"] CHANNEL=["N"]
#CHANNEL=["C","E","F","G","H","I","L","M"] # A,B,C,D,E,F, #CHANNEL=["C","E","F","G","H","I","L","M"] # A,B,C,D,E,F,
TX_MODE=2 # 2, TX_MODE=2 # 2,
MIN_SNR=0 MIN_SNR=10
MAX_SNR=40 MAX_SNR=40
PERF=75 PERF=75
OPT="-L" OPT="-L"
...@@ -69,9 +70,9 @@ FRAME=2000 ...@@ -69,9 +70,9 @@ FRAME=2000
def execute(oai, user, pw, host,logfile,logdir,debug,cpu): def execute(oai, user, pw, host,logfile,logdir,debug,cpu):
case = '10' case = '10'
oai.send('cd $OPENAIR1_DIR;') oai.send('cd $OPENAIR_TARGETS;')
oai.send('cd SIMULATION/LTE_PHY;') oai.send('cd bin;')
oai.send('cp ./ulsim.Rel10 ./ulsim.Rel10.'+host)
try: try:
log.start() log.start()
test = '300' test = '300'
...@@ -80,13 +81,13 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu): ...@@ -80,13 +81,13 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu):
diag = 'ulsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' diag = 'ulsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed'
trace = logdir + '/log_' + host + case + test + '_1.txt;' trace = logdir + '/log_' + host + case + test + '_1.txt;'
tee = ' 2>&1 | tee ' + trace tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'Segmentation fault', 30) oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Segmentation fault', 30)
trace = logdir + '/log_' + host + case + test + '_2.txt;' trace = logdir + '/log_' + host + case + test + '_2.txt;'
tee = ' 2>&1 | tee ' + trace tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'Exiting', 30) oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Exiting', 30)
trace = logdir + '/log_' + host + case + test + '_3.txt;' trace = logdir + '/log_' + host + case + test + '_3.txt;'
tee = ' 2>&1 | tee ' + trace tee = ' 2>&1 | tee ' + trace
oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'FATAL', 30) oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'FATAL', 30)
except log.err, e: except log.err, e:
log.fail(case, test, name, conf, e.value, diag, logfile,trace) log.fail(case, test, name, conf, e.value, diag, logfile,trace)
...@@ -100,42 +101,47 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu): ...@@ -100,42 +101,47 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu):
diag = 'no diagnostic is available, check the log file' diag = 'no diagnostic is available, check the log file'
for i in range(len(PRB)): for i in range(len(PRB)):
for o in range(len(CHANNEL)): for o in range(len(CHANNEL)):
MIN_SNR=0 MIN_SNR=10
for j in range(len(MCS)): for j in range(len(MCS)):
for m in range (1,ANT_RX): for m in range (1,ANT_RX):
for p in range(1,TX_MODE): for p in range(1,TX_MODE):
for q in range(MIN_SNR,MAX_SNR): for r in range(5,PRB[i]):
#if if PRB[i] : for q in range(MIN_SNR,MAX_SNR):
conf = '-B' + str(PRB[i]) + ' -m'+str(MCS[j]) + ' -y'+str(m) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -e.1 -P -n'+str(FRAME)+' -O'+str(PERF)+' '+ OPT
trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+'_mcs'+ str(MCS[j])+ '_antrx' + str(m) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log' if r ==7 or r ==11 or r ==14 or r == 17 or r==19 or r == 21 or r == 23 or r == 26 or r == 28 :
tee = ' 2>&1 | tee ' + trace continue
if cpu > -1 :
cmd = 'taskset -c ' + str(cpu) + ' ./ulsim.rel8.'+ host + ' ' + conf + tee
else :
cmd = './ulsim.rel8.'+ host + ' ' + conf + tee
if debug :
print cmd
# match = oai.send_expect_re(cmd, 'passed', 0, 1000) conf = '-B' + str(PRB[i]) + ' -r'+str(r) + ' -m'+str(MCS[j]) + ' -y'+str(m) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -e.1 -P -n'+str(FRAME)+' -O'+str(PERF)+' '+ OPT
match =1 trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+ '_rb'+str(r)+'_mcs'+ str(MCS[j])+ '_antrx' + str(m) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log'
if match : tee = ' 2>&1 | tee ' + trace
log.ok(case, str(test), name, conf, '', logfile) if cpu > -1 :
MIN_SNR = q - 1 # just to speed up the test cmd = 'taskset -c ' + str(cpu) + ' ./ulsim.Rel10.'+ host + ' ' + conf + tee
test+=1 else :
break # found the smallest snr cmd = './ulsim.Rel10.'+ host + ' ' + conf + tee
else :
if q == MAX_SNR -1 : if debug :
log.skip(case,str(test), name, conf,'','',logfile) print cmd
match = oai.send_expect_re(cmd, 'passed', 0, 1000)
#match =1
if match :
log.ok(case, str(test), name, conf, '', logfile)
MIN_SNR = q - 1 # just to speed up the test
test+=1 test+=1
break break # found the smallest snr
try: else :
if os.path.isfile(trace) : if q == MAX_SNR -1 :
os.remove(trace) log.skip(case,str(test), name, conf,'','',logfile)
except OSError, e: ## if failed, report it back to the user ## test+=1
print ("Error: %s - %s." % (e.filename,e.strerror)) break
try:
if os.path.isfile(trace) :
os.remove(trace)
except OSError, e: ## if failed, report it back to the user ##
print ("Error: %s - %s." % (e.filename,e.strerror))
except log.err, e: except log.err, e:
......
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