Francisco Paisana
deb76d5dbd
improved design to avoid data structures, and allow guarded start/stop even in lambdas
2020-03-19 10:59:37 +00:00
Francisco Paisana
8a54aef89d
created a better/more composable design for time measures
2020-03-19 10:59:37 +00:00
Francisco Paisana
854211496b
redesign of tprof for thread safety
2020-03-19 10:59:37 +00:00
Francisco Paisana
269c852767
created a class for time profiling. An object of such class, if disabled, has almost zero overhead. Added a compile-time flag to turn on/off time profiling
2020-03-19 10:59:37 +00:00
Xavier Arteaga
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
2020-03-18 16:12:51 +01:00
Francisco Paisana
597334c4bf
limit the rlc queue size for suspended bearers
2020-03-18 13:22:08 +00:00
Francisco Paisana
ede09cb9b2
added dynamic CFI capability to the eNB scheduler
2020-03-17 22:06:37 +00:00
Xavier Arteaga
ada8772f57
Initial srenb TA compensation
2020-03-17 17:21:43 +01:00
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
2020-03-17 09:58:01 +01:00
Andre Puschmann
4e3e537982
fix doxygen file description
2020-03-17 09:58:01 +01:00
Xavier Arteaga
0408d357a7
Minor fixes
2020-03-16 15:07:12 +01:00
Ismael Gomez
73447972d8
Fix issue with simultaneous CQI and ACK/NACK transmission in CA ( #1067 )
...
* Fix memory corruption when phy calling mac scheduler and not yet initiated
* Do not drop CQI if collision with ACK/NACK and PUSCH
* Allocate CQI resources for SCell properly
* Use UE_PCELL_CC_IDX macro
* Protect ul_sched from being called if not yet started
2020-03-16 13:10:21 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
yagoda
943d90bc48
consolidating different ringbuffer functionalities into one, adding unit tests for ringbuffer
2020-03-16 07:48:10 +01:00
Daniel Willmann
275f26d875
liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types
2020-03-15 18:27:51 +01:00
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
2020-03-13 19:20:40 +00:00
Xavier Arteaga
5af89513eb
use double precission for frequency in srsue and srsenb
2020-03-13 14:01:58 +01:00
Xavier Arteaga
834a081c09
Add EPRE measurement to PUSCH decoder
2020-03-13 14:01:58 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Francisco Paisana
7548402632
change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers
2020-03-11 21:56:33 +01:00
Xavier Arteaga
590847e794
TTI semaphore requires protection in wait_all
2020-03-11 21:17:13 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Xavier Arteaga
65711d06dc
PRACH TA base default to 0 and apply clang-format
2020-03-11 16:58:00 +01:00
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
2020-03-11 16:25:56 +01:00
Andre Puschmann
a8acd235f6
extend eNB MAC to support multiple CC per UE
...
- add tx/rx softbuffers for each CC that a UE might have
- make sure to call assign correct buffers when iterating
over the CC for UL/DL grant assignment
2020-03-11 10:16:23 +01:00
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
2020-03-11 09:00:38 +00:00
Francisco Paisana
9ad80ee29f
added initial_dl_cqi to the enb rr.cfg parser
2020-03-10 22:06:07 +00:00
Francisco Paisana
fad897cb35
DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations
2020-03-10 22:06:07 +00:00
Ismael Gomez
bf6db92f04
Reset SRS properly on PHY defaults
2020-03-10 17:25:48 +01:00
Andre Puschmann
f2e1bfa699
refactor naming for s/p/cell structs and {enb,ue}_cc_idx
2020-03-10 15:01:00 +01:00
Francisco Paisana
639f473042
fixed unsigned signed comparison
2020-03-10 14:17:49 +01:00
Francisco Paisana
1e63fa41cf
made ue_cc_idx int to set to -1 for rar and bc allocs
2020-03-10 14:17:49 +01:00
Francisco Paisana
f3c3c52fcd
added ue_cc_idx to dci allocation
2020-03-10 14:17:49 +01:00
Francisco Paisana
e62972d38e
fix fdd delays in scheduler
2020-03-10 14:17:49 +01:00
Xavier Arteaga
002a68e183
SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold
2020-03-10 09:19:54 +01:00
Xavier Arteaga
64caa4321b
Fix UL control decoding. Some minor aesthetic changes.
2020-03-10 09:19:54 +01:00
Xavier Arteaga
44a5ce172e
Added vector srslte_vec_avg_power_sf
2020-03-10 09:19:54 +01:00
Andre Puschmann
2edecea33e
fix SIB transmission for CA
...
Avoid double buffering of SIBs in MAC as this would require one buffer for each CC.
Instead, use byte_buffer managed by RRC that contains packed SIBs to avoid
double memcpy for each SIB tx. Only use MAC provided buffer in error case.
Also avoid MAC calling RLC for each SIB and call RRC directly.
2020-03-09 14:18:09 +01:00
Andre Puschmann
120ad76c63
refactor cell param handling and fix SIB transmissions
...
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
2020-03-06 16:20:44 +01:00
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
2020-03-06 15:26:48 +01:00
Xavier Arteaga
a968fb02d3
Increase PUCCH correlatiion threasholds
2020-03-06 13:58:49 +01:00
Xavier Arteaga
da701cd82b
SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup.
2020-03-06 13:58:49 +01:00
Xavier Arteaga
47cbbcbd57
Improve PUSCH UCI decoder
2020-03-06 13:58:49 +01:00
Pedro Alvarez
bd3598f774
Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h.
2020-03-06 11:57:07 +00:00
Xavier Arteaga
96ffe1c3ad
Commented class tti_semaphore
2020-03-06 12:24:28 +01:00
Francisco Paisana
a6320f93b8
remove remaining const_casts
2020-03-05 20:23:07 +00:00
Francisco Paisana
ec1f1cc677
remove const_casts from scheduler. Fix ODR issue
2020-03-05 20:23:07 +00:00
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Pedro Alvarez
afc209711c
Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked
2020-03-04 22:03:17 +01:00
Francisco Paisana
62609fdc11
fixed some logs. Also now use one single log obj for all the asn1
2020-03-03 21:26:50 +00:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Andre Puschmann
e4b5fa122f
add set_cell() call to PSCCH and allocate for max PRB in pscch_init()
2020-03-03 16:22:51 +01:00
Andre Puschmann
151ce10a96
remove SL specific CFO correction method
2020-03-03 16:22:51 +01:00
Andre Puschmann
09f7355870
use srslte_cell_sl_t in PSCCH
2020-03-03 16:22:51 +01:00
Andre Puschmann
14000f7ae7
adding phy_common_sl.{c,h}
2020-03-03 16:22:51 +01:00
Andre Puschmann
8b70ff7654
simplify SL chest and add RSRP and sync error measurements
2020-03-03 16:22:51 +01:00
Tiago Alves
cabd9ae742
baseline implementation of pscch
2020-03-03 16:22:51 +01:00
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
2020-03-03 16:22:04 +01:00
Francisco Paisana
ad9e126299
test for different enb_cc_idxs as pcell. Bug fixes
2020-03-02 16:33:31 +00:00
Xavier Arteaga
125747ae4a
Added external C to phy_common header and ACK/NACK feedack mode parser
2020-03-02 12:19:09 +01:00
Xavier Arteaga
a4135e41a5
Added PUCCH collision checker
2020-03-02 12:19:09 +01:00
Xavier Arteaga
f35ed14f76
SRSENB: refactored PHY common UE database
2020-03-02 12:19:09 +01:00
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
2020-03-02 12:19:09 +01:00
Andre Puschmann
9e113f8b27
pdcp: allow to configure security for rx/tx seperately
...
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.
this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.
This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
2020-03-01 18:26:45 +01:00
Francisco Paisana
79e5bd94cf
remove timers from priority queue for which run() or stop() was called.
2020-02-29 18:00:11 +00:00
Francisco Paisana
5b2da779b7
new method in timer_handler to dispatch calls without an associated unique_timer
2020-02-29 18:00:11 +00:00
Francisco Paisana
ac52208409
removed most of clang-tidy warnings, introduced logmap in asn1, fixed info object naming in s1ap and ngap for successful and unsuccessful outcomes
2020-02-28 18:03:29 +00:00
Andre Puschmann
5b31c1db43
nas: delete security context when receiving attach reject with cause 3, 6, or 35
2020-02-28 12:52:44 +01:00
Francisco Paisana
32c347fbb1
hide logmap implementation in source file. Export symbols so they can be used by srsASN1 project
2020-02-28 11:33:26 +00:00
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
2020-02-28 11:33:26 +00:00
Xavier Arteaga
e621853566
Minor aesthetics changes
2020-02-28 12:10:32 +01:00
Xavier Arteaga
f261365c91
Initial EVM calculation commit and other easthetic changes
2020-02-28 12:10:32 +01:00
Andre Puschmann
b88e877b4c
ttcn3: make SS single threaded and use SCTP for test ports
...
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
2020-02-25 21:28:15 +01:00
Pedro Alvarez
aecfb151ce
Apply clang-format to the lib in preperation for PR.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
d98b888ca4
Separating PDCP read_header function from discard_header_function. Starting to add DRB unit test.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
284a0f7b4e
Starting to add PDCP LTE unit tests. Test failing for now.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
b841859220
Moved pdcp test functionality to a common header. Fixed linking issue in 5GNR PDCP
2020-02-20 20:53:27 +01:00
Pedro Alvarez
5f39c79bda
Moved some more packing functions to base class.
2020-02-20 20:53:27 +01:00
Pedro Alvarez
fdd67c3865
Fix issue in integrity check in PDCP SRBs. Moved some helper functions to the pdcp base class
2020-02-20 20:53:27 +01:00
Pedro Alvarez
965b0ee99b
Starting to fix handling of RX SRB PDUs in PDCP.
2020-02-20 20:53:27 +01:00
Francisco Paisana
c29f08d8d5
refactored si acquisition procedure to use stack timers. Also created an interface that is going to be used for the task/timer handling
2020-02-20 20:48:36 +01:00
Francisco Paisana
22f51bb30b
made cell select non-blocking using background threads
2020-02-18 09:47:33 +01:00
Ismael Gomez
d8d10daebe
Fix bug in SRS using the previous grant to compute collision with PUSCH ( #958 )
2020-02-16 21:30:04 +01:00
Ismael Gomez
4fb83ae26d
Run configure_prach_params as a background task
2020-02-16 21:27:24 +01:00
Andre Puschmann
327aa97cfd
add macro for invalid RNTI 0x0
2020-02-15 19:33:25 +01:00
Francisco Paisana
42449b079a
now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported.
2020-02-14 21:49:01 +00:00
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
2020-02-14 21:49:01 +00:00
Francisco Paisana
838053e8f2
added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing
2020-02-14 21:49:01 +00:00
Francisco Paisana
a0407dd6f7
created a lock guard for pthread rwlocks. This will avoid using gotos in many cases, and the RAII technique avoids many accidents.
2020-02-14 14:53:57 +00:00
Xavier Arteaga
385102fa2d
SRSENB: minor format, renaming and interface changes
2020-02-13 10:29:00 +01:00
Xavier Arteaga
67c07dfb56
Moved UL/DL PUCCH procedures into pucch_proc
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bf4ecc8064
Fix srsenb PHY and unit/component tests
2020-02-13 10:29:00 +01:00
Xavier Arteaga
7a20e3a51e
Added boolean random generator
2020-02-13 10:29:00 +01:00
Xavier Arteaga
5dbc96458a
Sets PUCCH decode threshold as macro
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bc10943a2b
Added get max TB from DCI format
2020-02-13 10:29:00 +01:00
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
d66fdefbb3
Added more docs to PUCCH 1b CS resource selection
2020-02-13 10:29:00 +01:00
Xavier Arteaga
40772eae19
SRSENB: UE PHY dedicated takes a flat configuration structure
2020-02-13 10:29:00 +01:00
Xavier Arteaga
1f762844ee
Initial PUCCH format 3 decoder
2020-02-13 10:29:00 +01:00
Xavier Arteaga
f935916e7c
SRSUE: fix srsue_rf_test
2020-02-13 10:29:00 +01:00