Xavier Arteaga
11b9990224
Added NR DCI packing/unpacking format 0_1
2021-04-22 14:16:46 +02:00
faluco
0afd59a5a0
Replace a string with a const char * in the rlc to_string.
2021-04-22 12:38:14 +02:00
Francisco
289559af82
asn1 fix - fix choice access correct type assert
2021-04-22 10:21:08 +01:00
Francisco
ff3fc0826b
asn1 fixes and improvements
...
- use const char* instead of std::string in enumerated<>::to_string() to avoid mallocs.
- Remove the use of "typedef", and use "using" keyword instead.
- Fix rrc_nr::setup_release_c<>::to_string() broken linkage.
2021-04-22 10:21:08 +01:00
David Rupprecht
98914dab6a
Allow pdcp lte entity to use 18 bit SN
2021-04-22 09:55:34 +02:00
faluco
7df308c756
Remove two mallocs in the stack:
...
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
2021-04-21 15:05:48 +02:00
Francisco
28f787f1de
extend timer handler unit test to check correct time wheel implementation
2021-04-21 10:02:03 +01:00
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
2021-04-21 10:02:03 +01:00
Xavier Arteaga
407903e0d6
SRSUE: refactor carrier setting for accepting a dynamic carrier configuration
2021-04-20 21:50:10 +02:00
Xavier Arteaga
47523935f6
Minor NR RRC fixes
2021-04-20 21:50:10 +02:00
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
2021-04-20 16:27:40 +01:00
Francisco
63913ff2b2
remove uneeded assert condition. change pdcp log when notified pdcp pdu doesnt exist to info.
2021-04-20 16:27:40 +01:00
Francisco
9efb959471
bugfix, scheduler - fix bit counter specializations for 32 and 64 bits.
2021-04-20 14:01:19 +01:00
Francisco
6137e4569b
fix srsran_assert definition when asserts are disabled
2021-04-20 14:01:05 +01:00
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
2021-04-20 14:01:05 +01:00
David Rupprecht
a064e85c54
rename common lte header
2021-04-19 22:23:59 +02:00
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
2021-04-19 22:23:59 +02:00
David Rupprecht
91ff8a2e6d
Add rrc_nr to rlc init function
2021-04-19 22:23:59 +02:00
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
2021-04-19 22:23:59 +02:00
Xavier Arteaga
77b6b60b82
Fix rach_cfg.nof_groupA_preambles
2021-04-19 15:17:04 +02:00
Xavier Arteaga
aadbe6d880
Normalise NR PUSCH to maximum Tx power
2021-04-19 15:15:55 +02:00
Xavier Arteaga
53e41a165c
Revert zeros around DC REs in NR PDSCH
2021-04-19 15:15:55 +02:00
Xavier Arteaga
93c3dc1cb1
Revert "Demodulator sets LLR to zero for 0.0 symbols"
...
This reverts commit 1a6e5cdee5
.
2021-04-19 15:15:55 +02:00
Xavier Arteaga
1c1d7e2447
Revert "Review soft demodulator zero check"
...
This reverts commit b8a9a7fc70
.
2021-04-19 15:15:55 +02:00
Xavier Arteaga
0999b271ba
Added RFNOC based LO frequency offset
2021-04-19 15:15:55 +02:00
Francisco
ac375f07d9
add precompiler guards to restrict builtin use to gcc and clang
2021-04-19 13:31:20 +01:00
Francisco
22024ac35d
implemented bounded_bitset::find_lowest(...) for both reverse and non-reverse bit ordering. Applied this method to UL scheduling search for PRB intervals
2021-04-19 13:31:20 +01:00
Francisco
3f15fc2811
implemented bounded_bitset::find_first(...)
2021-04-19 13:31:20 +01:00
David Rupprecht
db9dd85783
Parse carrier config in NR RRC reconfig
2021-04-19 12:13:37 +02:00
David Rupprecht
f42d4dbc28
Refactored carrier config
2021-04-19 12:13:37 +02:00
Andre Puschmann
9009c3439c
rlc_um_nr: convert log entries to info if they are expected
...
dropping a PDU and not being able to build a PDU if the
grant is too small is expected and should therefore not cause a log warning.
2021-04-19 10:44:59 +02:00
Andre Puschmann
936bebcfd7
rrc_nr_utils: fix extraction of HARQ processes from ASN1 reconfig
2021-04-18 15:27:56 +02:00
Xavier Arteaga
53b38fccf9
Fix compile and other
2021-04-17 15:51:11 +02:00
Xavier Arteaga
ed0929b46d
NR PHY logging minor corrections
2021-04-17 15:51:11 +02:00
Xavier Arteaga
8ffced7e88
NR PHY logging minor corrections
2021-04-17 15:51:11 +02:00
Xavier Arteaga
abfc1da921
Multiple NR-PUSCH fixes
2021-04-17 15:51:11 +02:00
Xavier Arteaga
7e06e789d5
Fic NR UCI in the info string
2021-04-17 15:51:11 +02:00
Xavier Arteaga
01ce0718be
NR-PUSCH RE mapping correction and NR-SCH detailed grant information
2021-04-17 15:51:11 +02:00
David Rupprecht
bfe2ad98ef
Added parsing for NR DL HARQ cfg
2021-04-17 12:33:21 +02:00
Andre Puschmann
b9ae064338
mac_nr: add DL HARQ
...
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
2021-04-16 15:32:09 +02:00
Francisco
e3e4564a7e
fix inconsistency in use of invalid_sn and status_report_sn throughout rlc am code
2021-04-16 13:54:10 +01:00
Francisco
c3ec28002b
refactor - integration of segment list in rlc_amd_tx_pdu and pdcp_pdu_info classes
2021-04-16 13:54:10 +01:00
Francisco
7f0083a985
implementation of intrusive list abstract classes to be used in RLC for lists of segments
2021-04-16 13:54:10 +01:00
Francisco
b06f16891d
use of a single array-based pool of RLC AM PDU segments to build data PDUs, while
...
avoiding any allocations.
Each segment stores its own PDCP SN and RLC SN and has two pointers,
one for the next segment of the same RLC PDU, and another for the next segment
of the same PDCP PDU.
2021-04-16 13:54:10 +01:00
faluco
e1752c0878
Replace the queue in thread pool in favour of a static circular buffer to avoid allocations.
2021-04-16 09:29:44 +02:00
David Rupprecht
1cbd1c9d26
Deleted hardcoded phy config
2021-04-16 09:02:29 +02:00
David Rupprecht
fe8727050b
Added new rrc_nr to phy flattening functions and fixes
2021-04-16 09:02:29 +02:00
Ismael Gomez
635db8dde1
Initialize metrics in hub
2021-04-15 21:32:35 +02:00
Xavier Arteaga
e4e3456d76
Refactored PDSCH/PUSCH decoder for LDPC early stopping
2021-04-15 20:42:41 +02:00
Xavier Arteaga
6c5e28bc19
Optimised AVX512 LDPC decoder hard decision
2021-04-15 20:42:41 +02:00
Xavier Arteaga
422d479852
Added CRC match function and optimised byte packing
2021-04-15 20:42:41 +02:00
Xavier Arteaga
5aa7f9dd8b
Condensed LDPC Decoder config arguments into an structure and unified common decoder code
2021-04-15 20:42:41 +02:00
Francisco
1f1233782f
timers - fix old gcc compilation issue. Changed free list to intrusive list.
2021-04-15 18:46:42 +01:00
Francisco
e37968410e
simplification of timers handler design, relying solely on one time wheel.
2021-04-15 18:46:42 +01:00
Francisco
60896e30b5
implementation of time wheel-based timer handler, using a circular array and intrusive list
2021-04-15 18:46:42 +01:00
Ismael Gomez
77b11b82ac
Release UE if no activity in DRB ( #2658 )
...
* Count user activity with DRB only and SRBs for initial procedures. Add counter to release user after max KO in UL.
2021-04-15 19:13:01 +02:00
Francisco
4838cd2f5e
implement cell measurement bandwidth feature
2021-04-15 17:48:18 +01:00
Francisco
14d32db92f
implement Handover direct forwarding path availability configuration feature
2021-04-15 17:48:18 +01:00
faluco
582ad5f6de
Replace the std::stack member in the buffer_pool class for a vector to avoid reallocs.
2021-04-15 14:56:56 +02:00
Francisco
b8fa1d1b61
fix rrc mobility test
2021-04-15 09:45:31 +01:00
Francisco
66988ffd32
s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes
2021-04-15 09:45:31 +01:00
Francisco
f401683960
s1ap - simplified erab modify procedure
2021-04-15 09:45:31 +01:00
Francisco
76978f0d14
s1ap - simplified erab release procedure
2021-04-15 09:45:31 +01:00
Francisco
c5fc543516
s1ap - handling of ts1 reloc overall timer.
2021-04-15 09:45:31 +01:00
Xavier Arteaga
faa6d01e9d
Fix RFNOC compilation
2021-04-15 09:24:10 +02:00
Xavier Arteaga
c82f609085
Fix b200mini external clock
2021-04-15 09:24:10 +02:00
Andre Puschmann
44baea6666
mac_nr: add UL HARQ
...
this patch adds a basic UL HARQ entity for NR.
The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().
It also adds a Msg3 unit test.
2021-04-14 13:40:31 +02:00
Andre Puschmann
b7146c41b2
nr: add NDI for PUSCH grant to sch cfg struct
2021-04-14 13:40:31 +02:00
faluco
a474a0f293
SRSLOG: Avoid calling unordered_map::emplace if element already exists since it will allocate even if the insertion is not going to take place.
2021-04-14 12:41:35 +02:00
Xavier Arteaga
80f5c82b53
Fix formatter test
2021-04-14 08:16:44 +02:00
Xavier Arteaga
7823bfc28c
Fix append NR to loggers for NR components
2021-04-14 08:16:44 +02:00
Francisco
c2a99a8112
handover - support for handover cancellation causes, check for E-RAB QoS requirements, cancellation of handover if E-RABs are not supported in the target eNB
2021-04-13 21:23:13 +01:00
faluco
daad20c9d4
Disable copy and move operations for dyn_node_pool.
2021-04-13 17:36:39 +02:00
faluco
a2f6e13138
Add a tag to the string memory pool in fmt to discriminate between pool vs heap allocated buffers. Heap allocated buffers are used as a fallback mechanism when the buffer runs out of space.
2021-04-13 17:36:39 +02:00
faluco
0465f6badd
Implement a pool in FMT to avoid allocating heap memory when passing a char* to the backend, usually when formatting a %s argument.
...
Previously since a char* can have any length, this was managed by FMT by converting it into a std::string.
Now we store it into a configurable size node that can store a fixed size string, otherwise it falls back to std::string.
2021-04-13 17:36:39 +02:00
Xavier Arteaga
2f453b43ba
Initial NR PHY interface
2021-04-13 16:02:53 +02:00
Francisco
d2c404b166
handover - setup s1ap cause in case of handover failure at the target enb
2021-04-13 09:30:40 +01:00
Francisco
49bd895e29
s1ap - handle invalid or repeated erab ids in s1ap erab release command
2021-04-12 22:07:26 +01:00
Francisco
7842e3bff3
s1ap - add unit test to check correct handling of invalid E-RAB ids in modification request. Fix s1ap in order for the test to pass
2021-04-12 22:07:26 +01:00
Francisco
985846e3bd
s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids.
2021-04-12 22:07:26 +01:00
David Rupprecht
5a3a2a6d6f
Added functions for adding phr and tag config
2021-04-12 20:50:30 +02:00
Andre Puschmann
48537f3fe7
pdcp,rlc: increase number of PDCP SDUs for notification from RLC
...
the current value of 256 limits the number of PDCP SDUs that can be
notified from RLC. The limit is quickly hit when too many SDUs
are in flight. This can cause unwanted log entries and weird PDCP
behaviour.
the patch increases the value to 1024, which still can be too few if
many smaller SDUs are traveling.
The patch also set the log level to warning to quicker spot
misconfigs in logs.
Fixes #2616
2021-04-12 20:09:20 +02:00
Xavier Arteaga
2f8ea05132
SRSUE: Add periodic CQI R10 parsing
2021-04-12 20:08:22 +02:00
Andre Puschmann
c9da21c9bb
mac_nr: add error handling when unpacking SCH MAC PDU
...
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
2021-04-12 18:26:31 +02:00
Xavier Arteaga
e989e62c52
Fix NR PDCCH DMRS test
2021-04-12 17:05:53 +02:00
Xavier Arteaga
b8a9a7fc70
Review soft demodulator zero check
2021-04-12 17:05:53 +02:00
Xavier Arteaga
dd26c6a90e
Added more comments for better understanding in NR PDCCH DMRS
2021-04-12 17:05:53 +02:00
Xavier Arteaga
17a3c76540
Fix NR TDD pattern configuration
2021-04-12 17:05:53 +02:00
Xavier Arteaga
c84e73541d
Offset FFT window for UE DL NR
2021-04-12 17:05:53 +02:00
Xavier Arteaga
f799ab6f94
Fix NR UL RV selection
2021-04-12 17:05:53 +02:00
Xavier Arteaga
42dcff45b2
Improve PDCCH NR detection
2021-04-12 17:05:53 +02:00
Xavier Arteaga
1a6e5cdee5
Demodulator sets LLR to zero for 0.0 symbols
2021-04-12 17:05:53 +02:00
Xavier Arteaga
3889f1369f
Added partial NR time resource mapping tables
2021-04-12 17:05:53 +02:00
Xavier Arteaga
de187d4c88
Fix copy-past issue in srsran_vec_apply_cfo_simd
2021-04-12 17:05:53 +02:00
Xavier Arteaga
2e3c00aa97
NR PDSCH zeroes RE around the DC. Added delay and CFO emulation to phy_dl_nr_test
2021-04-12 17:05:53 +02:00
Xavier Arteaga
667cc0b552
NR PDSCH/PUSCH DMRS estimation precompensates Synch error and CFO before interpolation
2021-04-12 17:05:53 +02:00
Francisco
685c971dc2
fix recursive call to get rb name
2021-04-12 13:21:43 +01:00
Francisco
f7a8b8bf94
separate drb srb ids into separate enum types
2021-04-12 13:21:43 +01:00
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
2021-04-12 13:21:43 +01:00
Francisco
437db3af03
forbid allocations when dispatching task to thread pool
2021-04-10 15:03:38 +01:00