Andre Puschmann
8a33fde8e7
adding GPS sync support to USRP capture example
5 years ago
Andre Puschmann
6cce22d6b8
add support for GPS-based sync to UE sync object
5 years ago
Andre Puschmann
d62b835a4c
sync USRP time to GPS when GPSDO is used as clock source
5 years ago
Andre Puschmann
cccabdaf4f
removing unneeded install targets for static libs (reported by Filipe)
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
Jason Tang
e15eb936fa
Support multiple SoapySDR devices using soapy=# device_arg
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
b085a8eabf
rework debug log when getting buffer state in RLC AM
...
also adds some description to RLC functions being called
from outside the stack thread
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
f8fc226b89
Removed 5dB offset to the minimum Rx gain of the AGC
5 years ago
Xavier Arteaga
68ad4960eb
SRSLTE: added holding time before AGC starts measuring after setting gain
5 years ago
Xavier Arteaga
0edd8f74d8
fix memory leak in timer test
5 years ago
Xavier Arteaga
b88a8635f1
Reduce stress timer test number of timers
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
6a50fe3233
zmq: add monitor code for sockets but disable it
...
according to the ZMQ dev guide, one can use a socket monitor
to get informed about changes to a socket, e.g. when a client disconnected.
This is useful to detect when a UE dropped the connection to reinitialize
the socket and timers in a eNB.
This commit adds code to create such a socket monitor but leaves
it disabled because it still doesn't work as expected.
5 years ago
Andre Puschmann
995774c830
add ZMQ device argument to fail reception when end point disconnects
...
this allows to gracefully exit the eNB when the UE disconnected.
5 years ago
Andre Puschmann
2a46413121
during cell search don't configure found cell as serving cell
...
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.
instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
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
d382c10948
fix crash for case args == nullptr
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
Xavier Arteaga
c0b611dd0d
srsLTE: DL channel estimator compensates channel delay
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
Andre Puschmann
81b46723f6
adding NPDCCH
5 years ago
Andre Puschmann
073c57dc3d
add NB-IoT DCI formats and move define to phy_common
5 years ago
Xavier Arteaga
9ee651d094
srsLTE: Added set vector zeros for float and cf
5 years ago
Xavier Arteaga
b08c1f003e
SRSENB: enabled multiple cells from rr.cfg
5 years ago
Andre Puschmann
e5b1673b3b
move PCAP into own compilation unit
...
this removes inline keyword from PCAP functions and puts all functions
into own C file
before forced inlining caused an issue when compiling for ARM on Ubuntu 19.10 on the RPi4
using gcc version 9.2.1
5 years ago
Francisco Paisana
883c2900c8
fix issue with future clear
5 years ago
Francisco Paisana
91d83fc20d
different way to retrieve a proc future
5 years ago
Ismael Gomez
171e26ee68
Add checks more checks for UL grants
5 years ago
Xavier Arteaga
dcb3bc0135
srsLTE: apply CLang Format in sch.c
5 years ago
Xavier Arteaga
905273b36a
srsLTE: more memory corruption counter measures in ul_sch_encode
5 years ago
Xavier Arteaga
3b138b25c6
srsLTE: UL SCH Beta offset access fortification
5 years ago
Xavier Arteaga
8b6ba1aacf
srsLTE: removed overlap bytes check in RLC AM
5 years ago
Xavier Arteaga
5872e763bf
SRSLTE: RLC AM remove completely overlapped segments
5 years ago
Xavier Arteaga
39bec9aab1
SRSLTE: fix RLC reordering and segment overlaping
5 years ago
Xavier Arteaga
d3537fc340
srsLTE: expanded RLC stress test with the addition of multiple PDU per TTI in reverse order
5 years ago
Francisco Paisana
5ae3afd2b8
created cbit_ref for unpacking const buffers
5 years ago
Francisco Paisana
58e555e86c
update all asn1 files
5 years ago
Francisco Paisana
5468189cd9
fix some variables' naming (e.g. x2_ap -> x2ap, e_rab -> erab)
5 years ago
Francisco Paisana
2a83eee0ee
fix security key setup
5 years ago
Francisco Paisana
ee24b59924
converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring types
5 years ago
Francisco Paisana
25bb36cdc3
converted ho preparation to new s1ap asn1 lib. Extended s1ap test
5 years ago
Francisco Paisana
3066b404ac
fix integer ext asn1 generation
5 years ago
Francisco Paisana
c87de9d889
added s1ap_asn1_test
5 years ago
Francisco Paisana
b6c53d786b
updated s1ap rrc interface with new asn1 lib types
5 years ago
Francisco Paisana
61b3e6b57e
imported new s1ap asn1 lib
5 years ago
Andre Puschmann
b43c531c15
adding CMW500 SLSS capture and enable PSBCH test
5 years ago
Andre Puschmann
d98bc71057
fix PSBCH and use UL-SCH interleaver
5 years ago
Andre Puschmann
9012ca5faa
fix PSBCH tests
5 years ago
Andre Puschmann
2e7a357226
expose UL-SCH interleaver to use in Sidelink
5 years ago
Andre Puschmann
b0bfc7956d
use const& in metrics interface
5 years ago
Xavier Arteaga
bca5d1a95a
srsLTE: extend viterbi test
5 years ago
Francisco Paisana
182a721329
fix some integer printf potential warnings
5 years ago
Xavier Arteaga
8a666ee455
srsLTE: Increase UHD default sampling rate. Enables warning if USB2 is used.
5 years ago
Andre Puschmann
be4ba504bd
fix another bunch of uninit memory in tests, and one in srsENB
5 years ago
Andre Puschmann
0554064bf0
refactor NPBCH init, fix memset with zero length
5 years ago
Andre Puschmann
0394d21dd2
fix uninit memory in chest sl test when not test is executed
5 years ago
Andre Puschmann
06afe74bef
add virtual dtor in sched_interface base class
5 years ago
Andre Puschmann
6ec573987a
remove default value for 'blocking' param from pdcp::write_sdu()
...
there were two defaults and one was shadowing the other. This
commit removes both defaults and uses blocking-mode for RRC
calls to PDCP in the UE. The eNB write_sdu() uses the non-blocking
mode by default. We have to review the eNB's RRC perhaps and use blocking
there too and non-blocking only for data plane
5 years ago
Andre Puschmann
1155adf007
fixing printfs in asn1_utils
5 years ago
Andre Puschmann
0bd493b567
call byte_buffer cleanup in two enb tests and fix typo
5 years ago
Andre Puschmann
c54fa568be
fixing typo in CMake for PHY DL test
5 years ago
Andre Puschmann
03512547f5
add test for Sidelink channel estimator
5 years ago
Xavier Arteaga
0912701cb0
srsLTE: sidelink minor corrections
5 years ago
Andre Puschmann
7de51c8236
refactor Sidelink PSBCH and DMRS code
5 years ago
Xavier Arteaga
36b2102de8
SRSUE: avoid testing ue_phy_test
5 years ago
Xavier Arteaga
307c27dc30
srsLTE: ZMQ renamed struct field
5 years ago
Xavier Arteaga
2d98f92823
srsLTE: upgraded ZMQ for supporting frequency selection
5 years ago
Xavier Arteaga
11eafa8ab4
srsLTE: FFTW wisdom gets loaded and saved by default
5 years ago
Xavier Arteaga
892ece8cdd
srsLTE: reduce number of SF for rf_zmq_test
5 years ago
Xavier Arteaga
c92dce71b7
srsLTE: AGC only uses boundaries for requesting gain to Radio
5 years ago
Xavier Arteaga
097f492430
srsLTE: fix ZMQ RF module gain
5 years ago
Andre Puschmann
9e1b8bc95e
disabling certain PHY DL tests that aren't working on ARM due to Turbo issues
5 years ago
Pedro Alvarez
6d4303cd94
Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch.
5 years ago
Xavier Arteaga
a96a7fe20a
Removed srsue_phy from thread_test
5 years ago
Xavier Arteaga
089a5e21dc
Label test that memcheck is excessively long
5 years ago
Xavier Arteaga
b1c4cd7189
srsLTE: removed timout in tti semaphore
5 years ago
Xavier Arteaga
6bef91a788
srsLTE: TTI sempahore wait for all resuses wait code.
5 years ago
Xavier Arteaga
ad46fc006f
srsLTE: Fix thread memory leak. Moved test. Fix CLang warnings.
5 years ago
Xavier Arteaga
a7e92c384e
srsLTE: applied minor comments in tti semaphore
5 years ago
Xavier Arteaga
447ede327c
srsLTE: removed unused argument
5 years ago
Xavier Arteaga
384c420c7c
SRSUE: fix phy workers concurrency issue
5 years ago
Xavier Arteaga
173defd676
srsLTE: Execute load and save FFTW wisdom automatically
5 years ago
Xavier Arteaga
9c51af491a
SRSUE: phy default arguments are set in constructor
5 years ago
Andre Puschmann
75672324b9
fix RRC connection reconfig for new bearer
...
this fixes the packing of a RRC connection reconfig after creating
a new ERAB
it also adds a PDCP config factory based on the received request
5 years ago
Andre Puschmann
41be303f27
fixing NAS PCAP ctor
5 years ago
Tiago Ferreira Alves
3fed21ce3e
PSSS and SSSS implementation
5 years ago
Andre Puschmann
476f970ee1
replace FIXME with TODO
5 years ago
Andre Puschmann
0d1c8021f9
fix radio_multi interface if radio vector is still empty
5 years ago
Andre Puschmann
4f5e991480
fix typo in RLC AM
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
Andre Puschmann
2ed2e35aa7
fixing two size_t printfs
5 years ago
Vasil Velichkov
87a0a25c18
M2AP: Align 8 bits in liblte_m2ap_unpack_protocolie_singlecontainer
...
Alignment with more then 8 bits is unusual for APER encoding.
It seems clangs uses different packing for the LIBLTE_BIT_MSG_STRUCT
struct then gcc and puts more bytes between N_bits and header.
typedef struct {
uint32 N_bits;
uint8 header[LIBLTE_MSG_HEADER_OFFSET];
uint8 msg[LIBLTE_MAX_MSG_SIZE_BITS];
} LIBLTE_BIT_MSG_STRUCT __attribute__((aligned(8)));
Fixes a failure in srslte_asn1_m2ap_test when compiled with clang
272: Test command: lib/test/asn1/srslte_asn1_m2ap_test
272: Test timeout computed to be: 1500
272: 03:47:13.189195 [M2AP] [I] M2 Setup Request original message
272: 0000: 00 05 00 37 00 00 03 00 0d 00 08 00 00 f1 10 00
272: 0010: 1a 2d 00 00 0e 40 0a 03 80 65 6e 62 31 61 32 64
272: 0020: 30 00 0f 00 16 00 00 10 00 11 00 00 f1 10 1a 2d
272: 0030: 00 10 27 10 01 02 00 01 02 00 02
272: [m2_setup_request_test][Line 95]: FAIL at (plmn_id[0] & 0x0F) == 0 && (plmn_id[0] & 0xF0) >> 4 == 0 && (plmn_id[1] & 0x0F) == 1
1/1 Test #272 : srslte_asn1_m2ap_test ............***Failed 0.00 sec
5 years ago
Vasil Velichkov
72f04a31b6
Fix typo in -Wno-parentheses
...
This fixes the following clang's warning
warning: unknown warning option '-Wno-parantheses'; did you mean
'-Wno-parentheses'? [-Wunknown-warning-option]
5 years ago
Andre Puschmann
42080e59f1
remove std::move when returning freshly created unique_ptr
5 years ago
Andre Puschmann
c7ee887170
add factory function for creating PDCP config
5 years ago
Francisco Paisana
5b4c42ac77
pass argument by pointer to avoid gcc4.8 issue
5 years ago
Vasil Velichkov
ef9d16a3cf
PHY: Initialize pucch3_w_n_oc_5 using precomputed constants when compiled with clang
...
Fixes the following clang-7's error
srsLTE/lib/src/phy/phch/pucch.c:307:9: error: initializer element is not a compile-time constant
{1, cexpf(I * 2 * M_PI / 5), cexpf(I * 4 * M_PI / 5), cexpf(I * 6 * M_PI / 5), cexpf(I * 8 * M_PI / 5)},
^~~~~~~~~~~~~~~~~~~~~~~
Add SRSLTE_PUCCH_FORMAT_3 in the pucch_test
5 years ago
Vasil Velichkov
a44671fc77
PHY: Manually unroll loops that use _mm_extract_epi(8/16)
...
clang does not unroll those loops even though it supports the
-funroll-loops command line option, adding various #pragma unroll
options also does not help.
The unroll is needed to make the second argument a constant integer.
Enable the SSE/AVX turbo rate matching when compiling in debug mode.
srsLTE/lib/src/phy/fec/rm_turbo.c:590:33: error: argument to '__builtin_ia32_vec_ext_v16qi' must be a constant integer
int8_t x = (int8_t) _mm_extract_epi8(xVal, j+8);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/clang/7.0.1/include/smmintrin.h:1048:23: note: expanded from macro '_mm_extract_epi8'
(int)(unsigned char)__builtin_ia32_vec_ext_v16qi((__v16qi)(__m128i)(X), \
^
srsLTE/lib/src/phy/fec/rm_turbo.c:591:35: error: argument to '__builtin_ia32_vec_ext_v8hi' must be a constant integer
uint16_t l = (uint16_t) _mm_extract_epi16(lutVal2, j);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/clang/7.0.1/include/emmintrin.h:4273:24: note: expanded from macro '_mm_extract_epi16'
(int)(unsigned short)__builtin_ia32_vec_ext_v8hi((__v8hi)(__m128i)(a), \
5 years ago
Vasil Velichkov
af2b4ecc79
Use -Wno-unused-but-set-variable only if supported
...
This fixes the following clang's warning
warning: unknown warning option '-Wno-unused-but-set-variable'; did you mean
'-Wno-unused-const-variable'? [-Wunknown-warning-option]
5 years ago
Andre Puschmann
0feb8d1362
fixing two more issues reported by lgtm in asn1 libs
5 years ago
Francisco Paisana
20ff016e40
fixed header guard of threads file
5 years ago
Andre Puschmann
4e4a3eeb6c
fix printf parameter in asn1_utils
5 years ago
Xavier Arteaga
78dd9d7854
SRSLTE: Added float and complex vector allocation
5 years ago
Francisco Paisana
a0d53b0d84
included ngap and rrc nr asn1 in asn1/ folder and added a ngap_test
5 years ago
Andre Puschmann
486b42e5a7
dynamically allocate log_str buffer for hex dumps
...
the developer needs to make sure that [info,debug,warning,error]_hex() is used
wisely in the code as all log_str are now heap-allocated
5 years ago
Andre Puschmann
cf1e742120
add a simple log_filter test to print a long hex message
...
the purpose of this is to show that the hex message is cut if the
lenght exceeds the size of the preallocated buffer
5 years ago
Xavier Arteaga
2ebaf39c5a
ZMQ: transmit zeros if buffer is not provided
5 years ago
Francisco Paisana
d59016ae68
use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb
5 years ago
Ismael Gomez
9546f3ccc4
Make PDCP/RLC write_sdu() calls non-blocking by default
5 years ago
Andre Puschmann
94ca9bcf22
fix potential invalid array access
5 years ago
Andre Puschmann
9078b2baf1
rlc_am: add check to prevent out of bounds access
5 years ago
Xavier Arteaga
1fa5a19a55
SRSUE: SRSUE: fix timealigmenttimer
5 years ago
Francisco Paisana
d270518d69
updated rrc to new srsasn1 version
5 years ago
Francisco Paisana
6b4488d5c1
added sending of enb status transfer from SeNB
5 years ago
Francisco Paisana
c7f11e5690
fixed issue with the liblte_s1ap transparent container packing
5 years ago
Andre Puschmann
7885b5b9ee
add CMake flag to enable 5G-NR components
5 years ago
Andre Puschmann
8bec22ff11
fixed naming for ue_sync_nbiot
5 years ago
Andre Puschmann
447f71b8c9
fix compilation of zmq_remote_rx
5 years ago
Andre Puschmann
4dbbcaa668
add cell search and USRP capture examples for NB-IoT
5 years ago
Andre Puschmann
e53910010e
fix missing byte_buffer cleanup
5 years ago
Andre Puschmann
20409b4fc2
fix valgrind check caused by missing dft_exit
5 years ago
Francisco Paisana
524c80a804
added handling of ho command
5 years ago
Xavier Arteaga
a51d989e2e
Fixed static analysis float/double conversion
5 years ago
Pedro Alvarez
41e911fd76
Replaced PRIu32 for %u in pdcp_nr_entity
5 years ago
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
5 years ago
Pedro Alvarez
61958af70b
Timer removes itself from the map upon expiration
5 years ago
Pedro Alvarez
47a918d680
Split PDCP NR tests into multiple files
5 years ago