Commit Graph

2291 Commits

Author SHA1 Message Date
Xavier Arteaga 5e45e63519 Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga 784bf81a1a Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga cb6a8444df Added srsLTE helper for determining number of RI bits 2020-04-10 15:58:25 +02:00
Tiago Alves 47145c18b7 sidelink: refactor channel estimation 2020-04-10 14:58:18 +02:00
Francisco Paisana 4ac07e5abb simplified power off state transition 2020-04-09 18:57:18 +01:00
Francisco Paisana ff988127fe wrote nas fsm test 2020-04-09 18:57:18 +01:00
Francisco Paisana 977a1acc5e eliminated unhandled_event special function. Use react instead. 2020-04-09 18:57:18 +01:00
Francisco Paisana 6e34dadce2 reverted back to tuples to store fsm state_list 2020-04-09 18:57:18 +01:00
Francisco Paisana dbbeb1ec3b fix log order 2020-04-09 18:57:18 +01:00
Francisco Paisana 4036a6887a clean up enter/exit state methods 2020-04-09 18:57:18 +01:00
Francisco Paisana 8d3427e88a removed namespacing from state printing 2020-04-09 18:57:18 +01:00
Francisco Paisana b699e0e490 enter/exit moved outside of the states, into the fsm. Now i just use the type_name function to get a state name 2020-04-09 18:57:18 +01:00
Francisco Paisana 4a4827a603 created a method to detect unhandled events 2020-04-09 18:57:18 +01:00
Francisco Paisana ec3ef4474e created a simple procedure fsm 2020-04-09 18:57:18 +01:00
Francisco Paisana 1aae510e9d enter/exit are now being called in order 2020-04-09 18:57:18 +01:00
Francisco Paisana 2e15514d00 fix enter/exit calls 2020-04-09 18:57:18 +01:00
Francisco Paisana dd377becaa small fixes in state transitions 2020-04-09 18:57:18 +01:00
Francisco Paisana dc0427804f clean up comments and add some util functions 2020-04-09 18:57:18 +01:00
Francisco Paisana 7dc1489ea7 reintroduced optional enter/exit methods for each state 2020-04-09 18:57:18 +01:00
Francisco Paisana 7c76a64238 fix move/copy correctness 2020-04-09 18:57:18 +01:00
Francisco Paisana be5a33f9b7 deleted unused fsm methods 2020-04-09 18:57:18 +01:00
Francisco Paisana 6675e92806 implement fsm based on choice type 2020-04-09 18:57:18 +01:00
Francisco Paisana 018f9e7db2 implement visit pattern 2020-04-09 18:57:18 +01:00
Francisco Paisana 278a1686fb creation of choice/variant type 2020-04-09 18:57:18 +01:00
Francisco Paisana a2ade9edd1 break down rrc_interface_types.h into multiple files. moved pdcp_config.h to same folder 2020-04-09 10:10:04 +01:00
Francisco Paisana 2950d26daa remove asn1 namespace from srsue files 2020-04-09 10:10:04 +01:00
Andre Puschmann 9307a54512 pdcp: adding enable_security_timed() method
this is an extension to the currently available security
configuration and activation methods provided by PDCP.
The new call allows to specify a Rx and Tx SN after which the
entire security config, i.e. integrity and ciphering, should
be enabled.

this is mainly required for the PDCP entity of the conformance
testing SS but could potentially also be used by the eNB
to enable security for PDCP after sending the SecModeCommand
for example.

the extra call was added to not break the existing API.
2020-04-09 10:55:13 +02:00
Pedro Alvarez f4d648b26e Removed rx_count state variable from PDCP LTE entity. Updated get_bearer_status(...) acordingly. Added get_last_submitted_rx_count() getter. 2020-04-09 10:55:13 +02:00
Andre Puschmann 70b13198b2 pdcp: update local rx_count variable when accepting incoming PDU
before the SN was read but the rx_count was never updated.
when get_dl_count() or get_bearer_status() were called, invalid
values were returned
2020-04-09 10:55:13 +02:00
Andre Puschmann 447c740bb5 pdcp: streamline PDCP info logs with RLC style 2020-04-09 10:55:13 +02:00
Francisco Paisana 7932a6bed7 allow the use of move_tasks in procedures 2020-04-08 14:55:33 +01:00
Daniel Willmann 925225dbeb Implement Close UE Test Loop/Complete messages
This commit implements support for the CLOSE_UE_TEST_LOOP message.
Currently the mode is not saved and looping the data is not implemented.
Only the *_COMPLETE message is sent back as a response.
2020-04-04 22:51:43 +02:00
Andre Puschmann 057844d7d6 signal_handler: increase alarm timeout to 5s and use raise instead of exit()
it seems that exit() causes problems when threads couldn't be stopped
properly, which is the reason why we have to call alarm() in the first place.
therefore, send a SIGKILL to our process and make sure we don't leave any
zombie threads running.
2020-04-03 22:22:04 +02:00
Xavier Arteaga 9a2b0b7cc7 Standard vector allocation uses vector library 2020-04-02 20:49:58 +02:00
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 2020-04-02 13:52:23 +02:00
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 2020-04-02 13:52:23 +02:00
Francisco Paisana c661025cda fix log tti, and print a warning when the ul_harq tti does not match existing ones 2020-04-01 15:02:21 +01:00
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 2020-03-31 13:42:06 +01:00
Andre Puschmann 6911ee3004 soapy: add macro to disable stream stopping before changing sample rate 2020-03-31 12:32:52 +02:00
Andre Puschmann d32b4d5529 fix benchmark_radio example 2020-03-31 12:32:52 +02:00
Andre Puschmann 62e4bd9469 log_ptr: fix issue if accessing log_ptr that was reset already
during deinit of the UE/eNB it could happen that the log_ptr
was already set to null but the stack thread was still accessing
it through log_h->info()

i've moved the old macro into a new header and used as as much
as possible. there are still places in the code where similar
macros are used but we would need to change the variable name
to replace them
2020-03-31 12:32:52 +02:00
Andre Puschmann ed646de7f1 soapy: fix segfault when launching and no device args where provided 2020-03-31 12:32:52 +02:00
Andre Puschmann c82e7d313a soapy: fix stream setup for new Soapy API
this caused an issue when compiling with latest SoapySDR drivers
that changed API for setupStream
2020-03-31 12:32:52 +02:00
Andre Puschmann 94c6034339 nas: rename start_attach_request to start_attach_proc
this is to better differentiate from "send_attach_request" that
only packs and send the actual attach request message. The
entire attach procedure may include PLMN search, etc.
2020-03-30 11:23:40 +02:00
Andre Puschmann 0e76b9ed15 nas: set NAS key set identifier to no key available when attaching with IMSI 2020-03-28 21:24:13 +01:00
Andre Puschmann 890f346808 pdcp: fixing LTE rx test
the test was introducing two lost SN and the number of expected SDUs
wasn't changed. Changed now counters, etc to only drop one SN.
2020-03-27 10:54:19 +01:00
Francisco Paisana 67f6eebf61 fix rlc stress test to reflect threading in stack 2020-03-26 20:11:35 +00:00
Francisco Paisana 575475962f the rlc um rx does not need a mutex bc it is always called in the stack thread 2020-03-26 20:11:35 +00:00
Ismael Gomez 8e07547909 Fix device_args in x300 when setting master_clock 2020-03-26 19:12:17 +01:00
Andre Puschmann 175f7fd587 pdcp: turn warning of PDCP duplicate into debug message 2020-03-26 14:21:14 +00:00
Andre Puschmann 5e9aa38551 pdcp: add test for reception of dublicate PDU 2020-03-26 14:21:14 +00:00
Xavier Arteaga cca3cccfbe Improved fading model generation 2020-03-26 08:23:07 +01:00
Xavier Arteaga a44a61d781 Fix HST channel emulator for keeping coherent phase between frames 2020-03-26 08:18:24 +01:00
Francisco Paisana 9f5c2cb92f fix net log setup 2020-03-25 20:22:04 +00:00
Francisco Paisana 1cbf7eac04 removed uneeded lock in rlc_am_lte 2020-03-25 19:18:00 +00:00
Francisco Paisana 42ed3a49eb fix 5g compilation error 2020-03-25 19:18:00 +00:00
Francisco Paisana 288e9e9db7 removed as many readlocks as possible from the rlc. Using now guards for locking as well. 2020-03-25 19:18:00 +00:00
Francisco Paisana 599588ff51 removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking 2020-03-25 19:18:00 +00:00
Ismael Gomez 95c6916987
Improve robustness in RF Overflow (#1124)
* Use task id to track old background tasks in RA procedure

* Improve robustness against RF overflow in PHY

* Increase SNR out-of-sync threshold

* Do not change frequency if it's the same

* Increase sync priority

* Increase time to start receiving to reduce input buffer occupation

* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Francisco Paisana 8aa44928e9 fix 5g compilation errors 2020-03-25 15:50:30 +00:00
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 2020-03-25 15:50:30 +00:00
Francisco Paisana 8e837e173d printf has already a way to pad spaces. If we use it, we can avoid accidentally adding extra logs because we did srslte::logmap::get("MAC") instead of srslte::logmap::get("MAC ") 2020-03-24 22:36:27 +00:00
Francisco Paisana 99d9ecbf9e removed unecessary locks from rlc::write_pdu methods 2020-03-24 12:28:12 +00:00
Xavier Arteaga cd2f86687f Correction in AWGN generator 2020-03-24 12:16:28 +01:00
Xavier Arteaga ca9611654d Minor correction in AWGN channel test 2020-03-24 12:16:28 +01:00
Xavier Arteaga 8e891b7038 Added AWGN channel to SRSUE and SRSENB 2020-03-24 12:16:28 +01:00
Xavier Arteaga c107b04f5a Implemented high performance AWGN generator 2020-03-24 12:16:28 +01:00
Xavier Arteaga b5be0b94b8 Added SIMD i32 add and and functions 2020-03-24 12:16:28 +01:00
Xavier Arteaga 8bf7acdeaf Added vector malloc for i32 and u32 2020-03-24 12:16:28 +01:00
Francisco Paisana 9bde6d442c removed the uneeded locks from the pdcp 2020-03-23 19:58:18 +00:00
Francisco Paisana f3890b2908 use of mutexed cache to store the valid lcids that can be checked from gw thread 2020-03-23 19:58:18 +00:00
Francisco Paisana e91a7ea513 removed stack-mac interface dedicated methods. We use now the task dispatch methods instead 2020-03-22 11:50:58 +00:00
Francisco Paisana de03c96c3b mac::process_pdus now uses the stack task dispatch interface 2020-03-22 11:50:58 +00:00
Francisco Paisana de3c28e52d added task dispatch capabilities to stack interface 2020-03-22 11:50:58 +00:00
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 2020-03-22 11:50:58 +00:00
Ismael Gomez 7d7ac01fb4 Recalibrate 75 PRB 2020-03-22 10:24:59 +01:00
Xavier Arteaga 2c93f6d20a Fix PUCCH DMRS correlation 2020-03-22 08:49:12 +01:00
Ismael Gomez 7c7c83b9ad Address comments 2020-03-22 08:48:40 +01:00
Ismael Gomez fd3d4a7874 Refactor thread_pool: use std::mutex and fix some hidden potential bugs 2020-03-22 08:48:40 +01:00
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 2020-03-20 11:32:03 +00:00
Francisco Paisana 45bc123967 remove manual tti counters from the rrc 2020-03-19 21:52:53 +00:00
Francisco Paisana 770f04b92a the rrc now only works with the stack latest tti, instead of mac's tti 2020-03-19 16:47:55 +00:00
Francisco Paisana d3f49d0e3c changed interface sync-stack to allow tti jumps > 1 2020-03-19 16:47:55 +00:00
Francisco Paisana fb967d17a2 now we can disable tprofs individually 2020-03-19 10:59:37 +00:00
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 2020-03-19 10:59:37 +00:00
Francisco Paisana 2601d106f5 fix license string 2020-03-19 10:59:37 +00:00
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 ea1b6b60dd Fix UHD memory issues 2020-03-18 18:34:05 +01: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
Xavier Arteaga d191b1c8e0 Do not bundle ACK/NACK if PUCCH CS and no ACK to transmit 2020-03-17 17:21:17 +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