Commit Graph

1799 Commits

Author SHA1 Message Date
Pedro Alvarez df7a020e5f removing some boiler plate 2019-11-07 14:12:08 +01:00
Pedro Alvarez 977238a79c Added pdcp_nr_test.h to reduce boiler code in the pdcp_nr_test.cc 2019-11-07 14:12:08 +01:00
Pedro Alvarez 837ca9e07e Changed name of helper class 2019-11-07 14:12:08 +01:00
Pedro Alvarez be090768c9 Making helper class to reduce boilerplate in PDCP NR tests. 2019-11-07 14:12:08 +01:00
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 2019-11-07 14:12:08 +01:00
Pedro Alvarez b92c99ad2f Removing PDCP config from rrc_interfaces_types. Starting to add t_reordering configuration. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 45d298507b Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout. 2019-11-07 14:12:08 +01:00
Pedro Alvarez 6cf2bd7bc3 Starting to add reordering queue in the PDCP. 2019-11-07 14:12:08 +01:00
Pedro Alvarez f06e1af4e0 Added test for receiving out of order NR PDCP packets 2019-11-07 14:12:08 +01:00
Pedro Alvarez ff15ed5018 Starting to add timers to the NR PDCP. 2019-11-07 14:12:08 +01:00
Justin Tallon 4a1b8a5952 adding support for neon soft demodulation, adding cmake checks for aarch64
* adding support for neon soft demodulation, adding cmake checks for aarch64
* rearranging some arm cmake flags
2019-11-06 12:11:26 +01:00
Francisco Paisana 35c9f02579 added quant cfg parsing and addition to measCfg 2019-11-01 15:48:47 +00:00
Francisco Paisana 427fdb83fe using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types 2019-11-01 15:48:47 +00:00
Francisco Paisana 200e18ee3a added diff computation for reportconfig and measid. Tests passing 2019-11-01 15:48:47 +00:00
Francisco Paisana 1524e28c3a finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer. 2019-11-01 15:48:47 +00:00
Francisco Paisana b7559171b7 added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs 2019-11-01 15:48:47 +00:00
Andre Puschmann f4a0bebe1f fix handling of invalid MAC LCIDs 2019-10-31 21:43:27 +01:00
Andre Puschmann aa9733eb59 add packing for CCCH over UL-SCH for MAC NR 2019-10-31 21:43:27 +01:00
Ismael Gomez 575499c95b Fix HO when doing ping due to reseting of the PDCP counters in reestablishment. Fixes #618 2019-10-31 16:35:07 +01:00
Francisco Paisana 7e62d6d1f9 added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class 2019-10-29 15:27:09 +00:00
Andre Puschmann 2ec62f7fa9 fixing weird gcc9 bug with strncpy
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88780 for details
2019-10-29 14:06:46 +01:00
Andre Puschmann 1d6f72b478 soapy: fixing various soapy bugs detected with asan
- use nof_rx_channels to set rx pointers
- use returned value to set bw
- fix heap use after free
2019-10-28 17:38:34 +01:00
Francisco Paisana 8440126d35 removal of srslte::timers class 2019-10-23 19:33:25 +01:00
Francisco Paisana 9ae5563331 fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run 2019-10-23 19:33:25 +01:00
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 2019-10-23 19:33:25 +01:00
Francisco Paisana 5953d5ef96 fixed some potential bug related to timer getting stopped, but signaling that it expired 2019-10-23 19:25:48 +01:00
Francisco Paisana 551192705e allow for pre-reservation of timers vector and priority queue 2019-10-23 19:25:48 +01:00
Francisco Paisana 50a1c9d557 addressed potential overflow, and extended timer test to check if ordering is working correctly 2019-10-23 19:25:48 +01:00
Francisco Paisana 349646a9da created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE 2019-10-23 19:25:48 +01:00
Francisco Paisana 15bde8660a getting a future of an already finished proc is dangerous 2019-10-23 18:19:25 +02:00
Francisco Paisana 248583ecdf added extra logging and removed uneeded member from proc_t 2019-10-23 18:19:25 +02:00
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 2019-10-23 18:19:25 +02:00
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 2019-10-23 18:19:25 +02:00
Francisco Paisana c1be118d1d new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor() 2019-10-23 18:19:25 +02:00
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga 73517f981e Minor fixes 2019-10-21 16:17:37 +02:00
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 2019-10-21 16:17:37 +02:00
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 2019-10-21 16:17:37 +02:00
Andre Puschmann d5835fc8a0 add info_long() method to log filter 2019-10-18 16:38:55 +02:00
Andre Puschmann 891a66a2e5 make the establishment cause a paramter when sending a connection request
needed to signal a mo_sig establishment cause after a RLF
2019-10-18 16:38:55 +02:00
Xavier Arteaga 4227da9bd0 Fixed DCI Format1B length 2019-10-18 13:02:10 +02:00
Xavier Arteaga 73cf593891 SRSENB: Fixed PUCCH resource selection 2019-10-16 15:40:30 +02:00
Andre Puschmann 2d730389fe fix type mismatch in bzero 2019-10-16 10:35:03 +02:00
Andre Puschmann 626259eede add helper method to obtain thread name
this is helpful to, for example, print the name of
the thread that calls a function, i.e.:

log.console("%s from %s\n", __PRETTY_FUNCTION__, thread::get_name().c_str());
2019-10-15 10:13:21 +02:00
Pedro Alvarez fd01c44d4e Fix compilation error on GCC 8.x due to usage of strncpy in zmq_imp_rx/tx.
Fixed also order in which zmq object is zero'ed out.
2019-10-15 10:12:26 +02:00
Xavier Arteaga ba6a68825c UE DL: Extended ack test for FDD 2019-10-14 11:20:35 +02:00
Xavier Arteaga 0b00e6d94a SRSUE: fixed CSI and HARQ collision for CA 2019-10-14 11:20:35 +02:00
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +02:00
Andre Puschmann d8fedf2e19 fix parsing of corrupted MAC PDUs 2019-10-11 17:35:52 +02:00
Andre Puschmann 89889d6df5 add packing and unpacking test for MAC PDU only containing padding bytes 2019-10-11 17:35:52 +02:00
Andre Puschmann 80afe5ca40 rlc_um: add missing lock in get_buffer_state() 2019-10-09 13:26:15 +02:00
Andre Puschmann c5f52adfba nas: fix issue in which NAS wouldn't allow to attach once it failed
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.

The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
2019-10-09 11:34:49 +02:00
Francisco Paisana 2fb830fcfa moved cell search to background task thread pool, and provided a stack interface to rrc to call "start_cell_search". Once completed, the background task signals back to RRC 2019-10-04 22:01:44 +02:00
Andre Puschmann f07a9277a0 fix RLC AM issue where an invalid status PDU was generated
happens when very small grant is provided and the status
PDU generation fails because of a too small grant

add extra check to prevent that ACK_SN is also in NACKS list
2019-10-04 16:29:03 +02:00
Francisco Paisana a2f1998350 fix issue with thread pool shut down 2019-10-04 10:24:21 +02:00
Francisco Paisana 3f1fad3f4e bug fix: avoid renaming thread in worker ctor 2019-10-04 10:24:21 +02:00
Andre Puschmann c7f0caa24a add TTI field to MAC dl/ul grants and fix PCAP to include TTI 2019-10-02 16:49:46 +02:00
Andre Puschmann d73965e887 fix tear-down of worker 2019-10-02 11:04:47 +02:00
Francisco Paisana 6db0e474be moved RA waiting procedure to a background task of the stack thread pool 2019-10-02 11:04:47 +02:00
Francisco Paisana c413fadea9 created a queue-based thread pool. Tasks are inserted into a queue and then popped by the thread pool workers to be processed. 2019-10-02 11:04:47 +02:00
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 2019-10-02 11:03:03 +02:00
Andre Puschmann 50999d8116 allow integrity protection for identity response 2019-10-01 20:59:00 +02:00
Andre Puschmann 3e4bbbda5c fix PSS threshold value in cell_search 2019-10-01 16:54:42 +02:00
Andre Puschmann 2deaab8ded fix synch_file example to work with sample rates other than 1.92 2019-10-01 16:54:42 +02:00
Francisco Paisana e92632e729 zero-initialized mbms rrc interface types 2019-09-30 21:05:32 +02:00
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Ismael Gomez 4b5353e87a BladeRF: tx gain range was incorrectly obtained from rx module 2019-09-28 23:17:55 +02:00
Ismael Gomez 9325aaddf2 Do not change master clock rate if not necessary. Hint in ue/enb configs for low BW cells 2019-09-27 18:59:55 +02:00
Ismael Gomez 5689d6513d Fix not checking for explicit value 2019-09-27 16:33:44 +02:00
Andre Puschmann 2f47010eb6 fix various uninitialized vars 2019-09-24 13:23:30 +02:00
David Rupprecht f9a668861a Fixed USRP capture sync due to missing channel ptr 2019-09-23 14:36:08 +02:00
Andre Puschmann b0fd588a23 fixing zmq includes 2019-09-22 15:08:49 +02:00
Xavier Arteaga 191e8d6520 ZMQ: Fixed for more stability 2019-09-20 18:32:38 +02:00
Xavier Arteaga 125f1e7282 ZMQ: Split Tx and Rx, bug fixes and clean up 2019-09-20 18:32:38 +02:00
Ismael Gomez cf550f6e56 Fix incorrect pointer passing in rf_uhd 2019-09-20 17:58:28 +02:00
Andre Puschmann c99d5077c8 add RLC UM NR transmitter 2019-09-20 16:33:25 +02:00
Xavier Arteaga 11109460e6 Fix continuous_tx parsing 2019-09-20 16:26:33 +02:00
Xavier Arteaga f8dcb8bf67 CRS SCell searcher: Minimal simplification 2019-09-20 16:20:31 +02:00
Xavier Arteaga 9ee8cc0ad2 CRS SCell searcher: Fixed memory leaks 2019-09-20 16:20:31 +02:00
Xavier Arteaga 9ea9aab39d Added High Speed Train model to channel emulator 2019-09-20 16:20:31 +02:00
Xavier Arteaga 6eb26be34e Fixed include headers 2019-09-20 16:20:31 +02:00
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 2019-09-20 16:20:31 +02:00
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 2019-09-20 16:20:31 +02:00
Xavier Arteaga dedf0f2f78 Added initial time to delay channel simulator 2019-09-20 16:20:31 +02:00
Xavier Arteaga 368690ea6b SRSUE: Added intra frequency SCell search test 2019-09-20 16:20:31 +02:00
Xavier Arteaga d7c1a0bda9 Added High Speed Train model to channel emulator 2019-09-20 16:20:31 +02:00
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 2019-09-20 16:03:37 +02:00
Xavier Arteaga 703bbb44a3 Removed master clock rate for soapy. Tested with LimeSDR. 2019-09-20 15:43:07 +02:00
Xavier Arteaga 531ea2d0cd Cleaned up unused RF functions. Integrated Soapy Master Clock Rate in set srate. 2019-09-20 15:43:07 +02:00
Xavier Arteaga db5a21e659 Remove set_master_clock_rate from PHY RF API 2019-09-20 15:43:07 +02:00
Xavier Arteaga 9984e14170 BladeRF: Solved all clang tidy warnings 2019-09-20 15:43:07 +02:00
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
2019-09-20 15:41:16 +02:00
Andre Puschmann a2ab043c0d fix memleaks and uninitialized vars found by cppcheck 2019-09-20 10:55:29 +02:00
Francisco Paisana 946ead06e8 using an interface between the stack and lower mac to process demux pdus. 2019-09-19 10:19:46 +02:00
Andre Puschmann 57317fab7c expose debug_long to class log and use in RRC to log ASN1 structs 2019-09-18 16:12:24 +02:00
Andre Puschmann 7ad2b217df fix logging all in error level 2019-09-18 15:15:41 +02:00
Francisco Paisana 7e67aee839 resolved the uninit variable issue in the queue_test 2019-09-18 12:18:33 +02:00
Francisco Paisana 14267640ee implemented andre's PR review requests 2019-09-18 12:18:33 +02:00
Francisco Paisana b2bc05c50a make queue_test less dependent on thread timings 2019-09-18 12:18:33 +02:00