Francisco Paisana
3fda3dc50a
fix compilation issue
2020-04-12 15:54:59 +01:00
Francisco Paisana
3773029d9e
fix compilation bug
2020-04-10 22:30:59 +01:00
Francisco Paisana
c09f76ed6c
unified stack task defer method
2020-04-10 22:30:59 +01:00
Andre Puschmann
d35c9e2b89
nas: add support ot UE test loop mode B
...
extend GW-NAS interface to signal test mode activation.
The method is a noop in the normal GW but is implemented in
the TTCN3 DUT according to TS 36.509 for Mode B
2020-04-10 21:18:43 +02:00
Xavier Arteaga
2fd018ead1
Minor change
2020-04-10 17:48:53 +02:00
Xavier Arteaga
5b7493cab5
Added 256QAM modulation tables to scheduler
2020-04-10 17:48:53 +02:00
Xavier Arteaga
a4225b189b
SRSENB: Added initial UE capability parser
2020-04-10 17:48:53 +02:00
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
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
yagoda
4f818b04ae
adding return macros to ringbuffer
2020-03-16 07:48:10 +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
44593120c6
SRSUE: Zero UL signal if no transmission
2020-03-13 14:01:58 +01:00
Xavier Arteaga
66b98cf224
Fix ZMQ typo
2020-03-13 14:01:58 +01: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
Andre Puschmann
ab210c5f3c
tiny cosmetic changes to the error messages printing 0x and clear cc_idx use
2020-03-12 12:22:41 +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
Ismael Gomez
d17a9d2ab1
RLC returns zero buffer during suspended
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
Pau Espin Pedrol
3633859d09
rf_imp.c: Ignore case when matching device_name
...
This allows using device_name = UHD, uhd, ZMQ, zmq, etc.
2020-03-09 11:08:12 +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
5aff042c6e
Avoid repeated PDCCH locations
2020-03-06 13:58:49 +01:00
Xavier Arteaga
02dd5bd8c4
Fix PUSCH segfault
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
Andre Puschmann
4553ce7ff1
temporarily disable SCI checks for PSCCH file tests
2020-03-06 11:20:11 +01:00
Francisco Paisana
a6320f93b8
remove remaining const_casts
2020-03-05 20:23:07 +00:00