Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
trx-ecpri
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
nexedi
trx-ecpri
Commits
961d41cc
Commit
961d41cc
authored
Jan 27, 2025
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wip
parent
6a76a666
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
10 deletions
+11
-10
trx_ecpri.c
trx_ecpri.c
+11
-10
No files found.
trx_ecpri.c
View file @
961d41cc
...
...
@@ -162,8 +162,8 @@ static counter_stat_t rx_drop_counter; // frames sent to RRH
static
counter_stat_t
tx_drop_counter
;
// frames sent to RRH
// Network
static
uint8_t
prev_seq_id
;
static
uint8_
t
seq_id
;
static
int
prev_seq_id
=
-
1
;
static
in
t
seq_id
;
static
uint8_t
frame_id
;
static
uint8_t
sub_frame_id
;
static
uint8_t
slot_id
;
...
...
@@ -340,7 +340,7 @@ void print_bytes(const char * str, uint8_t * data, int * offset, int count) {
int
i
;
printf
(
"%s"
,
str
);
for
(
i
=
*
offset
;
i
<
(
*
offset
+
count
);
i
++
)
printf
(
"%
X
"
,
data
[
i
]);
printf
(
"%
02x
"
,
data
[
i
]);
*
offset
+=
count
;
printf
(
"
\n
"
);
}
...
...
@@ -348,16 +348,16 @@ void print_packet(uint8_t * data, int length) {
int
offset
=
0
;
int
j
;
uint16_t
antenna_id
;
uint8_
t
_seq_id
;
in
t
_seq_id
;
print_bytes
(
"MAC DST: "
,
data
,
&
offset
,
6
);
print_bytes
(
"MAC SRC: "
,
data
,
&
offset
,
6
);
print_bytes
(
"Ethertype: "
,
data
,
&
offset
,
2
);
print_bytes
(
"eCPRI Common Header: "
,
data
,
&
offset
,
4
);
print_bytes
(
"IQ DATA Header: "
,
data
,
&
offset
,
4
);
print_bytes
(
"IQ payload:
\n
"
,
data
,
&
offset
,
length
-
offset
);
//
print_bytes("IQ payload:\n", data, &offset, length - offset);
j
=
ETHERNET_HEADER
+
ECPRI_COMMON_HEADER
;
antenna_id
=
ntohs
(
*
((
uint16_t
*
)
(
data
+
j
+
0
)));
_seq_id
=
((
uint8_t
)
(
*
((
uint16_t
*
)
(
data
+
j
+
2
))
>>
8
))
;
_seq_id
=
data
[
j
+
2
]
;
printf
(
"Antenna ID: %d
\n
"
,
antenna_id
);
printf
(
"Seq ID: %d
\n
"
,
_seq_id
);
}
...
...
@@ -413,9 +413,9 @@ static void *recv_thread(void *p) {
}
int
offset
=
ETHERNET_HEADER
+
ECPRI_COMMON_HEADER
;
uint16_t
antenna_id
=
ntohs
(
*
((
uint16_t
*
)
(
data
+
offset
+
0
)));
uint8_
t
_seq_id
=
data
[
offset
+
2
];
in
t
_seq_id
=
data
[
offset
+
2
];
if
(
((((
int
)
_seq_id
)
+
256
)
-
((
int
)
prev_seq_id
)
)
%
256
!=
1
)
{
if
(
prev_seq_id
!=
-
1
&&
(
_seq_id
+
256
-
prev_seq_id
)
%
256
!=
1
)
{
stop
=
1
;
log_info
(
"DECODE_THREAD"
,
"seq_ids are not sequential (%d, %d)"
,
prev_seq_id
,
_seq_id
);
break
;
...
...
@@ -496,9 +496,10 @@ static void *send_thread(void *p) {
int
j
=
ETHERNET_HEADER
+
ECPRI_COMMON_HEADER
;
// PC_ID
*
((
uint16_t
*
)
(
data
+
j
+
0
))
=
hton
s
(
antenna_id
);
*
((
uint16_t
*
)
(
data
+
j
+
0
))
=
ntoh
s
(
antenna_id
);
// SEQ_ID
data
[
j
+
2
]
=
seq_id
++
;
data
[
j
+
2
]
=
(
uint8_t
)
seq_id
;
seq_id
=
(
seq_id
+
1
)
%
256
;
data
[
j
+
3
]
=
0x80
;
j
=
ETHERNET_HEADER
+
ECPRI_IQ_HEADER
;
// ORAN counters
...
...
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