218 Commits (a5ef9f1eb92a5c650f170225693eeb6f229a634f)

Author SHA1 Message Date
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
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 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
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 5 years ago
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 5 years ago
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 5 years ago
Andre Puschmann 4a9e3728c9 add condtional variable for PHY initialization and configuration
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
5 years ago
Andre Puschmann 3127f59b4c wait with init of GUI until cell is found and initialized
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.

this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
5 years ago
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Xavier Arteaga bcde542111 SRSUE: fix typo 5 years ago
Xavier Arteaga a8763cb7a0 SRSUE: Added Cell PCI in console trace 5 years ago
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 5 years ago
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 5 years ago
Xavier Arteaga efdec15964 Renamed lock_guard (lg) to lock 5 years ago
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 5 years ago
Francisco Paisana e92632e729 zero-initialized mbms rrc interface types 5 years ago
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 5 years ago
Andre Puschmann 2f47010eb6 fix various uninitialized vars 5 years ago
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 5 years ago
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 5 years ago
Xavier Arteaga 54974d935e SRSUE PHY: unitialised values and attributes clean-tidy up 5 years ago
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 5 years ago
Ismael Gomez 0984debe1b
Fix issues with RLF in B210 and X300 (#669)
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300

* Fix issue #655
5 years ago
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 5 years ago
Andre Puschmann 08ca9ebd4e write BCH to PCAP
this patch moves the BCH payload buffer into the UE sync object and
therefore allows to pass it to the MAC for PCAP logging
5 years ago
Xavier Arteaga 1a567a764e SRSUE: Call Radio tx-end when PHY is reseted and removed redundant attribute is_start_of_burst. 5 years ago
Andre Puschmann 513c7b12e3 remove warning and replace with pragma message 5 years ago
Ismael Gomez cbb1bbfaa1 Fix multiple PRACHs after SR fail and a minor issue in HO 5 years ago
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
5 years ago
Xavier Arteaga f653472aa8 SRSUE: SCell parameters condensed in a single structure 6 years ago
Xavier Arteaga b5685c8f09 SRSUE: Fixed HO with carrier aggregation 6 years ago
Ismael Gomez feafec2725 Fix srsENB PHY log and reorganized expert args 6 years ago
Andre Puschmann 4e86b2f6b2 introduce layerd architecture we use for UE to eNB
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
6 years ago
Xavier Arteaga 5dcf3b3563 Fix phy memory leaks 6 years ago
Andre Puschmann 8333a9be57 fix dtor of PHY when stack init fails 6 years ago
Xavier Arteaga c7be984819 sync.h uses lock_guard for mutex 6 years ago
Xavier Arteaga 9068280896 SRSUE: Sync.h/.cc mutexes changed to C++11 std::mutex and fixed attributes initialisation 6 years ago
Xavier Arteaga 810ce0358e SRSUE: removed CLang tidy warnings in phy.h and phy.cc except unused. Use smaer pointers for workers. 6 years ago
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 6 years ago
Xavier Arteaga ad9808c2aa SRSUE: SCell include files rearange 6 years ago
Xavier Arteaga ceac7a02c8 SRSUE: moved sync SCell classes in new namespace 6 years ago
Ismael Gomez 4ce8d84339 Restored force frequency 6 years ago
Andre Puschmann 0e95867f13 remove task dispatcher class 6 years ago
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 6 years ago
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 6 years ago
Andre Puschmann af8564e376 add ue_lte_phy_base and move logger out of UE class 6 years ago
Xavier Arteaga 0b6efb657e SRSUE: CA can be performed without requiring clock synchronization between RF devices. Added Asynchronous SCell Synch metrics to console trace 6 years ago
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 6 years ago
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
6 years ago
Andre Puschmann dc9df36a24 remove unused radio_multi code 6 years ago
Xavier Arteaga b037fb8e51 Added minimal UE synch tweak and fix 6 years ago
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Andre Puschmann 1cc6ae3c60 enable c++11 support 6 years ago
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann d34ecaaa5e adding RI to DL metrics 6 years ago
Ismael Gomez cfb3a43aed Lower priority of workers 6 years ago
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 6 years ago
Ismael Gomez aaeec591b6 Fix race condition in phy recv 6 years ago
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 7 years ago
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 7 years ago
Xavier Arteaga 31496ab44c srsue PUSCH, set mcs idx to previous if it is a retransmission 7 years ago
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 7 years ago
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 7 years ago
Ismael Gomez f8655f3260 Changed the way we detect out-of-sync 7 years ago
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 7 years ago
yagoda e35672e234 adding PHY embms support to the UE 7 years ago
Ismael Gomez 81b69327b1 Added TA to metrics 7 years ago
Ismael Gomez 3ab74fb552 Exposed continuous TX mode to ue.conf 7 years ago
Ismael Gomez 74d6028769 Delay application of time_adv by 1 subframe 7 years ago
Ismael Gomez ab7a0842ba Send PRACH from worker thread with zero time advance 7 years ago
Ismael Gomez 9c7b3339be Get CRS-based RSRP estimate for in/out-sync measurement. New SNR estimation gives 0 SNR when cell signal is lost preventing from detecting out-of-sync 7 years ago
Ismael Gomez ff1269add3 HO working 7 years ago
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 7 years ago
David Rupprecht 06d4559294 Change include path absolut to project dir 7 years ago
David Rupprecht 9d71bec7b6 Unified include guards 7 years ago
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 7 years ago
Ismael Gomez 2c3386a486 Updated missing changes 7 years ago
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 7 years ago
Ismael Gomez 548a4ae29d RRC is_connected return and srsgui crashing if ports=0 when init 7 years ago
Ismael Gomez 86d4ce52e0 Make intra-frequency measurement period/length a parameter 7 years ago
Ismael Gomez f9d770e50e Added option for Doppler frequency correction 7 years ago
Ismael Gomez c0aea5ae13 Neighbour cell RSRP measurement always and only with correlation method 7 years ago
Ismael Gomez 0fbeee72a1 Fixed offset int in previous commit 7 years ago
Ismael Gomez 809c550ca2 Use RS power estimation for serving cell RSRP/SNR measurements. Use correlation of RS sequences for neighbour cell verification of Cell ID 7 years ago
Ismael Gomez c2098ad626 Removed unused sample offset correction 7 years ago
Andre Puschmann cbda94f0a6 fix mem leak in phch_recv 7 years ago
Andre Puschmann 9553784e2f change phy_log in UE to log_filter 7 years ago
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 7 years ago
Ismael Gomez 90553e830d Fixed cell search for non-home PLMN 7 years ago
Ismael Gomez 91664ef2be Do sell reselection on IDLE by phch_recv thread instead of worker 7 years ago
Ismael Gomez 650f433532 Add mutex to worker_imp/set_cell worker 7 years ago
Ismael Gomez fd0c8168f0 Set to Continuous RX and TX 7 years ago
Ismael Gomez 0fcb065ae8 Disabled TX continuous and sleep on cell search 7 years ago
Ismael Gomez beccfd2919 Average RSRP in linear domain to get better resolution 7 years ago
Ismael Gomez 42ece73453 Changed cell selection/reselection to avoid stopping/restarting radio. Fixed SIB message search 7 years ago
Ismael Gomez 7c276318b2 Merge branch 'next' into raa 7 years ago