Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
promise
OpenXG-RAN
Commits
d3105514
Commit
d3105514
authored
Feb 04, 2021
by
magounak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed floating point exception in tx_rf() (--rfsim)
parent
3b638d18
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
22 deletions
+25
-22
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+25
-22
No files found.
targets/RT/USER/lte-ru.c
View file @
d3105514
...
...
@@ -919,34 +919,37 @@ void tx_rf(RU_t *ru,
siglen
+
sf_extension
,
ru
->
nb_tx
,
flags
);
if
(
ru
->
state
==
RU_RUN
&&
proc
->
frame_tx
%
ru
->
p
==
ru
->
tag
&&
proc
->
tti_tx
==
1
)
{
txs1
=
ru
->
rfdevice
.
trx_write_func
(
&
ru
->
rfdevice
,
proc
->
timestamp_tx
+
(
ru
->
ts_offset
+
sigoff2
)
-
ru
->
openair0_cfg
.
tx_sample_advance
-
sf_extension
,
txp1
,
siglen2
+
sf_extension
,
ru
->
nb_tx
,
flags
);
//LOG_M("txdata.m","txdata",&ru->common.txdata[0][0], fp->samples_per_tti*10,1,1); // save 1 frame
//exit(-1);
int
se1
=
dB_fixed
(
signal_energy
(
txp1
[
0
],
siglen2
+
sf_extension
));
LOG_D
(
PHY
,
"******** frame %d subframe %d RRU sends DMRS of energy10 %d, energy3 %d
\n
"
,
proc
->
frame_tx
,
proc
->
tti_tx
,
se1
,
dB_fixed
(
signal_energy
(
txp
[
0
],
siglen
+
sf_extension
)));
LOG_D
(
PHY
,
"txs1 %d, siglen2 %d, sf_extension %d
\n
"
,
txs1
,
siglen2
,
sf_extension
);
}
if
(
ru
->
p
!=
0
){
if
(
ru
->
state
==
RU_RUN
&&
proc
->
frame_tx
%
ru
->
p
==
ru
->
tag
&&
proc
->
tti_tx
==
1
)
{
txs1
=
ru
->
rfdevice
.
trx_write_func
(
&
ru
->
rfdevice
,
proc
->
timestamp_tx
+
(
ru
->
ts_offset
+
sigoff2
)
-
ru
->
openair0_cfg
.
tx_sample_advance
-
sf_extension
,
txp1
,
siglen2
+
sf_extension
,
ru
->
nb_tx
,
flags
);
//LOG_M("txdata.m","txdata",&ru->common.txdata[0][0], fp->samples_per_tti*10,1,1); // save 1 frame
//exit(-1);
int
se1
=
dB_fixed
(
signal_energy
(
txp1
[
0
],
siglen2
+
sf_extension
));
LOG_D
(
PHY
,
"******** frame %d subframe %d RRU sends DMRS of energy10 %d, energy3 %d
\n
"
,
proc
->
frame_tx
,
proc
->
tti_tx
,
se1
,
dB_fixed
(
signal_energy
(
txp
[
0
],
siglen
+
sf_extension
)));
LOG_D
(
PHY
,
"txs1 %d, siglen2 %d, sf_extension %d
\n
"
,
txs1
,
siglen2
,
sf_extension
);
}
}
ru
->
south_out_cnt
++
;
LOG_D
(
PHY
,
"south_out_cnt %d
\n
"
,
ru
->
south_out_cnt
);
int
se
=
dB_fixed
(
signal_energy
(
txp
[
0
],
siglen
+
sf_extension
));
//
int se = dB_fixed(signal_energy(txp[0],siglen+sf_extension));
if
(
SF_type
==
SF_S
)
LOG_D
(
PHY
,
"[TXPATH] RU %d tx_rf (en %d,len %d), writing to TS %llu, frame %d, unwrapped_frame %d, subframe %d
\n
"
,
ru
->
idx
,
se
,
siglen
+
sf_extension
,
(
long
long
unsigned
int
)
timestamp
,
frame
,
proc
->
frame_tx_unwrap
,
subframe
);
//
if (SF_type == SF_S) LOG_D(PHY,"[TXPATH] RU %d tx_rf (en %d,len %d), writing to TS %llu, frame %d, unwrapped_frame %d, subframe %d\n",ru->idx, se,
//
siglen+sf_extension, (long long unsigned int)timestamp, frame, proc->frame_tx_unwrap, subframe);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
if
(
ru
->
state
==
RU_RUN
&&
proc
->
frame_tx
%
ru
->
p
==
ru
->
tag
&&
proc
->
tti_tx
==
1
)
{
if
(
(
txs1
!=
siglen2
+
sf_extension
)
&&
(
late_control
==
STATE_BURST_NORMAL
)
){
/* add fail safe for late command */
late_control
=
STATE_BURST_TERMINATE
;
LOG_E
(
PHY
,
"TX : Timeout (sent %d/%d) state =%d
\n
"
,
txs1
,
siglen2
,
late_control
);
}
if
(
ru
->
p
!=
0
)
{
if
(
ru
->
state
==
RU_RUN
&&
proc
->
frame_tx
%
ru
->
p
==
ru
->
tag
&&
proc
->
tti_tx
==
1
)
{
if
(
(
txs1
!=
siglen2
+
sf_extension
)
&&
(
late_control
==
STATE_BURST_NORMAL
)
){
/* add fail safe for late command */
late_control
=
STATE_BURST_TERMINATE
;
LOG_E
(
PHY
,
"TX : Timeout (sent %d/%d) state =%d
\n
"
,
txs1
,
siglen2
,
late_control
);
}
}
}
if
(
(
txs
!=
siglen
+
sf_extension
)
&&
(
late_control
==
STATE_BURST_NORMAL
)
)
{
/* add fail safe for late command */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment