1260 Commits (28b2a69c8a5d8f4aa62efde1b6c46521810a5ab5)

Author SHA1 Message Date
Xavier Arteaga 8e891b7038 Added AWGN channel to SRSUE and SRSENB 5 years ago
Xavier Arteaga c107b04f5a Implemented high performance AWGN generator 5 years ago
Xavier Arteaga b5be0b94b8 Added SIMD i32 add and and functions 5 years ago
Xavier Arteaga 8bf7acdeaf Added vector malloc for i32 and u32 5 years ago
Francisco Paisana 9bde6d442c removed the uneeded locks from the pdcp 5 years ago
Francisco Paisana f3890b2908 use of mutexed cache to store the valid lcids that can be checked from gw thread 5 years ago
Francisco Paisana e91a7ea513 removed stack-mac interface dedicated methods. We use now the task dispatch methods instead 5 years ago
Francisco Paisana de03c96c3b mac::process_pdus now uses the stack task dispatch interface 5 years ago
Francisco Paisana de3c28e52d added task dispatch capabilities to stack interface 5 years ago
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 5 years ago
Xavier Arteaga 2c93f6d20a Fix PUCCH DMRS correlation 5 years ago
Ismael Gomez fd3d4a7874 Refactor thread_pool: use std::mutex and fix some hidden potential bugs 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Francisco Paisana 45bc123967 remove manual tti counters from the rrc 5 years ago
Francisco Paisana 770f04b92a the rrc now only works with the stack latest tti, instead of mac's tti 5 years ago
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 5 years ago
Francisco Paisana fb967d17a2 now we can disable tprofs individually 5 years ago
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 5 years ago
Francisco Paisana 2601d106f5 fix license string 5 years ago
Francisco Paisana deb76d5dbd improved design to avoid data structures, and allow guarded start/stop even in lambdas 5 years ago
Francisco Paisana 8a54aef89d created a better/more composable design for time measures 5 years ago
Francisco Paisana 854211496b redesign of tprof for thread safety 5 years ago
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 5 years ago
Xavier Arteaga f3f03ad12d SRSUE PHY: Add extra debugging information to errors 5 years ago
Francisco Paisana 597334c4bf limit the rlc queue size for suspended bearers 5 years ago
Francisco Paisana ede09cb9b2 added dynamic CFI capability to the eNB scheduler 5 years ago
Xavier Arteaga ada8772f57 Initial srenb TA compensation 5 years ago
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.
5 years ago
Andre Puschmann 4e3e537982 fix doxygen file description 5 years ago
Xavier Arteaga 0408d357a7 Minor fixes 5 years ago
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
5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
yagoda 943d90bc48 consolidating different ringbuffer functionalities into one, adding unit tests for ringbuffer 5 years ago
Daniel Willmann 275f26d875 liblte_mme.h: Add/fix UE_TEST_LOOP/DEACT_TEST_MODE msg types 5 years ago
Francisco Paisana 5330249625 created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure 5 years ago
Xavier Arteaga 5af89513eb use double precission for frequency in srsue and srsenb 5 years ago
Xavier Arteaga 834a081c09 Add EPRE measurement to PUSCH decoder 5 years ago
Ismael Gomez e8b8c9922e
Add RF per-channel frequency band constraints (#1026) 5 years ago
Francisco Paisana 7548402632 change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers 5 years ago
Xavier Arteaga 590847e794 TTI semaphore requires protection in wait_all 5 years ago
Xavier Arteaga 76408b195e Rename TX_DELAY and FDD_HARQ_DELAY_MS 5 years ago
Xavier Arteaga 65711d06dc PRACH TA base default to 0 and apply clang-format 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
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
5 years ago
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.
5 years ago
Francisco Paisana 9ad80ee29f added initial_dl_cqi to the enb rr.cfg parser 5 years ago
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 5 years ago
Ismael Gomez bf6db92f04 Reset SRS properly on PHY defaults 5 years ago
Andre Puschmann f2e1bfa699 refactor naming for s/p/cell structs and {enb,ue}_cc_idx 5 years ago
Francisco Paisana 639f473042 fixed unsigned signed comparison 5 years ago
Francisco Paisana 1e63fa41cf made ue_cc_idx int to set to -1 for rar and bc allocs 5 years ago
Francisco Paisana f3c3c52fcd added ue_cc_idx to dci allocation 5 years ago
Francisco Paisana e62972d38e fix fdd delays in scheduler 5 years ago
Xavier Arteaga 002a68e183 SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold 5 years ago
Xavier Arteaga 64caa4321b Fix UL control decoding. Some minor aesthetic changes. 5 years ago
Xavier Arteaga 44a5ce172e Added vector srslte_vec_avg_power_sf 5 years ago
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.
5 years ago
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
5 years ago
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 5 years ago
Xavier Arteaga a968fb02d3 Increase PUCCH correlatiion threasholds 5 years ago
Xavier Arteaga da701cd82b SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup. 5 years ago
Xavier Arteaga 47cbbcbd57 Improve PUSCH UCI decoder 5 years ago
Pedro Alvarez bd3598f774 Moved srsEPC to the new S1AP library. Deleted liblte_s1ap.cc and liblte_s1ap.h. 5 years ago
Xavier Arteaga 96ffe1c3ad Commented class tti_semaphore 5 years ago
Francisco Paisana a6320f93b8 remove remaining const_casts 5 years ago
Francisco Paisana ec1f1cc677 remove const_casts from scheduler. Fix ODR issue 5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 5 years ago
Pedro Alvarez afc209711c Fix jump depending on uninitialized variable in srsenb::sched_ue::set_bearer_cfg_unlocked 5 years ago
Francisco Paisana 62609fdc11 fixed some logs. Also now use one single log obj for all the asn1 5 years ago
Francisco Paisana fed06138b9 moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack 5 years ago
Andre Puschmann e4b5fa122f add set_cell() call to PSCCH and allocate for max PRB in pscch_init() 5 years ago
Andre Puschmann 151ce10a96 remove SL specific CFO correction method 5 years ago
Andre Puschmann 09f7355870 use srslte_cell_sl_t in PSCCH 5 years ago
Andre Puschmann 14000f7ae7 adding phy_common_sl.{c,h} 5 years ago
Andre Puschmann 8b70ff7654 simplify SL chest and add RSRP and sync error measurements 5 years ago
Tiago Alves cabd9ae742 baseline implementation of pscch 5 years ago
Andre Puschmann a8bbe551ac move thread class into srslte namespace to avoid ambiguity between std::thread 5 years ago
Francisco Paisana ad9e126299 test for different enb_cc_idxs as pcell. Bug fixes 5 years ago
Xavier Arteaga 125747ae4a Added external C to phy_common header and ACK/NACK feedack mode parser 5 years ago
Xavier Arteaga a4135e41a5 Added PUCCH collision checker 5 years ago
Xavier Arteaga f35ed14f76 SRSENB: refactored PHY common UE database 5 years ago
Xavier Arteaga 2fc0832f05 Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes 5 years ago
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.
5 years ago
Francisco Paisana 79e5bd94cf remove timers from priority queue for which run() or stop() was called. 5 years ago
Francisco Paisana 5b2da779b7 new method in timer_handler to dispatch calls without an associated unique_timer 5 years ago
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 5 years ago
Andre Puschmann 5b31c1db43 nas: delete security context when receiving attach reject with cause 3, 6, or 35 5 years ago
Francisco Paisana 32c347fbb1 hide logmap implementation in source file. Export symbols so they can be used by srsASN1 project 5 years ago
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 5 years ago
Xavier Arteaga e621853566 Minor aesthetics changes 5 years ago
Xavier Arteaga f261365c91 Initial EVM calculation commit and other easthetic changes 5 years ago
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
5 years ago
Pedro Alvarez aecfb151ce Apply clang-format to the lib in preperation for PR. 5 years ago
Pedro Alvarez d98b888ca4 Separating PDCP read_header function from discard_header_function. Starting to add DRB unit test. 5 years ago
Pedro Alvarez 284a0f7b4e Starting to add PDCP LTE unit tests. Test failing for now. 5 years ago
Pedro Alvarez b841859220 Moved pdcp test functionality to a common header. Fixed linking issue in 5GNR PDCP 5 years ago
Pedro Alvarez 5f39c79bda Moved some more packing functions to base class. 5 years ago
Pedro Alvarez fdd67c3865 Fix issue in integrity check in PDCP SRBs. Moved some helper functions to the pdcp base class 5 years ago
Pedro Alvarez 965b0ee99b Starting to fix handling of RX SRB PDUs in PDCP. 5 years ago
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 5 years ago
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 5 years ago
Ismael Gomez d8d10daebe
Fix bug in SRS using the previous grant to compute collision with PUSCH (#958) 5 years ago
Ismael Gomez 4fb83ae26d Run configure_prach_params as a background task 5 years ago
Andre Puschmann 327aa97cfd add macro for invalid RNTI 0x0 5 years ago
Francisco Paisana 42449b079a now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported. 5 years ago
Francisco Paisana d831522692 addition of SCell Activation CE Cmd to scheduler and MAC 5 years ago
Francisco Paisana 838053e8f2 added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing 5 years ago
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. 5 years ago
Xavier Arteaga 385102fa2d SRSENB: minor format, renaming and interface changes 5 years ago
Xavier Arteaga 67c07dfb56 Moved UL/DL PUCCH procedures into pucch_proc 5 years ago
Xavier Arteaga bf4ecc8064 Fix srsenb PHY and unit/component tests 5 years ago
Xavier Arteaga 7a20e3a51e Added boolean random generator 5 years ago
Xavier Arteaga 5dbc96458a Sets PUCCH decode threshold as macro 5 years ago
Xavier Arteaga bc10943a2b Added get max TB from DCI format 5 years ago
Xavier Arteaga 231431f569 SRSENB: enabled CA PUCCH decode in eNb 5 years ago
Xavier Arteaga d66fdefbb3 Added more docs to PUCCH 1b CS resource selection 5 years ago
Xavier Arteaga 40772eae19 SRSENB: UE PHY dedicated takes a flat configuration structure 5 years ago
Xavier Arteaga 1f762844ee Initial PUCCH format 3 decoder 5 years ago
Xavier Arteaga f935916e7c SRSUE: fix srsue_rf_test 5 years ago
Xavier Arteaga 35f4e5d69a Initial PUCCH 1B with channel selection 5 years ago
Andre Puschmann 6cce22d6b8 add support for GPS-based sync to UE sync object 5 years ago
Francisco Paisana c8fc0d91b3 changed the supported cc list to a vector of structs 5 years ago
Francisco Paisana 42b15c7bed use common ue_cfg interface to set the ue antenna info 5 years ago
Francisco Paisana 5f557700f2 changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete 5 years ago
Francisco Paisana b66bc3a6b0 create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler 5 years ago
Francisco Paisana 88a22e7dbf support cc cfg from rrc 5 years ago
Francisco Paisana e86862611c update the scheduler interfaces to accommodate the configuration of multiple carriers 5 years ago
Francisco Paisana 2dc31ea440 added interface to configure multiple cells from the RRC 5 years ago
Andre Puschmann c7343cf6d8 protect sf_buffer from overrun in receive_samples
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.

currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).

By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
5 years ago
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Andre Puschmann 4932fb8719 fix value() return in timers when timer is expired
this makes sure that value() never returns a value larger
than the timer duration
5 years ago
Xavier Arteaga 5b14a7d585 Implementation Tx RLC suspend 5 years ago
Xavier Arteaga 68ad4960eb SRSLTE: added holding time before AGC starts measuring after setting gain 5 years ago
Xavier Arteaga e0cc1fd697 Reduce time of timer_test; use unique_lock instead of guard 5 years ago
Xavier Arteaga 22da8dfbb1 srsLTE: protected priority queue in timers 5 years ago
Andre Puschmann d3cb2eac83 add RLC suspend/resume to eNB interface 5 years ago
Andre Puschmann bbacc35e24 move configuration of default logger to main
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
5 years ago
Xavier Arteaga fe199e6be2 SRSUE: Undo enable/disable RA procedure flag 5 years ago
Xavier Arteaga f8294fb9df SRSUE: RRC measurements refactor and more fixes 5 years ago
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
5 years ago
Francisco Paisana 1b958a60b5 casting .c_str() to mutable char* and changing the char* was causing all sort of weird format messages 5 years ago
Francisco Paisana c8cd12ac53 updated the test logging utils 5 years ago
Francisco Paisana c537d38650 separated sched tests based on output into a separate file. Added scheduler random tester to unit tests 5 years ago
Francisco Paisana f6ed99b71b created a generic crtp class for handling singletons. I am using that class for the logmap now 5 years ago
Francisco Paisana ea777d92e8 applied new logmap class to nas 5 years ago
Francisco Paisana 3e2de6dd3e new logmap class to store globally accessible logs 5 years ago
Francisco Paisana 07a9e889a4 added a singleton map to facilitate access to each layer logger 5 years ago
Xavier Arteaga c080cb3395 SRSUE: expose correct synch error parameter 5 years ago
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 5 years ago
Ismael Gomez cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission 5 years ago