Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
David Rupprecht
5e02dbc536
Remove measurement id from trigger state nr allows to second nr reconfig
4 years ago
Codebot
6bf4bdaf5c
Adding AGPL copyright to new files
4 years ago
Codebot
c0282856d0
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsue/test/mac_nr/mac_nr_test.cc
4 years ago
Andre Puschmann
c1b66e89a5
mux_nr: protect MAC PDU packing from concurrent access from PHY workers
...
this will be moved to UL HARQ shortly but for now we need
to protect the packing
4 years ago
Andre Puschmann
cf696138d3
mac_nr: fix packing order of SDU and CEs
...
SDUs need to go first in the MAC PDU, followed by CEs
4 years ago
Andre Puschmann
399954a970
mac_nr: convert bytes to bits for DL metrics
4 years ago
Andre Puschmann
b083b612de
proc_bsr_nr_test: fix SBSR test
4 years ago
Andre Puschmann
7da68dfee3
proc_bsr_nr: disable SR activation temporarily
...
SR isn't currently working correctly resulting in random PRACHs
being sent.
4 years ago
Andre Puschmann
d1ad315969
mac_nr: add various safety/length checks
4 years ago
Andre Puschmann
b1aaadb51c
nr,cc_worker: convert grant size in bytes before passing to MAC
4 years ago
Andre Puschmann
7f415189f3
ue,mac: enable basic MAC metrics
...
this adds basic MAC metrics calculation for the DL NR MAC
4 years ago
Andre Puschmann
8024bf7820
mux_nr: improve logging when building UL MAC PDU
4 years ago
Andre Puschmann
880bd66db4
mac_nr_test: add testcase for MAC PDU packing with long L field
...
this reproduces the issue found in #2609
4 years ago
Andre Puschmann
9950278a12
nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
...
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.
The patch determines the correct size before passing the opportunity to RLC.
It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
4 years ago
Andre Puschmann
db496df1e6
mac_nr: add support for periodic BSR reporting
...
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:
* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
4 years ago
Andre Puschmann
7188603f2e
mac_nr: don't push MAC CE LCIDs to RLC when unpacking DL MAC PDU
...
this should fix log warnings then demux was trying to feed MAC CEs
to RLC:
10:50:54.845116 [MAC ] [I] [ 1153] Handling subPDU 1/2: rnti=0x0 lcid=61, sdu_len=1
10:50:54.845117 [RLC ] [E] Radio bearer id must be in [0:11] - 61
10:50:54.845118 [RLC ] [W] LCID 61 doesn't exist. Dropping PDU.
10:50:54.845119 [MAC ] [I] [ 1153] Handling subPDU 2/2: rnti=0x0 lcid=63, sdu_len=33
10:50:54.845119 [RLC ] [E] Radio bearer id must be in [0:11] - 63
4 years ago
David Rupprecht
56e947bf27
Added functionality for releasing a NR bearer
4 years ago
David Rupprecht
cc6d8128ad
Added gw interface if it is running
4 years ago
David Rupprecht
7a481c40ab
Added mac prach nr proc error handling
4 years ago
David Rupprecht
f9ea02b6bf
Added functions for rrc reestablishing procedure if nr reconfig failes
4 years ago
David Rupprecht
43ec714ce1
Added functionality for printing nr metrics
4 years ago
Xavier Arteaga
db1a1c059c
NR PHY workers TTI synchronization between DL and UL work
4 years ago
Xavier Arteaga
991c6e7016
Refactored NR HARQ-ACK feedback enqueue
4 years ago
Xavier Arteaga
49731ab5a1
Initial NR-DCI refactor
...
Added NR DCI 1_1 size
Several DCI NR fixes
4 years ago
Xavier Arteaga
dee2ec30cd
SRSUE: use new MAC interface for NR SR procedure
4 years ago
Xavier Arteaga
01990c2e1d
SRSUE: Add PHY-MAC SR related interfaces
4 years ago
Xavier Arteaga
f4ae2d73aa
SRSUE: report positive ACK for retx
4 years ago
Xavier Arteaga
20a4c39fa4
SRSUE: Disable PDSCH retransmissions in NR
4 years ago
David Rupprecht
506adca930
Set eutra nr band info based config value
4 years ago
Codebot
045644ca96
Adding AGPL copyright to new files
4 years ago
Codebot
a047e13479
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srsran/adt/adt_utils.h
4 years ago
Andre Puschmann
d135ae4d29
proc_bsr: initial BSR procedure for NR
...
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
4 years ago
Francisco
d04a19f8bc
refactor - increase code reuse in adt files
4 years ago
Codebot
24290dcae2
Adding AGPL copyright to new files
4 years ago
Codebot
3fdcd5fe03
Merge branch 'next' into agpl_next
...
# Conflicts:
# cmake/modules/CheckFunctionExists.c
# cmake/modules/SRSLTEVersion.cmake
# lib/examples/cell_search.c
# lib/examples/cell_search_nbiot.c
# lib/examples/npdsch_enodeb.c
# lib/examples/npdsch_ue.c
# lib/examples/npdsch_ue_helper.cc
# lib/examples/npdsch_ue_helper.h
# lib/examples/pdsch_enodeb.c
# lib/examples/pdsch_ue.c
# lib/examples/pssch_ue.c
# lib/examples/synch_file.c
# lib/examples/usrp_capture.c
# lib/examples/usrp_capture_sync.c
# lib/examples/usrp_capture_sync_nbiot.c
# lib/examples/usrp_txrx.c
# lib/examples/zmq_remote_rx.c
# lib/include/srslte/asn1/rrc_nr_utils.h
# lib/include/srslte/config.h
# lib/include/srslte/phy/ch_estimation/chest_dl.h
# lib/include/srslte/phy/ch_estimation/chest_dl_nbiot.h
# lib/include/srslte/phy/ch_estimation/chest_sl.h
# lib/include/srslte/phy/ch_estimation/chest_ul.h
# lib/include/srslte/phy/ch_estimation/csi_rs.h
# lib/include/srslte/phy/ch_estimation/refsignal_dl.h
# lib/include/srslte/phy/ch_estimation/refsignal_dl_nbiot.h
# lib/include/srslte/phy/ch_estimation/refsignal_ul.h
# lib/include/srslte/phy/common/phy_common.h
# lib/include/srslte/phy/common/phy_common_sl.h
# lib/include/srslte/phy/enb/enb_dl.h
# lib/include/srslte/phy/enb/enb_dl_nr.h
# lib/include/srslte/phy/enb/enb_ul.h
# lib/include/srslte/phy/fec/turbo/turbodecoder.h
# lib/include/srslte/phy/io/format.h
# lib/include/srslte/phy/phch/dci.h
# lib/include/srslte/phy/phch/dci_nbiot.h
# lib/include/srslte/phy/phch/npbch.h
# lib/include/srslte/phy/phch/npdcch.h
# lib/include/srslte/phy/phch/npdsch.h
# lib/include/srslte/phy/phch/pbch.h
# lib/include/srslte/phy/phch/pcfich.h
# lib/include/srslte/phy/phch/pdcch.h
# lib/include/srslte/phy/phch/pdsch.h
# lib/include/srslte/phy/phch/pdsch_nr.h
# lib/include/srslte/phy/phch/phich.h
# lib/include/srslte/phy/phch/pmch.h
# lib/include/srslte/phy/phch/pscch.h
# lib/include/srslte/phy/phch/pucch.h
# lib/include/srslte/phy/phch/pusch.h
# lib/include/srslte/phy/phch/ra.h
# lib/include/srslte/phy/phch/ra_dl.h
# lib/include/srslte/phy/phch/ra_ul.h
# lib/include/srslte/phy/phch/sch.h
# lib/include/srslte/phy/phch/uci_cfg.h
# lib/include/srslte/phy/scrambling/scrambling.h
# lib/include/srslte/phy/sync/cfo.h
# lib/include/srslte/phy/sync/cp.h
# lib/include/srslte/phy/sync/pss.h
# lib/include/srslte/phy/sync/sss.h
# lib/include/srslte/phy/sync/ssss.h
# lib/include/srslte/phy/ue/ue_cell_search.h
# lib/include/srslte/phy/ue/ue_cell_search_nbiot.h
# lib/include/srslte/phy/ue/ue_dl.h
# lib/include/srslte/phy/ue/ue_dl_nbiot.h
# lib/include/srslte/phy/ue/ue_dl_nr.h
# lib/include/srslte/phy/ue/ue_mib.h
# lib/include/srslte/phy/ue/ue_sync.h
# lib/include/srslte/phy/ue/ue_sync_nbiot.h
# lib/include/srslte/phy/ue/ue_ul.h
# lib/include/srslte/phy/ue/ue_ul_nr.h
# lib/include/srslte/phy/utils/random.h
# lib/include/srslte/phy/utils/vector_simd.h
# lib/include/srslte/srslog/log_channel.h
# lib/include/srslte/srslte.h
# lib/include/srslte/version.h.in
# lib/include/srsran/adt/accumulators.h
# lib/include/srsran/adt/adt_utils.h
# lib/include/srsran/adt/bounded_bitset.h
# lib/include/srsran/adt/bounded_vector.h
# lib/include/srsran/adt/choice_type.h
# lib/include/srsran/adt/circular_array.h
# lib/include/srsran/adt/circular_buffer.h
# lib/include/srsran/adt/detail/index_sequence.h
# lib/include/srsran/adt/detail/type_utils.h
# lib/include/srsran/adt/expected.h
# lib/include/srsran/adt/interval.h
# lib/include/srsran/adt/mem_pool.h
# lib/include/srsran/adt/move_callback.h
# lib/include/srsran/adt/observer.h
# lib/include/srsran/adt/scope_exit.h
# lib/include/srsran/adt/span.h
# lib/include/srsran/asn1/asn1_utils.h
# lib/include/srsran/asn1/gtpc.h
# lib/include/srsran/asn1/gtpc_ies.h
# lib/include/srsran/asn1/gtpc_msg.h
# lib/include/srsran/asn1/ngap.h
# lib/include/srsran/asn1/rrc.h
# lib/include/srsran/asn1/rrc/bcch_msg.h
# lib/include/srsran/asn1/rrc/common.h
# lib/include/srsran/asn1/rrc/common_ext.h
# lib/include/srsran/asn1/rrc/dl_ccch_msg.h
# lib/include/srsran/asn1/rrc/dl_dcch_msg.h
# lib/include/srsran/asn1/rrc/ho_cmd.h
# lib/include/srsran/asn1/rrc/meascfg.h
# lib/include/srsran/asn1/rrc/paging.h
# lib/include/srsran/asn1/rrc/phy_ded.h
# lib/include/srsran/asn1/rrc/rr_common.h
# lib/include/srsran/asn1/rrc/rr_ded.h
# lib/include/srsran/asn1/rrc/rrc_asn1.h
# lib/include/srsran/asn1/rrc/security.h
# lib/include/srsran/asn1/rrc/si.h
# lib/include/srsran/asn1/rrc/uecap.h
# lib/include/srsran/asn1/rrc/ul_ccch_msg.h
# lib/include/srsran/asn1/rrc/ul_dcch_msg.h
# lib/include/srsran/asn1/rrc_nbiot.h
# lib/include/srsran/asn1/rrc_nr.h
# lib/include/srsran/asn1/rrc_utils.h
# lib/include/srsran/asn1/s1ap.h
# lib/include/srsran/asn1/s1ap_utils.h
# lib/include/srsran/build_info.h.in
# lib/include/srsran/common/backtrace.h
# lib/include/srsran/common/band_helper.h
# lib/include/srsran/common/basic_pnf.h
# lib/include/srsran/common/basic_vnf.h
# lib/include/srsran/common/basic_vnf_api.h
# lib/include/srsran/common/bcd_helpers.h
# lib/include/srsran/common/block_queue.h
# lib/include/srsran/common/buffer_pool.h
# lib/include/srsran/common/byte_buffer.h
# lib/include/srsran/common/common.h
# lib/include/srsran/common/common_helper.h
# lib/include/srsran/common/config_file.h
# lib/include/srsran/common/crash_handler.h
# lib/include/srsran/common/enb_events.h
# lib/include/srsran/common/epoll_helper.h
# lib/include/srsran/common/fsm.h
# lib/include/srsran/common/gen_mch_tables.h
# lib/include/srsran/common/int_helpers.h
# lib/include/srsran/common/interfaces_common.h
# lib/include/srsran/common/log_helper.h
# lib/include/srsran/common/mac_pcap.h
# lib/include/srsran/common/mac_pcap_base.h
# lib/include/srsran/common/mac_pcap_net.h
# lib/include/srsran/common/metrics_hub.h
# lib/include/srsran/common/multiqueue.h
# lib/include/srsran/common/nas_pcap.h
# lib/include/srsran/common/netsource_handler.h
# lib/include/srsran/common/network_utils.h
# lib/include/srsran/common/pcap.h
# lib/include/srsran/common/rlc_pcap.h
# lib/include/srsran/common/rwlock_guard.h
# lib/include/srsran/common/s1ap_pcap.h
# lib/include/srsran/common/s3g.h
# lib/include/srsran/common/security.h
# lib/include/srsran/common/signal_handler.h
# lib/include/srsran/common/singleton.h
# lib/include/srsran/common/ssl.h
# lib/include/srsran/common/stack_procedure.h
# lib/include/srsran/common/standard_streams.h
# lib/include/srsran/common/string_helpers.h
# lib/include/srsran/common/task_scheduler.h
# lib/include/srsran/common/test_common.h
# lib/include/srsran/common/thread_pool.h
# lib/include/srsran/common/threads.h
# lib/include/srsran/common/time_prof.h
# lib/include/srsran/common/timeout.h
# lib/include/srsran/common/timers.h
# lib/include/srsran/common/trace.h
# lib/include/srsran/common/tti_point.h
# lib/include/srsran/common/tti_sempahore.h
# lib/include/srsran/common/tti_sync.h
# lib/include/srsran/common/tti_sync_cv.h
# lib/include/srsran/common/zuc.h
# lib/include/srsran/interfaces/enb_command_interface.h
# lib/include/srsran/interfaces/enb_gtpu_interfaces.h
# lib/include/srsran/interfaces/enb_interfaces.h
# lib/include/srsran/interfaces/enb_mac_interfaces.h
# lib/include/srsran/interfaces/enb_metrics_interface.h
# lib/include/srsran/interfaces/enb_pdcp_interfaces.h
# lib/include/srsran/interfaces/enb_phy_interfaces.h
# lib/include/srsran/interfaces/enb_rlc_interfaces.h
# lib/include/srsran/interfaces/enb_rrc_interface_types.h
# lib/include/srsran/interfaces/enb_rrc_interfaces.h
# lib/include/srsran/interfaces/enb_s1ap_interfaces.h
# lib/include/srsran/interfaces/epc_interfaces.h
# lib/include/srsran/interfaces/gnb_interfaces.h
# lib/include/srsran/interfaces/mac_interface_types.h
# lib/include/srsran/interfaces/nr_common_interface_types.h
# lib/include/srsran/interfaces/pdcp_interface_types.h
# lib/include/srsran/interfaces/phy_interface_types.h
# lib/include/srsran/interfaces/radio_interfaces.h
# lib/include/srsran/interfaces/rlc_interface_types.h
# lib/include/srsran/interfaces/rrc_interface_types.h
# lib/include/srsran/interfaces/rrc_nr_interface_types.h
# lib/include/srsran/interfaces/sched_interface.h
# lib/include/srsran/interfaces/ue_gw_interfaces.h
# lib/include/srsran/interfaces/ue_interfaces.h
# lib/include/srsran/interfaces/ue_mac_interfaces.h
# lib/include/srsran/interfaces/ue_nas_interfaces.h
# lib/include/srsran/interfaces/ue_nr_interfaces.h
# lib/include/srsran/interfaces/ue_pdcp_interfaces.h
# lib/include/srsran/interfaces/ue_phy_interfaces.h
# lib/include/srsran/interfaces/ue_rlc_interfaces.h
# lib/include/srsran/interfaces/ue_rrc_interfaces.h
# lib/include/srsran/interfaces/ue_usim_interfaces.h
# lib/include/srsran/mac/mac_rar_pdu_nr.h
# lib/include/srsran/mac/mac_sch_pdu_nr.h
# lib/include/srsran/mac/pdu.h
# lib/include/srsran/mac/pdu_queue.h
# lib/include/srsran/phy/agc/agc.h
# lib/include/srsran/phy/ch_estimation/chest_common.h
# lib/include/srsran/phy/ch_estimation/dmrs_pdcch.h
# lib/include/srsran/phy/ch_estimation/dmrs_pucch.h
# lib/include/srsran/phy/ch_estimation/dmrs_sch.h
# lib/include/srsran/phy/ch_estimation/wiener_dl.h
# lib/include/srsran/phy/channel/ch_awgn.h
# lib/include/srsran/phy/channel/channel.h
# lib/include/srsran/phy/channel/delay.h
# lib/include/srsran/phy/channel/fading.h
# lib/include/srsran/phy/channel/hst.h
# lib/include/srsran/phy/channel/rlf.h
# lib/include/srsran/phy/common/phy_common_nr.h
# lib/include/srsran/phy/common/sequence.h
# lib/include/srsran/phy/common/timestamp.h
# lib/include/srsran/phy/common/zc_sequence.h
# lib/include/srsran/phy/dft/dft.h
# lib/include/srsran/phy/dft/dft_precoding.h
# lib/include/srsran/phy/dft/ofdm.h
# lib/include/srsran/phy/fec/block/block.h
# lib/include/srsran/phy/fec/cbsegm.h
# lib/include/srsran/phy/fec/convolutional/convcoder.h
# lib/include/srsran/phy/fec/convolutional/rm_conv.h
# lib/include/srsran/phy/fec/convolutional/viterbi.h
# lib/include/srsran/phy/fec/crc.h
# lib/include/srsran/phy/fec/ldpc/base_graph.h
# lib/include/srsran/phy/fec/ldpc/ldpc_common.h
# lib/include/srsran/phy/fec/ldpc/ldpc_decoder.h
# lib/include/srsran/phy/fec/ldpc/ldpc_encoder.h
# lib/include/srsran/phy/fec/ldpc/ldpc_rm.h
# lib/include/srsran/phy/fec/polar/polar_chanalloc.h
# lib/include/srsran/phy/fec/polar/polar_code.h
# lib/include/srsran/phy/fec/polar/polar_decoder.h
# lib/include/srsran/phy/fec/polar/polar_encoder.h
# lib/include/srsran/phy/fec/polar/polar_interleaver.h
# lib/include/srsran/phy/fec/polar/polar_rm.h
# lib/include/srsran/phy/fec/polar/test/polar_sets.h
# lib/include/srsran/phy/fec/polar/test/subchannel_allocation.h
# lib/include/srsran/phy/fec/softbuffer.h
# lib/include/srsran/phy/fec/turbo/rm_turbo.h
# lib/include/srsran/phy/fec/turbo/tc_interl.h
# lib/include/srsran/phy/fec/turbo/turbocoder.h
# lib/include/srsran/phy/fec/turbo/turbodecoder_gen.h
# lib/include/srsran/phy/fec/turbo/turbodecoder_impl.h
# lib/include/srsran/phy/fec/turbo/turbodecoder_iter.h
# lib/include/srsran/phy/fec/turbo/turbodecoder_sse.h
# lib/include/srsran/phy/fec/turbo/turbodecoder_win.h
# lib/include/srsran/phy/io/binsource.h
# lib/include/srsran/phy/io/filesink.h
# lib/include/srsran/phy/io/filesource.h
# lib/include/srsran/phy/io/netsink.h
# lib/include/srsran/phy/io/netsource.h
# lib/include/srsran/phy/mimo/layermap.h
# lib/include/srsran/phy/mimo/precoding.h
# lib/include/srsran/phy/modem/demod_hard.h
# lib/include/srsran/phy/modem/demod_soft.h
# lib/include/srsran/phy/modem/evm.h
# lib/include/srsran/phy/modem/mod.h
# lib/include/srsran/phy/modem/modem_table.h
# lib/include/srsran/phy/phch/cqi.h
# lib/include/srsran/phy/phch/csi.h
# lib/include/srsran/phy/phch/csi_cfg.h
# lib/include/srsran/phy/phch/dci_nr.h
# lib/include/srsran/phy/phch/mib_sl.h
# lib/include/srsran/phy/phch/npdsch_cfg.h
# lib/include/srsran/phy/phch/pdcch_nr.h
# lib/include/srsran/phy/phch/pdsch_cfg.h
# lib/include/srsran/phy/phch/phch_cfg_nr.h
# lib/include/srsran/phy/phch/prach.h
# lib/include/srsran/phy/phch/psbch.h
# lib/include/srsran/phy/phch/pssch.h
# lib/include/srsran/phy/phch/pucch_cfg.h
# lib/include/srsran/phy/phch/pucch_cfg_nr.h
# lib/include/srsran/phy/phch/pucch_nr.h
# lib/include/srsran/phy/phch/pucch_proc.h
# lib/include/srsran/phy/phch/pusch_cfg.h
# lib/include/srsran/phy/phch/pusch_nr.h
# lib/include/srsran/phy/phch/ra_dl_nr.h
# lib/include/srsran/phy/phch/ra_nbiot.h
# lib/include/srsran/phy/phch/ra_nr.h
# lib/include/srsran/phy/phch/ra_sl.h
# lib/include/srsran/phy/phch/ra_ul_nr.h
# lib/include/srsran/phy/phch/regs.h
# lib/include/srsran/phy/phch/sch_cfg_nr.h
# lib/include/srsran/phy/phch/sch_nr.h
# lib/include/srsran/phy/phch/sci.h
# lib/include/srsran/phy/phch/uci.h
# lib/include/srsran/phy/phch/uci_cfg_nr.h
# lib/include/srsran/phy/phch/uci_nr.h
# lib/include/srsran/phy/resampling/decim.h
# lib/include/srsran/phy/resampling/interp.h
# lib/include/srsran/phy/resampling/resample_arb.h
# lib/include/srsran/phy/resampling/resampler.h
# lib/include/srsran/phy/rf/rf.h
# lib/include/srsran/phy/rf/rf_utils.h
# lib/include/srsran/phy/sync/npss.h
# lib/include/srsran/phy/sync/nsss.h
# lib/include/srsran/phy/sync/psss.h
# lib/include/srsran/phy/sync/refsignal_dl_sync.h
# lib/include/srsran/phy/sync/sfo.h
# lib/include/srsran/phy/sync/sync.h
# lib/include/srsran/phy/sync/sync_nbiot.h
# lib/include/srsran/phy/ue/ue_mib_nbiot.h
# lib/include/srsran/phy/ue/ue_mib_sl.h
# lib/include/srsran/phy/ue/ue_phy.h
# lib/include/srsran/phy/utils/bit.h
# lib/include/srsran/phy/utils/cexptab.h
# lib/include/srsran/phy/utils/convolution.h
# lib/include/srsran/phy/utils/debug.h
# lib/include/srsran/phy/utils/filter.h
# lib/include/srsran/phy/utils/mat.h
# lib/include/srsran/phy/utils/phy_logger.h
# lib/include/srsran/phy/utils/primes.h
# lib/include/srsran/phy/utils/ringbuffer.h
# lib/include/srsran/phy/utils/simd.h
# lib/include/srsran/phy/utils/vector.h
# lib/include/srsran/radio/channel_mapping.h
# lib/include/srsran/radio/radio.h
# lib/include/srsran/radio/radio_base.h
# lib/include/srsran/radio/radio_metrics.h
# lib/include/srsran/radio/radio_null.h
# lib/include/srsran/radio/rf_buffer.h
# lib/include/srsran/radio/rf_timestamp.h
# lib/include/srsran/rrc/rrc_cfg_utils.h
# lib/include/srsran/srslog/context.h
# lib/include/srsran/srslog/detail/log_backend.h
# lib/include/srsran/srslog/detail/log_entry.h
# lib/include/srsran/srslog/detail/log_entry_metadata.h
# lib/include/srsran/srslog/detail/support/any.h
# lib/include/srsran/srslog/detail/support/error_string.h
# lib/include/srsran/srslog/detail/support/memory_buffer.h
# lib/include/srsran/srslog/detail/support/thread_utils.h
# lib/include/srsran/srslog/detail/support/tmp_utils.h
# lib/include/srsran/srslog/detail/support/work_queue.h
# lib/include/srsran/srslog/event_trace.h
# lib/include/srsran/srslog/formatter.h
# lib/include/srsran/srslog/logger.h
# lib/include/srsran/srslog/shared_types.h
# lib/include/srsran/srslog/sink.h
# lib/include/srsran/srslog/srslog.h
# lib/include/srsran/srslog/srslog_c.h
# lib/include/srsran/system/sys_metrics.h
# lib/include/srsran/system/sys_metrics_processor.h
# lib/include/srsran/test/ue_test_interfaces.h
# lib/include/srsran/upper/byte_buffer_queue.h
# lib/include/srsran/upper/gtpu.h
# lib/include/srsran/upper/ipv6.h
# lib/include/srsran/upper/pdcp.h
# lib/include/srsran/upper/pdcp_entity_base.h
# lib/include/srsran/upper/pdcp_entity_lte.h
# lib/include/srsran/upper/pdcp_entity_nr.h
# lib/include/srsran/upper/pdcp_metrics.h
# lib/include/srsran/upper/rlc.h
# lib/include/srsran/upper/rlc_am_base.h
# lib/include/srsran/upper/rlc_am_lte.h
# lib/include/srsran/upper/rlc_am_nr.h
# lib/include/srsran/upper/rlc_common.h
# lib/include/srsran/upper/rlc_metrics.h
# lib/include/srsran/upper/rlc_tm.h
# lib/include/srsran/upper/rlc_um_base.h
# lib/include/srsran/upper/rlc_um_lte.h
# lib/include/srsran/upper/rlc_um_nr.h
# lib/src/asn1/asn1_utils.cc
# lib/src/asn1/gtpc.cc
# lib/src/asn1/ngap.cc
# lib/src/asn1/rrc.cc
# lib/src/asn1/rrc/bcch_msg.cc
# lib/src/asn1/rrc/common.cc
# lib/src/asn1/rrc/common_ext.cc
# lib/src/asn1/rrc/dl_ccch_msg.cc
# lib/src/asn1/rrc/dl_dcch_msg.cc
# lib/src/asn1/rrc/ho_cmd.cc
# lib/src/asn1/rrc/meascfg.cc
# lib/src/asn1/rrc/paging.cc
# lib/src/asn1/rrc/phy_ded.cc
# lib/src/asn1/rrc/rr_common.cc
# lib/src/asn1/rrc/rr_ded.cc
# lib/src/asn1/rrc/security.cc
# lib/src/asn1/rrc/si.cc
# lib/src/asn1/rrc/uecap.cc
# lib/src/asn1/rrc/ul_ccch_msg.cc
# lib/src/asn1/rrc/ul_dcch_msg.cc
# lib/src/asn1/rrc_nbiot.cc
# lib/src/asn1/rrc_nr.cc
# lib/src/asn1/rrc_nr_utils.cc
# lib/src/asn1/rrc_utils.cc
# lib/src/asn1/s1ap.cc
# lib/src/common/arch_select.cc
# lib/src/common/backtrace.c
# lib/src/common/band_helper.cc
# lib/src/common/basic_vnf.cc
# lib/src/common/buffer_pool.cc
# lib/src/common/byte_buffer.cc
# lib/src/common/crash_handler.cc
# lib/src/common/enb_events.cc
# lib/src/common/gen_mch_tables.c
# lib/src/common/mac_pcap.cc
# lib/src/common/mac_pcap_base.cc
# lib/src/common/mac_pcap_net.cc
# lib/src/common/nas_pcap.cc
# lib/src/common/network_utils.cc
# lib/src/common/pcap.c
# lib/src/common/rlc_pcap.cc
# lib/src/common/s1ap_pcap.cc
# lib/src/common/s3g.cc
# lib/src/common/security.cc
# lib/src/common/standard_streams.cc
# lib/src/common/test/band_helper_test.cc
# lib/src/common/test/thread_pool_test.cc
# lib/src/common/test/thread_test.cc
# lib/src/common/thread_pool.cc
# lib/src/common/threads.c
# lib/src/common/time_prof.cc
# lib/src/common/tti_sync_cv.cc
# lib/src/common/version.c
# lib/src/common/zuc.cc
# lib/src/mac/mac_rar_pdu_nr.cc
# lib/src/mac/mac_sch_pdu_nr.cc
# lib/src/mac/pdu.cc
# lib/src/mac/pdu_queue.cc
# lib/src/phy/agc/agc.c
# lib/src/phy/ch_estimation/chest_common.c
# lib/src/phy/ch_estimation/chest_dl.c
# lib/src/phy/ch_estimation/chest_dl_nbiot.c
# lib/src/phy/ch_estimation/chest_sl.c
# lib/src/phy/ch_estimation/chest_ul.c
# lib/src/phy/ch_estimation/csi_rs.c
# lib/src/phy/ch_estimation/dmrs_pdcch.c
# lib/src/phy/ch_estimation/dmrs_pucch.c
# lib/src/phy/ch_estimation/dmrs_sch.c
# lib/src/phy/ch_estimation/refsignal_dl.c
# lib/src/phy/ch_estimation/refsignal_dl_nbiot.c
# lib/src/phy/ch_estimation/refsignal_ul.c
# lib/src/phy/ch_estimation/test/chest_nbiot_test_dl.c
# lib/src/phy/ch_estimation/test/chest_test_dl.c
# lib/src/phy/ch_estimation/test/chest_test_sl.c
# lib/src/phy/ch_estimation/test/chest_test_srs.c
# lib/src/phy/ch_estimation/test/chest_test_ul.c
# lib/src/phy/ch_estimation/test/csi_rs_test.c
# lib/src/phy/ch_estimation/test/dmrs_pdcch_test.c
# lib/src/phy/ch_estimation/test/dmrs_pdsch_test.c
# lib/src/phy/ch_estimation/test/refsignal_ul_test.c
# lib/src/phy/ch_estimation/wiener_dl.c
# lib/src/phy/channel/ch_awgn.c
# lib/src/phy/channel/channel.cc
# lib/src/phy/channel/delay.c
# lib/src/phy/channel/fading.c
# lib/src/phy/channel/gauss.c
# lib/src/phy/channel/gauss.h
# lib/src/phy/channel/hst.c
# lib/src/phy/channel/rlf.c
# lib/src/phy/channel/test/awgn_channel_test.c
# lib/src/phy/channel/test/delay_channel_test.c
# lib/src/phy/channel/test/fading_channel_test.c
# lib/src/phy/channel/test/hst_channel_test.c
# lib/src/phy/common/phy_common.c
# lib/src/phy/common/phy_common_nr.c
# lib/src/phy/common/phy_common_sl.c
# lib/src/phy/common/sequence.c
# lib/src/phy/common/test/sequence_test.c
# lib/src/phy/common/timestamp.c
# lib/src/phy/common/zc_sequence.c
# lib/src/phy/dft/dft_fftw.c
# lib/src/phy/dft/dft_precoding.c
# lib/src/phy/dft/ofdm.c
# lib/src/phy/dft/test/ofdm_test.c
# lib/src/phy/enb/enb_dl.c
# lib/src/phy/enb/enb_dl_nr.c
# lib/src/phy/enb/enb_ul.c
# lib/src/phy/fec/block/block.c
# lib/src/phy/fec/block/test/block_test.c
# lib/src/phy/fec/cbsegm.c
# lib/src/phy/fec/convolutional/convcoder.c
# lib/src/phy/fec/convolutional/parity.c
# lib/src/phy/fec/convolutional/parity.h
# lib/src/phy/fec/convolutional/test/viterbi_test.c
# lib/src/phy/fec/convolutional/test/viterbi_test.h
# lib/src/phy/fec/convolutional/viterbi.c
# lib/src/phy/fec/convolutional/viterbi37.h
# lib/src/phy/fec/crc.c
# lib/src/phy/fec/ldpc/base_graph.c
# lib/src/phy/fec/ldpc/ldpc_avx2_consts.h
# lib/src/phy/fec/ldpc/ldpc_avx512_consts.h
# lib/src/phy/fec/ldpc/ldpc_dec_all.h
# lib/src/phy/fec/ldpc/ldpc_dec_c.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx2.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx2_flood.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx2long.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx2long_flood.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx512.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx512long.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_avx512long_flood.c
# lib/src/phy/fec/ldpc/ldpc_dec_c_flood.c
# lib/src/phy/fec/ldpc/ldpc_dec_f.c
# lib/src/phy/fec/ldpc/ldpc_dec_s.c
# lib/src/phy/fec/ldpc/ldpc_decoder.c
# lib/src/phy/fec/ldpc/ldpc_enc_all.h
# lib/src/phy/fec/ldpc/ldpc_enc_avx2.c
# lib/src/phy/fec/ldpc/ldpc_enc_avx2long.c
# lib/src/phy/fec/ldpc/ldpc_enc_avx512.c
# lib/src/phy/fec/ldpc/ldpc_enc_avx512long.c
# lib/src/phy/fec/ldpc/ldpc_enc_c.c
# lib/src/phy/fec/ldpc/ldpc_encoder.c
# lib/src/phy/fec/ldpc/ldpc_rm.c
# lib/src/phy/fec/ldpc/test/ldpc_chain_test.c
# lib/src/phy/fec/ldpc/test/ldpc_dec_avx2_test.c
# lib/src/phy/fec/ldpc/test/ldpc_dec_avx512_test.c
# lib/src/phy/fec/ldpc/test/ldpc_dec_c_test.c
# lib/src/phy/fec/ldpc/test/ldpc_dec_s_test.c
# lib/src/phy/fec/ldpc/test/ldpc_dec_test.c
# lib/src/phy/fec/ldpc/test/ldpc_enc_avx2_test.c
# lib/src/phy/fec/ldpc/test/ldpc_enc_avx512_test.c
# lib/src/phy/fec/ldpc/test/ldpc_enc_test.c
# lib/src/phy/fec/ldpc/test/ldpc_rm_chain_test.c
# lib/src/phy/fec/ldpc/test/ldpc_rm_test.c
# lib/src/phy/fec/polar/polar_chanalloc.c
# lib/src/phy/fec/polar/polar_code.c
# lib/src/phy/fec/polar/polar_decoder.c
# lib/src/phy/fec/polar/polar_decoder_ssc_all.c
# lib/src/phy/fec/polar/polar_decoder_ssc_all.h
# lib/src/phy/fec/polar/polar_decoder_ssc_c.c
# lib/src/phy/fec/polar/polar_decoder_ssc_c.h
# lib/src/phy/fec/polar/polar_decoder_ssc_c_avx2.c
# lib/src/phy/fec/polar/polar_decoder_ssc_c_avx2.h
# lib/src/phy/fec/polar/polar_decoder_ssc_f.c
# lib/src/phy/fec/polar/polar_decoder_ssc_f.h
# lib/src/phy/fec/polar/polar_decoder_ssc_s.c
# lib/src/phy/fec/polar/polar_decoder_ssc_s.h
# lib/src/phy/fec/polar/polar_decoder_vector.c
# lib/src/phy/fec/polar/polar_decoder_vector.h
# lib/src/phy/fec/polar/polar_decoder_vector_avx2.c
# lib/src/phy/fec/polar/polar_decoder_vector_avx2.h
# lib/src/phy/fec/polar/polar_encoder.c
# lib/src/phy/fec/polar/polar_encoder_avx2.c
# lib/src/phy/fec/polar/polar_encoder_avx2.h
# lib/src/phy/fec/polar/polar_encoder_pipelined.c
# lib/src/phy/fec/polar/polar_encoder_pipelined.h
# lib/src/phy/fec/polar/polar_interleaver.c
# lib/src/phy/fec/polar/polar_rm.c
# lib/src/phy/fec/polar/test/polar_chain_test.c
# lib/src/phy/fec/polar/test/polar_interleaver_gold.h
# lib/src/phy/fec/polar/test/polar_interleaver_test.c
# lib/src/phy/fec/polar/test/polar_sets.c
# lib/src/phy/fec/polar/test/polar_sets.h
# lib/src/phy/fec/polar/test/subchannel_allocation.c
# lib/src/phy/fec/polar/test/subchannel_allocation.h
# lib/src/phy/fec/softbuffer.c
# lib/src/phy/fec/test/crc_test.c
# lib/src/phy/fec/test/crc_test.h
# lib/src/phy/fec/turbo/rm_conv.c
# lib/src/phy/fec/turbo/rm_turbo.c
# lib/src/phy/fec/turbo/tc_interl_lte.c
# lib/src/phy/fec/turbo/tc_interl_umts.c
# lib/src/phy/fec/turbo/test/rm_conv_test.c
# lib/src/phy/fec/turbo/test/rm_turbo_test.c
# lib/src/phy/fec/turbo/test/turbocoder_test.c
# lib/src/phy/fec/turbo/test/turbodecoder_test.c
# lib/src/phy/fec/turbo/test/turbodecoder_test.h
# lib/src/phy/fec/turbo/turbocoder.c
# lib/src/phy/fec/turbo/turbodecoder.c
# lib/src/phy/fec/turbo/turbodecoder_gen.c
# lib/src/phy/fec/turbo/turbodecoder_sse.c
# lib/src/phy/fec/utils_avx2.h
# lib/src/phy/fec/utils_avx512.h
# lib/src/phy/io/binsource.c
# lib/src/phy/io/filesink.c
# lib/src/phy/io/filesource.c
# lib/src/phy/io/netsink.c
# lib/src/phy/io/netsource.c
# lib/src/phy/mimo/layermap.c
# lib/src/phy/mimo/precoding.c
# lib/src/phy/mimo/test/layermap_test.c
# lib/src/phy/mimo/test/pmi_select_test.c
# lib/src/phy/mimo/test/pmi_select_test.h
# lib/src/phy/mimo/test/precoder_test.c
# lib/src/phy/modem/demod_hard.c
# lib/src/phy/modem/demod_soft.c
# lib/src/phy/modem/hard_demod_lte.c
# lib/src/phy/modem/hard_demod_lte.h
# lib/src/phy/modem/lte_tables.c
# lib/src/phy/modem/lte_tables.h
# lib/src/phy/modem/mod.c
# lib/src/phy/modem/modem_table.c
# lib/src/phy/modem/test/modem_test.c
# lib/src/phy/modem/test/soft_demod_test.c
# lib/src/phy/phch/cqi.c
# lib/src/phy/phch/csi.c
# lib/src/phy/phch/dci.c
# lib/src/phy/phch/dci_nbiot.c
# lib/src/phy/phch/dci_nr.c
# lib/src/phy/phch/mib_sl.c
# lib/src/phy/phch/npbch.c
# lib/src/phy/phch/npdcch.c
# lib/src/phy/phch/npdsch.c
# lib/src/phy/phch/pbch.c
# lib/src/phy/phch/pcfich.c
# lib/src/phy/phch/pdcch.c
# lib/src/phy/phch/pdcch_nr.c
# lib/src/phy/phch/pdsch.c
# lib/src/phy/phch/pdsch_nr.c
# lib/src/phy/phch/phich.c
# lib/src/phy/phch/pmch.c
# lib/src/phy/phch/prach.c
# lib/src/phy/phch/prach_tables.h
# lib/src/phy/phch/prb_dl.c
# lib/src/phy/phch/prb_dl.h
# lib/src/phy/phch/psbch.c
# lib/src/phy/phch/pscch.c
# lib/src/phy/phch/pssch.c
# lib/src/phy/phch/pucch.c
# lib/src/phy/phch/pucch_cfg_nr.c
# lib/src/phy/phch/pucch_nr.c
# lib/src/phy/phch/pucch_proc.c
# lib/src/phy/phch/pusch.c
# lib/src/phy/phch/pusch_nr.c
# lib/src/phy/phch/ra.c
# lib/src/phy/phch/ra_dl.c
# lib/src/phy/phch/ra_dl_nr.c
# lib/src/phy/phch/ra_helper.h
# lib/src/phy/phch/ra_nbiot.c
# lib/src/phy/phch/ra_nr.c
# lib/src/phy/phch/ra_sl.c
# lib/src/phy/phch/ra_ul.c
# lib/src/phy/phch/ra_ul_nr.c
# lib/src/phy/phch/regs.c
# lib/src/phy/phch/sch.c
# lib/src/phy/phch/sch_nr.c
# lib/src/phy/phch/sci.c
# lib/src/phy/phch/sequences.c
# lib/src/phy/phch/tbs_tables.h
# lib/src/phy/phch/tbs_tables_nbiot.h
# lib/src/phy/phch/test/dci_nbiot_test.c
# lib/src/phy/phch/test/npbch_file_test.c
# lib/src/phy/phch/test/npbch_test.c
# lib/src/phy/phch/test/npdcch_file_test.c
# lib/src/phy/phch/test/npdcch_test.c
# lib/src/phy/phch/test/npdsch_npdcch_file_test.c
# lib/src/phy/phch/test/npdsch_test.c
# lib/src/phy/phch/test/pbch_file_test.c
# lib/src/phy/phch/test/pbch_test.c
# lib/src/phy/phch/test/pcfich_file_test.c
# lib/src/phy/phch/test/pcfich_test.c
# lib/src/phy/phch/test/pdcch_file_test.c
# lib/src/phy/phch/test/pdcch_nr_test.c
# lib/src/phy/phch/test/pdcch_test.c
# lib/src/phy/phch/test/pdsch_nr_test.c
# lib/src/phy/phch/test/pdsch_pdcch_file_test.c
# lib/src/phy/phch/test/pdsch_test.c
# lib/src/phy/phch/test/phich_file_test.c
# lib/src/phy/phch/test/phich_test.c
# lib/src/phy/phch/test/pmch_file_test.c
# lib/src/phy/phch/test/pmch_test.c
# lib/src/phy/phch/test/prach_test.c
# lib/src/phy/phch/test/prach_test_multi.c
# lib/src/phy/phch/test/prach_test_usrp.c
# lib/src/phy/phch/test/psbch_file_test.c
# lib/src/phy/phch/test/psbch_test.c
# lib/src/phy/phch/test/pscch_test.c
# lib/src/phy/phch/test/pssch_pscch_file_test.c
# lib/src/phy/phch/test/pssch_test.c
# lib/src/phy/phch/test/pucch_nr_test.c
# lib/src/phy/phch/test/pucch_test.c
# lib/src/phy/phch/test/pusch_nr_test.c
# lib/src/phy/phch/test/pusch_test.c
# lib/src/phy/phch/test/ra_nr_test.c
# lib/src/phy/phch/test/sch_nr_test.c
# lib/src/phy/phch/uci.c
# lib/src/phy/phch/uci_nr.c
# lib/src/phy/resampling/decim.c
# lib/src/phy/resampling/interp.c
# lib/src/phy/resampling/resample_arb.c
# lib/src/phy/resampling/resampler.c
# lib/src/phy/resampling/test/resample_arb_bench.c
# lib/src/phy/resampling/test/resample_arb_test.c
# lib/src/phy/resampling/test/resampler_test.c
# lib/src/phy/rf/rf_blade_imp.c
# lib/src/phy/rf/rf_blade_imp.h
# lib/src/phy/rf/rf_dev.h
# lib/src/phy/rf/rf_helper.h
# lib/src/phy/rf/rf_imp.c
# lib/src/phy/rf/rf_soapy_imp.c
# lib/src/phy/rf/rf_soapy_imp.h
# lib/src/phy/rf/rf_uhd_generic.h
# lib/src/phy/rf/rf_uhd_imp.cc
# lib/src/phy/rf/rf_uhd_imp.h
# lib/src/phy/rf/rf_uhd_rfnoc.h
# lib/src/phy/rf/rf_uhd_safe.h
# lib/src/phy/rf/rf_utils.c
# lib/src/phy/rf/rf_zmq_imp.c
# lib/src/phy/rf/rf_zmq_imp.h
# lib/src/phy/rf/rf_zmq_imp_rx.c
# lib/src/phy/rf/rf_zmq_imp_trx.h
# lib/src/phy/rf/rf_zmq_imp_tx.c
# lib/src/phy/rf/rf_zmq_test.c
# lib/src/phy/scrambling/scrambling.c
# lib/src/phy/scrambling/test/scrambling_test.c
# lib/src/phy/sync/cfo.c
# lib/src/phy/sync/cp.c
# lib/src/phy/sync/find_sss.c
# lib/src/phy/sync/gen_sss.c
# lib/src/phy/sync/npss.c
# lib/src/phy/sync/nsss.c
# lib/src/phy/sync/pss.c
# lib/src/phy/sync/psss.c
# lib/src/phy/sync/refsignal_dl_sync.c
# lib/src/phy/sync/sfo.c
# lib/src/phy/sync/sss.c
# lib/src/phy/sync/ssss.c
# lib/src/phy/sync/sync.c
# lib/src/phy/sync/sync_nbiot.c
# lib/src/phy/sync/test/cfo_test.c
# lib/src/phy/sync/test/npss_file.c
# lib/src/phy/sync/test/npss_test.c
# lib/src/phy/sync/test/npss_usrp.c
# lib/src/phy/sync/test/nsss_test.c
# lib/src/phy/sync/test/nsss_usrp.c
# lib/src/phy/sync/test/pss_file.c
# lib/src/phy/sync/test/pss_usrp.c
# lib/src/phy/sync/test/psss_file_test.c
# lib/src/phy/sync/test/sync_nbiot_test.c
# lib/src/phy/sync/test/sync_sl_test.c
# lib/src/phy/sync/test/sync_test.c
# lib/src/phy/ue/test/gen_ack_test.c
# lib/src/phy/ue/test/pucch_resource_test.c
# lib/src/phy/ue/test/ue_dl_nbiot_test.c
# lib/src/phy/ue/test/ue_mib_sync_test_nbiot_usrp.c
# lib/src/phy/ue/test/ue_sync_test_nbiot_usrp.c
# lib/src/phy/ue/ue_cell_search.c
# lib/src/phy/ue/ue_cell_search_nbiot.c
# lib/src/phy/ue/ue_dl.c
# lib/src/phy/ue/ue_dl_nbiot.c
# lib/src/phy/ue/ue_dl_nr.c
# lib/src/phy/ue/ue_mib.c
# lib/src/phy/ue/ue_mib_nbiot.c
# lib/src/phy/ue/ue_mib_sl.c
# lib/src/phy/ue/ue_sync.c
# lib/src/phy/ue/ue_sync_nbiot.c
# lib/src/phy/ue/ue_ul.c
# lib/src/phy/ue/ue_ul_nr.c
# lib/src/phy/utils/bit.c
# lib/src/phy/utils/cexptab.c
# lib/src/phy/utils/convolution.c
# lib/src/phy/utils/debug.c
# lib/src/phy/utils/filter.c
# lib/src/phy/utils/mat.c
# lib/src/phy/utils/phy_logger.c
# lib/src/phy/utils/primes.c
# lib/src/phy/utils/random.cpp
# lib/src/phy/utils/ringbuffer.c
# lib/src/phy/utils/test/dft_test.c
# lib/src/phy/utils/test/mat_test.c
# lib/src/phy/utils/test/ring_buffer_test.c
# lib/src/phy/utils/test/vector_test.c
# lib/src/phy/utils/vector.c
# lib/src/phy/utils/vector_simd.c
# lib/src/radio/channel_mapping.cc
# lib/src/radio/radio.cc
# lib/src/radio/test/benchmark_radio.cc
# lib/src/srslog/backend_worker.cpp
# lib/src/srslog/backend_worker.h
# lib/src/srslog/bundled/fmt/CMakeLists.txt
# lib/src/srslog/event_trace.cpp
# lib/src/srslog/formatters/CMakeLists.txt
# lib/src/srslog/formatters/json_formatter.cpp
# lib/src/srslog/formatters/json_formatter.h
# lib/src/srslog/formatters/text_formatter.cpp
# lib/src/srslog/formatters/text_formatter.h
# lib/src/srslog/log_backend_impl.h
# lib/src/srslog/object_repository.h
# lib/src/srslog/sinks/buffered_file_sink.h
# lib/src/srslog/sinks/file_sink.h
# lib/src/srslog/sinks/file_utils.h
# lib/src/srslog/sinks/stream_sink.h
# lib/src/srslog/srslog.cpp
# lib/src/srslog/srslog_c.cpp
# lib/src/srslog/srslog_instance.h
# lib/src/system/sys_metrics_processor.cc
# lib/src/upper/gtpu.cc
# lib/src/upper/pdcp.cc
# lib/src/upper/pdcp_entity_base.cc
# lib/src/upper/pdcp_entity_lte.cc
# lib/src/upper/pdcp_entity_nr.cc
# lib/src/upper/rlc.cc
# lib/src/upper/rlc_am_base.cc
# lib/src/upper/rlc_am_lte.cc
# lib/src/upper/rlc_am_nr.cc
# lib/src/upper/rlc_tm.cc
# lib/src/upper/rlc_um_base.cc
# lib/src/upper/rlc_um_lte.cc
# lib/src/upper/rlc_um_nr.cc
# lib/test/adt/bounded_bitset_test.cc
# lib/test/adt/bounded_vector_test.cc
# lib/test/adt/circular_buffer_test.cc
# lib/test/adt/expected_test.cc
# lib/test/adt/interval_test.cc
# lib/test/adt/mem_pool_test.cc
# lib/test/adt/observer_test.cc
# lib/test/adt/scope_exit_test.cc
# lib/test/adt/span_test.cc
# lib/test/asn1/asn1_utils_test.cc
# lib/test/asn1/nas_decoder.cc
# lib/test/asn1/ngap_test.cc
# lib/test/asn1/rrc_asn1_decoder.cc
# lib/test/asn1/rrc_test.cc
# lib/test/asn1/s1ap_test.cc
# lib/test/asn1/srsran_asn1_nas_test.cc
# lib/test/asn1/srsran_asn1_rrc_dl_ccch_test.cc
# lib/test/asn1/srsran_asn1_rrc_dl_dcch_test.cc
# lib/test/asn1/srsran_asn1_rrc_mcch_test.cc
# lib/test/asn1/srsran_asn1_rrc_meas_test.cc
# lib/test/asn1/srsran_asn1_rrc_nr_test.cc
# lib/test/asn1/srsran_asn1_rrc_ul_dcch_test.cc
# lib/test/common/bcd_helpers_test.cc
# lib/test/common/byte_buffer_queue_test.cc
# lib/test/common/choice_type_test.cc
# lib/test/common/fsm_test.cc
# lib/test/common/mac_pcap_net_test.cc
# lib/test/common/multiqueue_test.cc
# lib/test/common/network_utils_test.cc
# lib/test/common/pnf_bridge.cc
# lib/test/common/pnf_dummy.cc
# lib/test/common/stack_procedure_test.cc
# lib/test/common/task_scheduler_test.cc
# lib/test/common/test_eea1.cc
# lib/test/common/test_eea2.cc
# lib/test/common/test_eea3.cc
# lib/test/common/test_eia1.cc
# lib/test/common/test_eia3.cc
# lib/test/common/test_f12345.cc
# lib/test/common/timeout_test.cc
# lib/test/common/timer_test.cc
# lib/test/common/tti_point_test.cc
# lib/test/mac/mac_pcap_test.cc
# lib/test/mac/mac_pdu_nr_test.cc
# lib/test/mac/pdu_test.cc
# lib/test/phy/phy_dl_nr_test.c
# lib/test/phy/phy_dl_test.c
# lib/test/phy/pucch_ca_test.c
# lib/test/srslog/any_test.cpp
# lib/test/srslog/context_test.cpp
# lib/test/srslog/event_trace_test.cpp
# lib/test/srslog/file_sink_test.cpp
# lib/test/srslog/file_test_utils.h
# lib/test/srslog/file_utils_test.cpp
# lib/test/srslog/json_formatter_test.cpp
# lib/test/srslog/log_backend_test.cpp
# lib/test/srslog/log_channel_test.cpp
# lib/test/srslog/logger_test.cpp
# lib/test/srslog/srslog_test.cpp
# lib/test/srslog/test_dummies.h
# lib/test/srslog/testing_helpers.h
# lib/test/srslog/text_formatter_test.cpp
# lib/test/upper/pdcp_base_test.h
# lib/test/upper/pdcp_lte_test.h
# lib/test/upper/pdcp_lte_test_rx.cc
# lib/test/upper/pdcp_nr_test.h
# lib/test/upper/pdcp_nr_test_discard_sdu.cc
# lib/test/upper/pdcp_nr_test_rx.cc
# lib/test/upper/pdcp_nr_test_tx.cc
# lib/test/upper/rlc_am_control_test.cc
# lib/test/upper/rlc_am_data_test.cc
# lib/test/upper/rlc_am_nr_pdu_test.cc
# lib/test/upper/rlc_am_test.cc
# lib/test/upper/rlc_common_test.cc
# lib/test/upper/rlc_stress_test.cc
# lib/test/upper/rlc_test_common.h
# lib/test/upper/rlc_um_data_test.cc
# lib/test/upper/rlc_um_nr_pdu_test.cc
# lib/test/upper/rlc_um_nr_test.cc
# lib/test/upper/rlc_um_test.cc
# srsenb/hdr/cfg_parser.h
# srsenb/hdr/enb.h
# srsenb/hdr/metrics_csv.h
# srsenb/hdr/metrics_json.h
# srsenb/hdr/metrics_stdout.h
# srsenb/hdr/parser.h
# srsenb/hdr/phy/enb_phy_base.h
# srsenb/hdr/phy/lte/cc_worker.h
# srsenb/hdr/phy/lte/sf_worker.h
# srsenb/hdr/phy/lte/worker_pool.h
# srsenb/hdr/phy/nr/cc_worker.h
# srsenb/hdr/phy/nr/sf_worker.h
# srsenb/hdr/phy/nr/worker_pool.h
# srsenb/hdr/phy/phy.h
# srsenb/hdr/phy/phy_common.h
# srsenb/hdr/phy/phy_interfaces.h
# srsenb/hdr/phy/phy_metrics.h
# srsenb/hdr/phy/prach_worker.h
# srsenb/hdr/phy/txrx.h
# srsenb/hdr/phy/vnf_phy_nr.h
# srsenb/hdr/stack/enb_stack_base.h
# srsenb/hdr/stack/enb_stack_lte.h
# srsenb/hdr/stack/gnb_stack_nr.h
# srsenb/hdr/stack/mac/mac.h
# srsenb/hdr/stack/mac/mac_metrics.h
# srsenb/hdr/stack/mac/mac_nr.h
# srsenb/hdr/stack/mac/sched.h
# srsenb/hdr/stack/mac/sched_carrier.h
# srsenb/hdr/stack/mac/sched_common.h
# srsenb/hdr/stack/mac/sched_grid.h
# srsenb/hdr/stack/mac/sched_helpers.h
# srsenb/hdr/stack/mac/sched_phy_ch/sched_dci.h
# srsenb/hdr/stack/mac/sched_phy_ch/sched_result.h
# srsenb/hdr/stack/mac/sched_phy_ch/sf_cch_allocator.h
# srsenb/hdr/stack/mac/sched_ue.h
# srsenb/hdr/stack/mac/sched_ue_ctrl/sched_harq.h
# srsenb/hdr/stack/mac/sched_ue_ctrl/sched_lch.h
# srsenb/hdr/stack/mac/sched_ue_ctrl/sched_ue_cell.h
# srsenb/hdr/stack/mac/sched_ue_ctrl/tpc.h
# srsenb/hdr/stack/mac/schedulers/sched_base.h
# srsenb/hdr/stack/mac/schedulers/sched_time_pf.h
# srsenb/hdr/stack/mac/schedulers/sched_time_rr.h
# srsenb/hdr/stack/mac/ta.h
# srsenb/hdr/stack/mac/ue.h
# srsenb/hdr/stack/rrc/mac_controller.h
# srsenb/hdr/stack/rrc/rrc.h
# srsenb/hdr/stack/rrc/rrc_bearer_cfg.h
# srsenb/hdr/stack/rrc/rrc_cell_cfg.h
# srsenb/hdr/stack/rrc/rrc_config.h
# srsenb/hdr/stack/rrc/rrc_config_common.h
# srsenb/hdr/stack/rrc/rrc_metrics.h
# srsenb/hdr/stack/rrc/rrc_mobility.h
# srsenb/hdr/stack/rrc/rrc_nr.h
# srsenb/hdr/stack/rrc/rrc_ue.h
# srsenb/hdr/stack/rrc/ue_meas_cfg.h
# srsenb/hdr/stack/rrc/ue_rr_cfg.h
# srsenb/hdr/stack/upper/common_enb.h
# srsenb/hdr/stack/upper/gtpu.h
# srsenb/hdr/stack/upper/pdcp.h
# srsenb/hdr/stack/upper/pdcp_nr.h
# srsenb/hdr/stack/upper/rlc.h
# srsenb/hdr/stack/upper/rlc_nr.h
# srsenb/hdr/stack/upper/s1ap.h
# srsenb/hdr/stack/upper/s1ap_metrics.h
# srsenb/hdr/stack/upper/sdap.h
# srsenb/src/enb.cc
# srsenb/src/enb_cfg_parser.cc
# srsenb/src/enb_cfg_parser.h
# srsenb/src/main.cc
# srsenb/src/metrics_csv.cc
# srsenb/src/metrics_json.cc
# srsenb/src/metrics_stdout.cc
# srsenb/src/parser.cc
# srsenb/src/phy/lte/sf_worker.cc
# srsenb/src/phy/lte/worker_pool.cc
# srsenb/src/phy/nr/cc_worker.cc
# srsenb/src/phy/nr/sf_worker.cc
# srsenb/src/phy/nr/worker_pool.cc
# srsenb/src/phy/phy.cc
# srsenb/src/phy/phy_common.cc
# srsenb/src/phy/prach_worker.cc
# srsenb/src/phy/txrx.cc
# srsenb/src/phy/vnf_phy_nr.cc
# srsenb/src/stack/enb_stack_lte.cc
# srsenb/src/stack/gnb_stack_nr.cc
# srsenb/src/stack/mac/mac.cc
# srsenb/src/stack/mac/mac_nr.cc
# srsenb/src/stack/mac/sched.cc
# srsenb/src/stack/mac/sched_carrier.cc
# srsenb/src/stack/mac/sched_grid.cc
# srsenb/src/stack/mac/sched_helpers.cc
# srsenb/src/stack/mac/sched_phy_ch/sched_dci.cc
# srsenb/src/stack/mac/sched_phy_ch/sf_cch_allocator.cc
# srsenb/src/stack/mac/sched_ue.cc
# srsenb/src/stack/mac/sched_ue_ctrl/sched_harq.cc
# srsenb/src/stack/mac/sched_ue_ctrl/sched_lch.cc
# srsenb/src/stack/mac/sched_ue_ctrl/sched_ue_cell.cc
# srsenb/src/stack/mac/schedulers/sched_base.cc
# srsenb/src/stack/mac/schedulers/sched_time_pf.cc
# srsenb/src/stack/mac/schedulers/sched_time_rr.cc
# srsenb/src/stack/mac/ue.cc
# srsenb/src/stack/rrc/mac_controller.cc
# srsenb/src/stack/rrc/rrc.cc
# srsenb/src/stack/rrc/rrc_bearer_cfg.cc
# srsenb/src/stack/rrc/rrc_cell_cfg.cc
# srsenb/src/stack/rrc/rrc_mobility.cc
# srsenb/src/stack/rrc/rrc_nr.cc
# srsenb/src/stack/rrc/rrc_ue.cc
# srsenb/src/stack/rrc/ue_meas_cfg.cc
# srsenb/src/stack/rrc/ue_rr_cfg.cc
# srsenb/src/stack/upper/gtpu.cc
# srsenb/src/stack/upper/pdcp.cc
# srsenb/src/stack/upper/pdcp_nr.cc
# srsenb/src/stack/upper/rlc.cc
# srsenb/src/stack/upper/rlc_nr.cc
# srsenb/src/stack/upper/s1ap.cc
# srsenb/src/stack/upper/sdap.cc
# srsenb/test/common/dummy_classes.h
# srsenb/test/common/dummy_nr_classes.h
# srsenb/test/enb_metrics_test.cc
# srsenb/test/mac/sched_benchmark.cc
# srsenb/test/mac/sched_ca_test.cc
# srsenb/test/mac/sched_common_test_suite.cc
# srsenb/test/mac/sched_common_test_suite.h
# srsenb/test/mac/sched_dci_test.cc
# srsenb/test/mac/sched_grid_test.cc
# srsenb/test/mac/sched_lc_ch_test.cc
# srsenb/test/mac/sched_sim_ue.cc
# srsenb/test/mac/sched_sim_ue.h
# srsenb/test/mac/sched_test_common.cc
# srsenb/test/mac/sched_test_common.h
# srsenb/test/mac/sched_test_rand.cc
# srsenb/test/mac/sched_test_utils.h
# srsenb/test/mac/sched_tpc_test.cc
# srsenb/test/mac/sched_ue_ded_test_suite.cc
# srsenb/test/mac/sched_ue_ded_test_suite.h
# srsenb/test/phy/enb_phy_test.cc
# srsenb/test/rrc/rrc_nr_test.cc
# srsenb/test/upper/erab_setup_test.cc
# srsenb/test/upper/gtpu_test.cc
# srsenb/test/upper/plmn_test.cc
# srsenb/test/upper/rrc_meascfg_test.cc
# srsenb/test/upper/rrc_mobility_test.cc
# srsenb/test/upper/test_helpers.cc
# srsenb/test/upper/test_helpers.h
# srsepc/hdr/hss/hss.h
# srsepc/hdr/mbms-gw/mbms-gw.h
# srsepc/hdr/mme/mme.h
# srsepc/hdr/mme/mme_gtpc.h
# srsepc/hdr/mme/nas.h
# srsepc/hdr/mme/s1ap.h
# srsepc/hdr/mme/s1ap_common.h
# srsepc/hdr/mme/s1ap_ctx_mngmt_proc.h
# srsepc/hdr/mme/s1ap_erab_mngmt_proc.h
# srsepc/hdr/mme/s1ap_mngmt_proc.h
# srsepc/hdr/mme/s1ap_nas_transport.h
# srsepc/hdr/mme/s1ap_paging.h
# srsepc/hdr/spgw/gtpc.h
# srsepc/hdr/spgw/gtpu.h
# srsepc/hdr/spgw/spgw.h
# srsepc/src/hss/hss.cc
# srsepc/src/main.cc
# srsepc/src/mbms-gw/main.cc
# srsepc/src/mbms-gw/mbms-gw.cc
# srsepc/src/mme/mme.cc
# srsepc/src/mme/mme_gtpc.cc
# srsepc/src/mme/nas.cc
# srsepc/src/mme/s1ap.cc
# srsepc/src/mme/s1ap_ctx_mngmt_proc.cc
# srsepc/src/mme/s1ap_erab_mngmt_proc.cc
# srsepc/src/mme/s1ap_mngmt_proc.cc
# srsepc/src/mme/s1ap_nas_transport.cc
# srsepc/src/mme/s1ap_paging.cc
# srsepc/src/spgw/gtpc.cc
# srsepc/src/spgw/gtpu.cc
# srsepc/src/spgw/spgw.cc
# srsue/hdr/metrics_csv.h
# srsue/hdr/metrics_stdout.h
# srsue/hdr/phy/lte/cc_worker.h
# srsue/hdr/phy/lte/sf_worker.h
# srsue/hdr/phy/lte/worker_pool.h
# srsue/hdr/phy/nr/cc_worker.h
# srsue/hdr/phy/nr/sf_worker.h
# srsue/hdr/phy/nr/state.h
# srsue/hdr/phy/nr/worker_pool.h
# srsue/hdr/phy/phy.h
# srsue/hdr/phy/phy_common.h
# srsue/hdr/phy/phy_metrics.h
# srsue/hdr/phy/prach.h
# srsue/hdr/phy/scell/intra_measure.h
# srsue/hdr/phy/scell/scell_recv.h
# srsue/hdr/phy/scell/scell_state.h
# srsue/hdr/phy/scell/scell_sync.h
# srsue/hdr/phy/search.h
# srsue/hdr/phy/sfn_sync.h
# srsue/hdr/phy/sync.h
# srsue/hdr/phy/sync_state.h
# srsue/hdr/phy/ta_control.h
# srsue/hdr/phy/ue_lte_phy_base.h
# srsue/hdr/phy/ue_nr_phy_base.h
# srsue/hdr/phy/ue_phy_base.h
# srsue/hdr/phy/vnf_phy_nr.h
# srsue/hdr/stack/mac/demux.h
# srsue/hdr/stack/mac/dl_harq.h
# srsue/hdr/stack/mac/dl_sps.h
# srsue/hdr/stack/mac/mac.h
# srsue/hdr/stack/mac/mac_metrics.h
# srsue/hdr/stack/mac/mux.h
# srsue/hdr/stack/mac/proc.h
# srsue/hdr/stack/mac/proc_bsr.h
# srsue/hdr/stack/mac/proc_phr.h
# srsue/hdr/stack/mac/proc_ra.h
# srsue/hdr/stack/mac/proc_sr.h
# srsue/hdr/stack/mac/ul_harq.h
# srsue/hdr/stack/mac/ul_sps.h
# srsue/hdr/stack/mac_nr/mac_nr.h
# srsue/hdr/stack/mac_nr/mux_nr.h
# srsue/hdr/stack/rrc/phy_controller.h
# srsue/hdr/stack/rrc/rrc.h
# srsue/hdr/stack/rrc/rrc_cell.h
# srsue/hdr/stack/rrc/rrc_common.h
# srsue/hdr/stack/rrc/rrc_meas.h
# srsue/hdr/stack/rrc/rrc_metrics.h
# srsue/hdr/stack/rrc/rrc_nr.h
# srsue/hdr/stack/rrc/rrc_procedures.h
# srsue/hdr/stack/ue_stack_base.h
# srsue/hdr/stack/ue_stack_lte.h
# srsue/hdr/stack/ue_stack_nr.h
# srsue/hdr/stack/upper/gw.h
# srsue/hdr/stack/upper/gw_metrics.h
# srsue/hdr/stack/upper/nas.h
# srsue/hdr/stack/upper/nas_config.h
# srsue/hdr/stack/upper/nas_emm_state.h
# srsue/hdr/stack/upper/nas_idle_procedures.h
# srsue/hdr/stack/upper/nas_metrics.h
# srsue/hdr/stack/upper/pcsc_usim.h
# srsue/hdr/stack/upper/tft_packet_filter.h
# srsue/hdr/stack/upper/usim.h
# srsue/hdr/stack/upper/usim_base.h
# srsue/hdr/ue.h
# srsue/hdr/ue_metrics_interface.h
# srsue/src/main.cc
# srsue/src/metrics_csv.cc
# srsue/src/metrics_stdout.cc
# srsue/src/phy/lte/cc_worker.cc
# srsue/src/phy/lte/sf_worker.cc
# srsue/src/phy/lte/worker_pool.cc
# srsue/src/phy/nr/cc_worker.cc
# srsue/src/phy/nr/sf_worker.cc
# srsue/src/phy/nr/worker_pool.cc
# srsue/src/phy/phy.cc
# srsue/src/phy/phy_common.cc
# srsue/src/phy/prach.cc
# srsue/src/phy/scell/intra_measure.cc
# srsue/src/phy/scell/scell_recv.cc
# srsue/src/phy/search.cc
# srsue/src/phy/sfn_sync.cc
# srsue/src/phy/sync.cc
# srsue/src/phy/vnf_phy_nr.cc
# srsue/src/set_net_admin_caps.cc
# srsue/src/stack/mac/demux.cc
# srsue/src/stack/mac/dl_harq.cc
# srsue/src/stack/mac/mac.cc
# srsue/src/stack/mac/mux.cc
# srsue/src/stack/mac/proc_bsr.cc
# srsue/src/stack/mac/proc_phr.cc
# srsue/src/stack/mac/proc_ra.cc
# srsue/src/stack/mac/proc_sr.cc
# srsue/src/stack/mac/ul_harq.cc
# srsue/src/stack/mac_nr/mac_nr.cc
# srsue/src/stack/mac_nr/mux_nr.cc
# srsue/src/stack/rrc/phy_controller.cc
# srsue/src/stack/rrc/rrc.cc
# srsue/src/stack/rrc/rrc_cell.cc
# srsue/src/stack/rrc/rrc_meas.cc
# srsue/src/stack/rrc/rrc_nr.cc
# srsue/src/stack/rrc/rrc_procedures.cc
# srsue/src/stack/ue_stack_lte.cc
# srsue/src/stack/ue_stack_nr.cc
# srsue/src/stack/upper/gw.cc
# srsue/src/stack/upper/nas.cc
# srsue/src/stack/upper/nas_emm_state.cc
# srsue/src/stack/upper/nas_idle_procedures.cc
# srsue/src/stack/upper/pcsc_usim.cc
# srsue/src/stack/upper/tft_packet_filter.cc
# srsue/src/stack/upper/usim.cc
# srsue/src/stack/upper/usim_base.cc
# srsue/src/ue.cc
# srsue/test/mac_nr/proc_ra_nr_test.cc
# srsue/test/mac_test.cc
# srsue/test/metrics_test.cc
# srsue/test/phy/scell_search_test.cc
# srsue/test/phy/ue_phy_test.cc
# srsue/test/ttcn3/hdr/dut_utils.h
# srsue/test/ttcn3/hdr/lte_ttcn3_phy.h
# srsue/test/ttcn3/hdr/swappable_sink.h
# srsue/test/ttcn3/hdr/ttcn3_common.h
# srsue/test/ttcn3/hdr/ttcn3_drb_interface.h
# srsue/test/ttcn3/hdr/ttcn3_helpers.h
# srsue/test/ttcn3/hdr/ttcn3_interfaces.h
# srsue/test/ttcn3/hdr/ttcn3_ip_ctrl_interface.h
# srsue/test/ttcn3/hdr/ttcn3_ip_sock_interface.h
# srsue/test/ttcn3/hdr/ttcn3_port_handler.h
# srsue/test/ttcn3/hdr/ttcn3_srb_interface.h
# srsue/test/ttcn3/hdr/ttcn3_sys_interface.h
# srsue/test/ttcn3/hdr/ttcn3_syssim.h
# srsue/test/ttcn3/hdr/ttcn3_ue.h
# srsue/test/ttcn3/hdr/ttcn3_ut_interface.h
# srsue/test/ttcn3/src/lte_ttcn3_phy.cc
# srsue/test/ttcn3/src/ttcn3_dut.cc
# srsue/test/ttcn3/src/ttcn3_syssim.cc
# srsue/test/ttcn3/src/ttcn3_ue.cc
# srsue/test/ttcn3/test/rapidjson_test.cc
# srsue/test/ttcn3/test/ttcn3_if_handler_test.cc
# srsue/test/upper/nas_test.cc
# srsue/test/upper/pcsc_usim_test.cc
# srsue/test/upper/rrc_cell_test.cc
# srsue/test/upper/rrc_meas_test.cc
# srsue/test/upper/rrc_phy_ctrl_test.cc
# srsue/test/upper/rrc_reconfig_test.cc
# srsue/test/upper/tft_test.cc
# srsue/test/upper/ue_rrc_nr_test.cc
# srsue/test/upper/usim_test.cc
4 years ago
Xavier Arteaga
e200a3359e
SRSUE: check RNTI prior to UL encoding
4 years ago
Pedro Alvarez
a5229a02d1
Make sure RRC identity is set when NAS reads UE context from file.
4 years ago
David Rupprecht
838d5ac0f4
Added description for using the same filename for mac and mac_nr pcap
4 years ago
Andre Puschmann
bde7b49ca3
ue,mac_nr: add basic SR procedure
...
the current implementation support only one SR config
and doesn't support the prohibit timer
4 years ago
Xavier Arteaga
6219500148
Added NR-RRC RACH parsing
4 years ago
David Rupprecht
8c86d2084d
Adding NR phy config RRC parsing
...
Added error handling
Reworked flattening error handling
4 years ago
Andre Puschmann
7a3a5f4cf4
rrc_nr: announce short SN in PDCP capabilities
...
this allows selecting 12bit SNs for the NR PDCP entity
4 years ago
AlaiaL
bbaebd1274
Added a warning in the log when the cpu metrics are not registered due
...
to the number cpu cores is greater than supported.
4 years ago
AlaiaL
c9d1c77e8c
- Deleted the magic number of maximum supported cores, now it is a
...
constexpr.
- When the system has more cores that the maximum supported, the cpu
metrics will not be registered.
4 years ago
AlaiaL
6cd9bba641
Added the cpu metrics to the system metrics.
4 years ago
Xavier Arteaga
5bdf2c93b3
Initial NR PDSCH CSI-RS RE skip and other changes
4 years ago
Xavier Arteaga
7704c09ce2
Fix typos
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Francisco
dd336c53ea
changed srsran_warning to srsran_expect. Applied new macro to rlc am
4 years ago
srsLTE codebot
80e17d2986
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/src/srslog/sinks/single_write_file_sink.h
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago
Xavier Arteaga
8c4ed489e8
SRSUE: Disable neighbour cell display by default
4 years ago
Xavier Arteaga
4ae194581f
SRSUE: Adjustments in distance and speed estimations
4 years ago
Xavier Arteaga
49a535b81a
SRSUE: force printing neighbour cells by default in console trace
4 years ago
Xavier Arteaga
2782d96170
SRSUE: compute speed from TA commands
4 years ago
Xavier Arteaga
a8b5b8efa1
UHD: stability improvements
4 years ago
Xavier Arteaga
f3c0360842
Applied aesthetical changes
4 years ago
Xavier Arteaga
ddfff3edad
SRSUE: Zero transmit buffer if the slot is not UL
4 years ago
Xavier Arteaga
fb1a0b6bce
SRSUE: added NR-PDCCH information
4 years ago
Xavier Arteaga
d3cfb00211
SRSUE: Added TDD DL/UL slot detection
4 years ago
Xavier Arteaga
6f6c20e194
SRSUE: Added procedure for multiplexing UCI in NR-PUSCH
4 years ago
srsLTE codebot
6ccccade9e
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srslte/common/log.h
# lib/include/srslte/common/log_filter.h
# lib/include/srslte/common/logger.h
# lib/include/srslte/common/logger_srslog_wrapper.h
# lib/include/srslte/common/logmap.h
# lib/src/common/log_filter.cc
# lib/src/common/logger_srslog_wrapper.cc
# lib/src/common/logmap.cc
# lib/test/common/log_filter_test.cc
# lib/test/common/test_common_test.cc
4 years ago
Francisco
c6fff54f9e
compilation issue fix - wrong number of argments in ttcn3_syssim creation
4 years ago
Francisco
68c938267f
fix srslte include that causes a compilation issue
4 years ago
Francisco
d1ab4aae66
fix ipv6 related compilation issue
4 years ago
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
4 years ago
yagoda
2ecdab8717
small fixes to the eMBMS downlink, lack of pdcch decoding was causing issues with uplink
4 years ago
Pedro Alvarez
7447fefd19
Make sure that sending the status report sent after RLC configuration in reestablishment
4 years ago
faluco
173dcdd421
- Import latest srslog version.
...
- Remove string allocs in some log lines in radio.cc.
Add new tracing buffer capcity options into srsenb and srsue.
Add missing file.
4 years ago
faluco
60cd649b8f
Add a short description of the tracing options inside the config files.
4 years ago
faluco
c7542daf43
Remove rlc traces and add new ones into tti run functions both in the enb and ue.
4 years ago
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
4 years ago
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
4 years ago
Xavier Arteaga
9dffad87f2
Initial UCI bits multiplexing in PUSCH
4 years ago
Xavier Arteaga
f4e9d00ea8
Initial HARQ-ACK multiplex in PUSCH
4 years ago
srsLTE codebot
d290fe9714
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsue/src/phy/nr/state.cc
4 years ago
Andre Puschmann
44e7d41f57
mac_nr: free tx softbuffer in stop()
4 years ago
David Rupprecht
e3d001a48e
Proc RA NR test: fixed uninitialized values
4 years ago
David Rupprecht
6317c9295c
SRSUE NR: Removed workaround to add pdcp lte bearer
4 years ago
David Rupprecht
027c20b0d3
SRSUE: Option mac pcap nr and lte write to the same pcap file
4 years ago
David Rupprecht
f6d8f13053
SRSUE: Updated ue config packet capture description
4 years ago
David Rupprecht
410c8e5d0e
Fix typo
4 years ago
David Rupprecht
5a95cbdfae
Disable rat assignment in pcap class
4 years ago
David Rupprecht
bb3e87302d
Added new pcap enable option and mac nr
4 years ago
AlaiaL
b1483802a2
[metrics] restoring metrics_stdout for enb and ue
4 years ago
AlaiaL
d518a625cc
[metrics] Added the system metrics to the csv
4 years ago
AlaiaL
0ba7cd7df9
[metrics] Added system metrics to the enb's stdout
4 years ago
AlaiaL
3a86c210f9
[metrics] Added the system metrics to the ue stdout
4 years ago
Xavier Arteaga
784f4be72e
SRSUE: NR CSI report fixes
4 years ago
Xavier Arteaga
4679e9f871
Initial NR CSI reports
4 years ago
Francisco
12f998cea3
fix failing rrc_meas_test
4 years ago
Francisco
a72a659fdf
fix timers interface to avoid accessing to a timer after its release. fix gtpu tunnel activation during s1 handover
4 years ago
David Rupprecht
3cf68e796d
SRSUE: Restore old nr attach status
4 years ago
Xavier Arteaga
1e55d68b55
Removed set RNTI from API
4 years ago
Francisco
4b09507c19
remove srslte.h includes from upper layers
4 years ago
Francisco
766018f2b4
fix gcc compilation issue
4 years ago
Francisco
b329e25bbb
move ue phy interfaces to separate interfaces header file
4 years ago
Francisco
13d805ef56
move ue rrc interfaces to separate interfaces header file
4 years ago
Francisco
b1706b9197
move ue nas interfaces to separate interfaces header file
4 years ago
Francisco
b8bd869d0f
move ue rlc interfaces to separate interfaces header file
4 years ago
Francisco
a988351f46
move ue pdcp interfaces to separate interfaces header file
4 years ago
Francisco
ea04104e8e
move ue gw interfaces to separate interfaces header file
4 years ago
Francisco
186285ffd3
move ue usim interfaces to separate interfaces header file
4 years ago
David Rupprecht
8f49b92760
Using PDCP entity lte instead of nr for nr bearer
4 years ago
David Rupprecht
517208a6bc
Hardcoding MAC lcid
4 years ago
faluco
2328011732
- Remove old loggers in ttcn3 and in NR.
4 years ago
faluco
fd6c1e16a8
- Remove unused loggers in TTCN3.
4 years ago
faluco
eaf20fa4f3
- Removed some logger injections in the ue app.
...
- Removed old logger setup code not needed anymore.
4 years ago
faluco
3ce7454105
- Remove old loggers from ue_stack_lte, ue gw.
...
- Remove old loggers setting up for these classes.
4 years ago
Francisco
f610a7b83d
Change background worker pool to become a global variable
...
Allocate rrc::ue objects in batches in the background worker pool
4 years ago
Xavier Arteaga
126fc09b7d
SRSUE: Added initial SR procedure for NR
4 years ago
Codebot
eb8d47ab22
Adding AGPL copyright to new files
4 years ago
srsLTE codebot
3daa9f3fc3
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srslte/common/mac_nr_pcap.h
# lib/include/srslte/phy/ue/ue_ul_nr_data.h
# lib/src/common/mac_nr_pcap.cc
# lib/src/phy/ue/ue_ul_nr_data.c
# srsenb/hdr/phy/lte/worker_pool.h
# srsenb/hdr/phy/nr/cc_worker.h
# srsenb/hdr/phy/nr/sf_worker.h
# srsenb/hdr/phy/nr/worker_pool.h
# srsenb/src/phy/lte/worker_pool.cc
# srsenb/src/phy/nr/cc_worker.cc
# srsenb/src/phy/nr/sf_worker.cc
# srsenb/src/phy/nr/worker_pool.cc
# srsue/hdr/phy/lte/worker_pool.h
# srsue/hdr/phy/nr/cc_worker.h
# srsue/hdr/phy/nr/sf_worker.h
# srsue/hdr/phy/nr/worker_pool.h
# srsue/hdr/stack/mac/mac_nr.h
# srsue/src/phy/lte/worker_pool.cc
# srsue/src/phy/nr/cc_worker.cc
# srsue/src/phy/nr/sf_worker.cc
# srsue/src/phy/nr/worker_pool.cc
# srsue/src/stack/mac/mac_nr.cc
4 years ago
Andre Puschmann
9c4146442a
mac,phy: refactor NR MAC/PHY UL data passing interface
...
inspired by accepted (but not yet merged) PR to include the
(unique_)byte_buffer_t for MAC/PHY interfacing, this patch adds
a few more useful bits to that. Buffer management for UL data is now
done in MAC and only a pointer to the data is passed in the UL action.
* Move Tx softbuffer to MAC (until UL HARQ class is ready)
* Remove temparal data member in cc_worker
* Remove memcpy after packing MAC PDU
4 years ago
David Rupprecht
f6f6ee406b
SRSUE NR: use correct rnti in rar and make NR proc ra
4 years ago
David Rupprecht
1fcd006a7c
fixed segfaulting
4 years ago
Xavier Arteaga
b768002a93
SRSUE Added RAR unpacking and other fixes
4 years ago
David Rupprecht
82a8dcc77a
Change interface to unique_byte_buffer
...
logging message for msg3 preparing
4 years ago
David Rupprecht
3af0342418
Added mux class and packing of msg3
4 years ago
David Rupprecht
f90f10f6a8
SRSUE: NR handle rar pdu in tb decoded, fixed tti_tx issue, log RA procedure and adjusted testcase
4 years ago
Xavier Arteaga
760ad3a746
SRSUE: Interface stack and PHY for NR-RA procedure
4 years ago
David Rupprecht
0f1586dd2d
Deleted all HAVE_5GNR in CC and h files
...
CMakeList and travis yaml
4 years ago
David Rupprecht
1987ddd923
Added phy_nr to ue_stack_lte
4 years ago
Xavier Arteaga
fe452fae2b
Aesthetical changes scell synchronization class
4 years ago
Xavier Arteaga
326c5bc25e
Set secondary Serving cell synchronism bandwidth at cell selection and skip at configuration set-up
4 years ago
Pedro Alvarez
6ecd6e273c
Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover
4 years ago
Pedro Alvarez
827823cfb1
Change reestablish order in RRC Procedures
4 years ago
David Rupprecht
a7949e69c8
configure and start ra proc
...
Fix crash due to missing init
4 years ago
David Rupprecht
876858b44c
Added mac nr prach common config convert function with test case
4 years ago
Xavier Arteaga
283fc78782
Fix override VNF
4 years ago
Xavier Arteaga
81748c7b1c
SRSUE: PHY does not compile NR interface
...
Fix
4 years ago
Xavier Arteaga
c1e6703054
Remove magic number
4 years ago
Xavier Arteaga
bdef411855
SRSUE: Aesthetic changes
4 years ago
Xavier Arteaga
7aef15bf34
SRSUE: notify MAC about UL grant
4 years ago
Xavier Arteaga
784a33583b
SRSUE: Initial NR MAC-PHY interfaces
...
SRSUE Fix compilation
SRSUE: temporary fixes LTE/NR PHY/Stack interface problem
fix
fix
4 years ago
Pedro Alvarez
b0fe302f8e
Added interfaces so the upper layers can trigger the PDCP status report. Added ability to the UE to send Status Report aftre reestablishment.
4 years ago
Pedro Alvarez
89a23cec7e
Added statusReportRequired to the PDCP entity config.
4 years ago
David Rupprecht
24123313bf
Added MAC NR RA procedure with a minimal test case
4 years ago
Xavier Arteaga
2e39e103f8
Minor NR related corrections
4 years ago
Xavier Arteaga
9faa2d5fcd
SRSUE: Automatic DL-HARQ Reset for every TTI and Generate PUCCH baseband signal
4 years ago
Xavier Arteaga
d807ccc3dd
SRSUE: Initial NR-PUCCH HARQ feedback
4 years ago
Xavier Arteaga
818f3ea7c7
Initial NR-PDSCH HARQ-ACK/NACK procedure
4 years ago
Andre Puschmann
f0818275f0
ue,phy: reduce log level when 2nd grant for same PID is registered
...
this resolves issue #2277 in which a warning was logged when
the CC worker decoded a 2nd phantom PDDCH.
It's difficult to avoid this 2nd PDDCH without addional computation
that we don't want add at this stage.
Rather than filtering out the Warning in the log post-processing,
we reduce the log level to info.
4 years ago
Francisco
dc4283c572
added cmake functions as helpers to set labels in ctests
4 years ago
Pedro Alvarez
dd6d6f731d
Passing SN provided by upper layers to PDCP entity. Using it to calculate TX_COUNT if passed.
4 years ago
David Rupprecht
4789860bdd
Fixes a mismatching between bands in the band combination and feature set
4 years ago
David Rupprecht
14cc25f181
Fixes crash due to not exisiting pointer to log in run time
4 years ago
faluco
62fcf04083
Ported the all radio classes to use srslog.
4 years ago
Francisco
c2dfe615e7
fixed alignment of LIBLTE_BYTE_MSG_STRUCT to reflect the one of byte_buffer. Add bzero in liblte packers
4 years ago
faluco
9d15a44c73
Port lib/phy to srslog ( #2298 )
...
* - Ported the channel class to srslog.
- Removed all newlines of log messages in lib/phy.
* Remove more newlines that use the C debug macros.
4 years ago
Andre Puschmann
6eed6f622f
mac_nr: update RA related function in MAC/PHY interface
...
* expose interface to trigger PRACH from MAC
* indicate PRACH tx from PHY
* add temporary RAR PDU handling with Msg3 grant indication to PHY
4 years ago
Francisco
3265d940ec
remove byte buffer pool cached member variables as they are unnecessary now.
4 years ago
Francisco
04ab4eefcd
use new make_byte_buffer() helper method to create unique_byte_buffers
4 years ago
Francisco
1e2153769e
remove byte buffer pool cleanup method and unnecessary mutexes
4 years ago
Francisco
0c7c317be5
refactor byte_buffer class and move it to separate file
4 years ago
Pedro Alvarez
bb0e31feda
Reduce log level of SDUs dropped in the stack to info. Added ul_dropped_sdus to stack metrics.
4 years ago
Xavier Arteaga
aef0397658
SRSUE: NR worker reset Tx buffer and PUSCH data payload bytes from 0 to 255
4 years ago
Xavier Arteaga
a19671802e
Added SRSUE NR-PUSCH initial procedures
4 years ago
David Rupprecht
3dab82c42f
Added interface that allows to update the lcid in case of a nr reconfiguration
...
nr rrc updates gw lcid if reconf was received
4 years ago
faluco
821925a273
- Upgrade to srslog the loggers in lib/mac.
...
- Adapted users of these classes and tests.
4 years ago
Xavier Arteaga
a8099d0df9
Fix SRSUE compilation without 5GNR
4 years ago
Xavier Arteaga
a2d9b436d9
SRSUE: add NR stack to PHY and initial decoded PDU push
4 years ago
Xavier Arteaga
e65c145704
SRSUE: Added hard-coded NR-PUSCH resources
4 years ago
Xavier Arteaga
77f0a53abd
Added DCI Format 0_0 unpacking and more NR-PUSCH procedures
4 years ago
Xavier Arteaga
b150e45129
Renamed NR-PHY state and fix license headers
4 years ago
Andre Puschmann
8e13f04684
mac_pcap: refactor MAC PCAP and include NR RAT into same object
...
after adding the thread-safe PCAP writer functionality to the EUTRA
MAC object it became clear that we don't wont to replicate the
same for the NR object.
This patch therefore refactors the class that now supports both EUTRA and
NR rats. The old mac_nr_pcap.[h/cc] has been deleted. All test-cases
and usages now use the new object that needs to pass the RAT type in
the ctor.
this patch addresses the last open point of #2160
4 years ago
faluco
a7bb3ce7d0
Remove unused variable in vnf_phy_nr.
4 years ago
faluco
79eca0980d
- Ported fsm.h to srslog.
...
- Adapted and removed old loggers in tests and code that used fsm.h
4 years ago
faluco
d37a07a47f
Replaced loggers in buffer_pool.h
4 years ago
faluco
f8485fb799
Replaced loggers to srslog in PNF and VNF classes.
4 years ago
Andre Puschmann
a827350f7c
mux: avoid unneeded call to msg3_flush() in ctor
...
this causes a debug log line as the first message in every ue.log because
the loggers/loglevels aren't configured yet.
22:10:02.463396 [MAC ] [D] [ 0] Msg3 buffer flushed
the msg3_flush isn't needed because all variables are initialized.
4 years ago
Andre Puschmann
ecf7eaec5c
ue_stack_lte: expose MAC NR interface for NSA configs
4 years ago
Andre Puschmann
5ec78be872
nas: log switch on/off in info mode
4 years ago
Xavier Arteaga
aaa789f530
Removed unused logger
4 years ago
Xavier Arteaga
92c4a38fc2
Fix logger for NR PHY
4 years ago
Xavier Arteaga
2421f2cd99
Multiple PHY fixes and NR-PHY configuration refactor
4 years ago
Xavier Arteaga
b652cd68a5
Refactored NR PHY configuration to accept multiple CORESETs/SearchSpaces
4 years ago
Xavier Arteaga
10a7b63c6a
NR-UE PHY transmits PRACH in all oportunities
4 years ago
Andre Puschmann
df967d95b1
rrc_nr: extract new UE identity from RRC reconfig that tell MAC
...
required for contention-free RA on NR carrier
4 years ago
Andre Puschmann
f5c945dc2f
mac_nr: add interface to set C-RNTI and contention ID from RRC
...
used during contention-based/free RA
4 years ago
faluco
ac62e3c398
Fix the priority of logging levels in places where we before logging we check if a certain log level is enabled.
4 years ago
Andre Puschmann
cbedb65247
nas: log warning when NAS timer expires
...
this allows to let test cases fail based on warnings when
NAS events/actions timeout
4 years ago
Andre Puschmann
dadb34f0ab
rrc: fix missing newline in console output
4 years ago
Andre Puschmann
1aadc5c53e
mac_nr: tiny cleanups of MAC class, use of new logger
4 years ago
Andre Puschmann
73cb0dabf2
mac_nr: move UE MAC class into own subfolder
...
this should simplify further MAC NR extensions and lead
to a more organized folder structure
4 years ago
Andre Puschmann
1a23b2f9bb
ue: don't show NR PDSCH constallation plot in normal EUTRA mode
...
only initialize NR PDSCH plot when nof NR worker is greater 0
4 years ago
Codebot
d5ee9a5200
Adding AGPL copyright to new files
4 years ago
Andre Puschmann
da9e3363f1
mac_pdu_nr: rename MAC PDU class for NR to adhere naming conventions
...
* mainly to have _nr as trailing name for filename and class
* also add "sch" to class and filename (RAR PDU will have extra class)
4 years ago
Andre Puschmann
cc750d96ee
nas: when receiving detach request, don't enter plmn_search automatically
...
this patch fixes an issue with TC_9_3_1_17 after the "send attach in RRC connected" issue
has been fixed. The TC failed because the UE would always attempt to re-attach, even
after receiving an explicit detach request WITHOUT re-attach from the network.
According to TS 24.301 Sec. 5.5.2.3.2 the handling of that message largely depends
on the detach cause sent by network. Since we don't currently parse and handle
that the simplest solution here is to just enter deregistered:::null.
The patch is also part of the fix for issue #2237
4 years ago
Andre Puschmann
2576ada9e1
nas: do not abort attach procedure if RRC is already connected
...
this is an attempt to fix issue #2237 that cause the UE to fail to
attach because the attach request wasn't resent after T3410+T3411
expired.
this was only because RRC wasn't idle at that stage and the attach
request generation was aborted.
The patch fixes this by passing the NAS PDU directly to RRC in
connected state.
The patch also converts the blocking PDU alloc to a non-blocking one.
4 years ago
faluco
5981469f9f
Upgrade loggers in srsue ( #2163 )
...
* Replaced UE logger in the ue class.
* Replaced loggers in the main phy class and prach.
* Replaced loggers in phy common and ta_control.
* Replace loggers in cc and sf workers.
* Replaced loggers in intra_measure, scell_recv, search, sfn_sync, sync.
* Remove last uses of the old loggers in the main phy class.
* Remove stray newline in logs.
* Replaced loggers in ue gw.
* - Started to replace loggers in the ue stack.
- Replaced loggers in usim and pcsc.
- Adapted nas and usim tests.
* Replace loggers in nas.
* Added missing log init calls in two previously modified tests.
* Replaced logger in nas idle procs.
* Replaced loggers in nas emm state.
* Replaced loggers in tft packet filter and adapted tft test.
* Replaced loggers in main RRC class.
* Replaced loggers in RRC cell.
* Replaced loggers in RRC meas.
* Replaced loggers in rrc procedures.
* Started logger replacement in MAC layer, more precisely in demux and dl_harq classes.
Been unable to inject loggers in construction for dl_tb_process due to very weird static assertions in the std::vector code being the type not constructible which is not true, so instead use the main MAC logger directly.
* Replaced loggers in mac mux class.
* Replaced loggers in mac pro_bsr.
* Replaced loggers in mac proc phr.
* Replaced loggers in mac proc SR and RA.
* Replace loggers in mac UL HARQ.
* Replaced loggers in main ue stack class.
* Fixed nas test crashing due to a null string.
* Ported mac_test to use the new loggers.
* Removed TTI reporting for the PHY log as the old logger did.
* Replaced loggers in UE phy tests.
* Configure loggers in nas_test.
* Replaced loggers in rrc_meas_test.
* Replaced loggers in rrc_reconfig_test.
* Added missing newline in tft_test.
* Fix compilation errors in TTCN3 tests.
* Fix linker error detected in CI and warning.
* Replaced loggers in TTCN3 tests.
* Fix a text replace error in some log messages.
* Remove trailing newlines from log entries.
* Remove old logger from rrc.
* Flush backend before printing the test status.
* - Fix compilation error from previous rebase.
- Remove trailing newlines from some missing log entries.
4 years ago
David Rupprecht
42aa5c4499
Fixed order to set c1 ind ul_dcch_msg
4 years ago
Codebot
a6d6eb70c2
Adding AGPL copyright to new files
4 years ago
srsLTE codebot
c9f48bce7b
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srslte/phy/ch_estimation/ul_rs_tables.h
# lib/include/srslte/phy/ue/ue_dl_nr_data.h
# lib/src/phy/ue/ue_dl_nr_data.c
# srsue/test/ttcn3/hdr/swappable_log.h
4 years ago
Andre Puschmann
4709bacefd
srsue: add DL NR-ARFCN param
...
* add PHY param to set DL NR-ARFCN
* use new band_helper class to convert ARFCNs to supported bands
* signal supported NR bands in UE capabilities
4 years ago
David Rupprecht
9ccc36d4fa
Make fake measurement frequency depend on measurement config
4 years ago
David Rupprecht
1b19ee40e7
Added usim features for key derivation
4 years ago
David Rupprecht
ceda458bb3
Added MAC NR to EUTRA and NR with stack interfaces including MAC config build
...
Moved MAC logical channel config to MAC interface types
4 years ago
David Rupprecht
e0420049e3
Build infrastucture for reconfig
4 years ago
David Rupprecht
64299960bd
Added procedure for NR reconfiguration and RRC with NR complete
4 years ago
David Rupprecht
99c3aa9ba2
Refactor assert to TESTASSERT in unit test
4 years ago
Xavier Arteaga
13c594651e
Apply minor NR GUI comments
4 years ago
Xavier Arteaga
2baccc8b13
Set NR-PDSCH default table to 256QAM
4 years ago
Xavier Arteaga
3ee667c4a5
SRSUE: added NR-PDSCH constellation in GUI
4 years ago
Xavier Arteaga
59114206ae
SRSUE: Unify PRACH reconfiguration conditions
4 years ago
Andre Puschmann
a09fb95c25
proc_ra: protect RA procedure from concurrent thread access
...
that patch addreses issue #2199 by defering RA-related calls that
are executed from within PHY workers.
The time-critical bits of more complex functions such as tb_decoded()
are still executed in the PHY worker thread but the state machine
manipulation is defered.
4 years ago
Ismael Gomez
a6423442c2
Refactor NR RA files and fix header includes all over library ( #2162 )
...
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test
* Minor refactors in NR workers and ue_dl
* Fix include issues
* fix compilation issues
4 years ago
Xavier Arteaga
8a3d70f6da
Fix intra-cell measurement ringbuffer overflow
4 years ago
Ismael Gomez
a360580999
Run PRACH workers before cc_workers fixes memory corruption when PRACH workers run in foreground (eg in ZMQ)
4 years ago
David Rupprecht
a89477a805
Hardcoded Samsung caps can be activated with if 1 in rrc_nr.cc
4 years ago
David Rupprecht
bc2e230461
Enable UM mode for Amarisoft
4 years ago
David Rupprecht
da0e64c51a
Add non_crit_ext for irat parameter
4 years ago
David Rupprecht
ffe513415c
stop gw in srsue nas test
4 years ago
David Rupprecht
1a10c783b5
Faking measurements
4 years ago
David Rupprecht
f7d313147a
Added infrastrukture for measurements
...
Init rrc_nr as part of the LTE stack
4 years ago
David Rupprecht
4305929ec7
Hardcoded NR/MRDC-Capabilities
4 years ago
David Rupprecht
b79eef0860
Introducing nr_rrc <-> rrc interface for eutra and nr cap query
4 years ago
David Rupprecht
020d0dacc8
add the additional sec cap to NAS attach request
...
use same capabilities that are signaled for EUTRA
4 years ago
David Rupprecht
9eb0b72cb4
Added rrc function has_nr_dc
4 years ago
Andre Puschmann
37fc1c59e3
fix DRB release logging
...
this caused wrong logs because the LCID was printed based on the assumption
that the DRB LCID is alwasy 2 + drb ID
Use drb_id as drb_cfg key
4 years ago
Andre Puschmann
910dc5af86
Merge branch 'next' into agpl_next
4 years ago
faluco
63bd43fa52
Upgrade the swapping logic of the file sink to use the new srslog functionality.
4 years ago
Xavier Arteaga
b3200d9ef5
Renaming common UL/DL DMRS related types and initial NR PUSCH implementation
4 years ago
Andre Puschmann
52da9eb46f
srsue,phy: fix setting of PHY log level
...
probably a regression from the new log system integration.
it was disabling PHY logs, from PRACH for example.
4 years ago
Andre Puschmann
3573644624
srsue: fix stdout metrics print when scells aren't configured yet
...
during MAC reset, scells are reset to and their PCI is set to UINT32_MAX
which results in malformatted stdout prints, see below:
Random Access Transmission: seq=16, ra-rnti=0x2
Random Access Transmission: seq=14, ra-rnti=0x2
0 4 -24 24 -1.1u 1.0 140 0.50 0.0 0% 0.0 0.0 0.0 0.0 67%
14294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
24294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
34294967295 0.0 0.0 -1.1u 0.0 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0%
this patch checks the configured PCI value against UINT32_MAX and
prints "n/a" in case the scells aren't set yet.
4 years ago
Xavier Arteaga
909e5de34f
Fix NR workers
4 years ago
Francisco Paisana
e27c0869e5
update RRC ASN1 to 2020-09 v15.11
4 years ago
Francisco Paisana
6803f48cc0
cell selection and reest rrc procedures were causing a callstack reentrancy problem. This issue was circumvented with a defer_task call
4 years ago
Andre Puschmann
c8801578df
gw: use std::chrono for metrics and fix nan display
...
* replace gettimeofday with std::chrono
* fix nan printing when nof_tti is zero (at startup)
4 years ago
David Rupprecht
81609d48dd
Added measurment report for interrat nr15
...
Added function for removing interrat triggers
4 years ago
David Rupprecht
5df2fb1fa1
Added rrc has nr neighbour cells
4 years ago
David Rupprecht
0e4d77da76
Refactor eutra reporting code and add report triggers for inter rat measurements
4 years ago
David Rupprecht
e4e67eebce
Added infrastucture to process measurments and evaluate interrat triggers
4 years ago
David Rupprecht
25e5b88704
Added NR range_to_value function and debug logging for measurements
4 years ago
David Rupprecht
ce4526a935
Extended measurements interrat nr r15 testcase with measurements
4 years ago
David Rupprecht
826dd32c89
Rename meas_cell to meas_cell_eutra
...
Added meas_cell_nr class
Make meas_cell list as template class
Inheritance rrc_cell to meas_cell_nr
Added process_new_cell_meas_nr function
4 years ago
David Rupprecht
62b558fccf
Move rat type to common header
...
Removed phy measurement from rrc interface phy
Updated rrc interface for handling measurements
4 years ago
Francisco Paisana
0f693b36b2
changed pdu latency calculation to std chrono
4 years ago
Codebot
98425e0b2b
Adding AGPL copyright to new files
4 years ago
Codebot
43082e8d6a
enb/ue: turn various warning messages into info
...
turn events that may happen in the normal life of a eNB/UE
into info rather than warning to allow strict
warning/error checking in tests.
4 years ago
David Rupprecht
848496bb0f
Moved get_earfcn to srslte get_carrier_freq func
4 years ago
David Rupprecht
d4fb2dfb16
Added handling of inter rat measurement config function
...
Make report config more agonistic
4 years ago
David Rupprecht
2e51cfc1a5
Added black cells with index function
...
Added new index functios
Use asn1 list functions for toAddMod and toRem lists
4 years ago
David Rupprecht
f4b0042c10
Added minimal interrat and nr measurement testcase
...
Added the handling of nr_r15 meas config
Added seperate handling of reportConfig for eutra
4 years ago
Andre Puschmann
ab598dae3b
gw: calculate GW throughput based on TTI timing
...
similiar like the RLC patch, MAC TTIs are passed to GW so the
rx/tx rate can be calculated based on the LTE timing
4 years ago
Andre Puschmann
c0883291f6
rlc: pass TTI to get_metrics to calculate "real" LTE rx/tx rate
...
when retrieving the RLC metrics, the number of TTIs since the last
call are passed. This allows to calculate the actual rate
based on the LTE timing rather than only the system timing.
4 years ago
Andre Puschmann
1de2abb5f7
sync: log TTI and TTI jumps before calling Stack thread
4 years ago
Andre Puschmann
346c07a9f2
sync: update log TTI before logging first message
4 years ago
Xavier Arteaga
c635b1e467
Initial NR DCI blind-search
4 years ago
Xavier Arteaga
ebd87e63c0
Fix worker NR compilation
4 years ago
Xavier Arteaga
d5d3594f49
Removed unused attribute
4 years ago
Xavier Arteaga
d72820ddaa
SRSUE: fix compilation
4 years ago
Xavier Arteaga
f9643843a0
SRSENB/UE Fixed NR workers
4 years ago
Xavier Arteaga
b501f2eeaf
SRSENB/UE: Added NR workers
4 years ago
Xavier Arteaga
ac930003be
SRSUE: Integrated NR workers
4 years ago
Xavier Arteaga
a908fb6c5b
Fix NR srsue/srsenb. Initial PHY NR in SRSENB.
4 years ago
Xavier Arteaga
2b2db90933
SRSUE: initial NR workers
4 years ago
Xavier Arteaga
85afdf8ce3
SRSENB: moved phy workers to lte worker pool
4 years ago
Xavier Arteaga
eed9405e40
Moved NR MAX MIMO layers to carrier
4 years ago
Xavier Arteaga
df5e3414dc
Fix segmentation fault
4 years ago
Xavier Arteaga
c6798653be
SRSUE: created initial PHY LTE worker pool
4 years ago
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
4 years ago
Xavier Arteaga
53d8319d2b
SRSUE: protect secondary serving cell synch from concurrent access
4 years ago
Xavier Arteaga
287e651ef1
SRSUE: Protect nullptr buffer in secondary serving cell synch
4 years ago
Xavier Arteaga
6d3bf7089f
SRSUE: use available carriers for inter-frequency measurement
4 years ago
Francisco
66712023bb
remove unneeded includes of full rrc asn1 lib
4 years ago
Pedro Alvarez
6929883649
Added mutex and condition_variable to srsUE's nas_test to avoid race condition on thread initialization.
4 years ago
Xavier Arteaga
959f37ae81
SRSUE: Renamed PHY scell_state to cell_state
4 years ago
Xavier Arteaga
008ef3c10c
Fixed override methods in MAC test
4 years ago
Xavier Arteaga
4b8cd7ce92
SRSUE: protect scell state
4 years ago
Xavier Arteaga
c5cb4d9984
SRSUE: Added time accurate SCell activation
4 years ago
Xavier Arteaga
f64c268a69
SRSUE: Refactored MAC/RRC SCell Activation/Deactivation
4 years ago
Andre Puschmann
35373d1385
enb,ue: add cmdline arg to enable usage of default LTE sample rate
...
some RF boards might have issues with the sharp filters that are needed
for the reduced sample rate operation that we use by default.
This switch allows to use the default LTE sampling rates and
configure this at run-time, not compile time.
4 years ago
Andre Puschmann
cd1ca4d095
mac_test: add LBSR test
...
the test checks the correct packing of an LBSR when a SDU couldn't
be added before. This happended because RLC couldn't provide a new PDU.
4 years ago
David Rupprecht
a8074fe39d
Fixed TTCN UE for starting a service request in rrc_idle
4 years ago
Pedro Alvarez
454162cea7
Deleted nas_interface_stack.
4 years ago
Pedro Alvarez
38822873e8
Stop T3402
4 years ago
Pedro Alvarez
604e79214d
Changed NAS is_attached interface to is_registered.
4 years ago
Pedro Alvarez
5649ecaab0
Renamed nas_common.h to nas_config.h. Moved emm_state_t into nas_emm_state.h and nas_emm_state.cc.
4 years ago
Pedro Alvarez
96f39da5d7
Fixes for airplane simulator.
4 years ago
Pedro Alvarez
14844a168a
Created new class to hold all NAS states for the NAS state machine. Added EMM-DEREGISTERED substates and EMM-REGISTERED substates.
...
Decoupled PLMN selection, attach request and service request. Removed RRC connect procedure from NAS.
4 years ago
Andre Puschmann
2be85217fd
mac,ue: reset demux when restting MAC
...
this potentially fixes the issue we see during HO and RLF
under high DL load.
The issue happens because buffered DL PDUs are delivered to
RLC after reestablishing RLC that confuse the receiving
RLC entity bc the sequence numbers are very high, as opposed
to begin with zero again after reestablishment.
4 years ago
Ismael Gomez
67690136be
Select strongest cell after cell search ( #2001 )
...
* Select strongest cell in all frequencies when
* Change variable name
4 years ago
Ismael Gomez
709d69d55f
Reset rv_idx after an adaptive retx in UE
4 years ago
Andre Puschmann
7cf919e2af
Fix MAC PDU packing after sending Truncated BSR ( #2004 )
...
* mac_test: add extended TBSR unit test
unit test to MAC UL packing after sending a TBSR
this fixes the MAC issues described in issue #2002
* mux: fix updating of LCG buffer state after packing PDU
we've previously lowered the buffer state of the LCG according
to the bytes that have been scheduled, but not according to
those that have been actually included in the PDU.
* proc_bsr: fix LCG buffer state updating for TBSR
when sending a TBSR do not update the internal buffer
state of the BSR proc.
This caused issues because the buffer state for all LCG that
are not included in the TBSR are set to zero, although at least
one LCG does have data to transmit.
* rlc_am: include LCID when logging retx of SN
4 years ago
Francisco Paisana
510959b50f
update nr asn1 files, and asn1 tests
4 years ago
Andre Puschmann
082e002b67
nas: fix airplane mode simulation
...
the current implementation was somehow broken after a
NAS refactor. It was undetected because we didn't really
use it.
this fixes the simulation by using a single timer to simulate
airplane mode transitions.
the timer is rearmed in the timer_expire() function
if the correspondig event is set.
Has been tested to work well with, e.g.:
--sim.airplane_t_on_ms 5000 --sim.airplane_t_off_ms 10000
4 years ago
Xavier Arteaga
32ea840a30
INTRA: better ring-buffer protection
4 years ago
Xavier Arteaga
369cffec00
More deterministic SCell search test
4 years ago
Xavier Arteaga
a5f9ea5654
SRSUE: force paging for every cell reselection procedure end
4 years ago
Andre Puschmann
fd5cde525c
proc_bsr: fix race condition in BSR reporting
...
fix for #1934
This fixes a race condition between Stack thread and DL
PDU processing that lead to updates of the RLC buffer that
are undetected by the BSR routine.
What happens is that in a UL SCH PDU all outstanding data is transmitted
and and a LBSR with all zero buffers is sent.
14:39:47.327301 [MAC ] [D] [ 3793] BSR: LCID=3 old_buffer=59
14:39:47.330600 [MAC ] [I] [ 3793] UL LCID=3 len=58 LBSR: b=0 0 0 0
Note that "old_buffer" isn't set to zero here.
At the same time (same TTI), the MAC PDU processing thread handles DL-SCH PDUs
that may generate new UL PDUs:
14:39:47.330749 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=1)
14:39:47.330762 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=2)
14:39:47.330775 [RLC ] [I] DRB1 Tx SDU (54 B, tx_sdu_queue_len=3)
..
Those PDUs are "new data" since the previous buffer state was zero.
Here is the race now between the threads, at the end of the bsr::step() function
old_buffer of each LCG is updated with the previous new_buffer, so
the buffer state of LCG=2 is now 59.
Now MAC starts the next TTI:
14:39:47.331910 [MAC ] [D] [ 3794] Running MAC tti=3794
14:39:47.331928 [MAC ] [D] [ 3794] Update Bj: lcid=0, Bj=0
14:39:47.331934 [MAC ] [D] [ 3794] Update Bj: lcid=1, Bj=0
14:39:47.331938 [MAC ] [D] [ 3794] Update Bj: lcid=2, Bj=0
14:39:47.331941 [MAC ] [D] [ 3794] Update Bj: lcid=3, Bj=-1752
14:39:47.331951 [MAC ] [D] [ 3794] BSR: LCID=0 update new buffer=0
14:39:47.331960 [MAC ] [D] [ 3794] BSR: LCID=1 update new buffer=0
14:39:47.331964 [MAC ] [D] [ 3794] BSR: LCID=2 update new buffer=0
14:39:47.331971 [MAC ] [D] [ 3794] BSR: LCID=3 update new buffer=335
14:39:47.331976 [MAC ] [D] [ 3794] BSR: check_new_data() -> get_buffer_state_lcg(0)=0
14:39:47.331980 [MAC ] [D] [ 3794] BSR: check_new_data() -> get_buffer_state_lcg(1)=0
14:39:47.331984 [MAC ] [D] [ 3794] BSR: check_new_data() -> get_buffer_state_lcg(2)=59
14:39:47.331988 [MAC ] [D] [ 3794] BSR: check_new_data() -> get_buffer_state_lcg(3)=0
14:39:47.331993 [MAC ] [D] [ 3794] BSR: LCID=0 old_buffer=0
14:39:47.332000 [MAC ] [D] [ 3794] BSR: LCID=1 old_buffer=0
14:39:47.332003 [MAC ] [D] [ 3794] BSR: LCID=2 old_buffer=0
14:39:47.332007 [MAC ] [D] [ 3794] BSR: LCID=3 old_buffer=335
And since the buffer state of LCG=2 isn't zero, the new data for LCID=3 of that LCG is considered.
So effectivly, the BSR missed the "empty" buffer state for a fraction of time and doesn't
consider the outgoing data generated in the same TTI as new. It therefore
doesn't transmit a BSR.
in which a BSR wasn't
4 years ago
Andre Puschmann
465c3d9186
proc_sr: remove info log when starting SR proc
...
this was a very noisy log that was printed in pretty much
every TTI because the BSR procedure starts a SR whenever
it needs to send a regular BSR. The SR is canceled when a UL
grant arrives but the log line stays there.
Since we are printing a log when we actually signal a SR
to the PHY, this line is not needed.
4 years ago
Andre Puschmann
1e3ad5b0dc
proc_bsr: fix high priority channel trigger logic
...
this fixes the trigger logic for periodic BSRs. Previously we
would always trigger the "new data for highest priority LCID"
whenever new data becomes available for a LCID for which
a BSR has already been sent.
However, a BSR should only be sent if the priority is in fact higher
(lower int number).
4 years ago
Andre Puschmann
debbab93e8
mac_test: cosmetic change
4 years ago
Andre Puschmann
e89254ad1f
mac_test: fix mac_ra_test according to BSR changes
...
the BSR routine had a bug in which it would generate a BSR even
before the reTx timer expires if new data becomes availble
for a LCID that already had data and a BSR was already sent.
The RA test here relies on a BSR in the generated MAC PDU to pass.
However, since after fixing the BSR bug the PDU the MUX unit
no longer generates a BSR, we need generate data for a LCID
which has higher priority than the one for which a BSR has
already been sent.
4 years ago
Andre Puschmann
d6ef66b0dc
mac_test: add periodic BSR test
4 years ago
Andre Puschmann
d5286e70aa
proc_bsr: refactor and add extra print_state() method
...
allows to call the print_state() routine from other places in the BSR
4 years ago
Andre Puschmann
d1ef5bd915
demux: log DL PDUs
...
instead of just printing the LCIDs that contain SDUs,
we use the to_string() function to log the entire MAC DL-SCH PDU
4 years ago
Andre Puschmann
0740154bff
rrc,sync: fix two uninit vars
...
detected by Valgrind when running UE with TDD cell
4 years ago
Andre Puschmann
58776bc227
ue,sync: increase timeout for entering IDLE to 2s ( #1941 )
...
in ZMQ runs we've seen that entering idle could take quite
a bit of time depending how quickly workers get their samples
sent or reconfigurations done.
In one example up to ~160ms
this patch increases the maximum wait time to 2s.
4 years ago
Francisco Paisana
514deaf25b
fix resetting of phy and mac during reestablishment
4 years ago
Xavier Arteaga
03b88f6149
Added noise to neighbour cell search test
4 years ago
Xavier Arteaga
caf37b8e62
Added serving cell index in UCI/CSI report trace
4 years ago
Andre Puschmann
3b1ae970b9
metrics_test: fix uninit variable
4 years ago
Andre Puschmann
a366500a78
rrc_proc: init cs_result to none
...
detected by Coverity CID 363053
4 years ago
Andre Puschmann
d51a060bfa
nas_test: fix potential out of bounds access
4 years ago
Andre Puschmann
1bbbc9d717
rrc_phy_ctrl_test: fix uninit memory
4 years ago
Francisco Paisana
0842ed9db1
fixed phy cell selection state update for the fail path
4 years ago
Francisco Paisana
665b3996bb
now the phy controller handles the scenario where the phy cell selection failed to be initialized
4 years ago
Andre Puschmann
287c653755
proc_bsr: improve BSR logging to print name of triggered BSR instead of enum
4 years ago
Andre Puschmann
3994407f46
proc_bsr: fix BSR insertion in UL PDUs
...
the BSR trigger wasn't reset after includinga regular or periodic
BSR inside a PDU. This caused the muxing to include another BSR in the
next UL grant. For very small grants, for example with 6 PRBs, this
causes the UE to send way too many BSRs.
4 years ago
Andre Puschmann
7352bfa4bd
mac_test: add unit test for retxBSR timer
...
this test varifies the correct operation of the retxBSR timer.
the first PDU includes a long BSR to indicate more LCGs have
data to transmit. The retxBSR timer is started and subsequent
PDUs should not send a regular BSR.
After the retxBSR timer expires, a UL PDU should again include
a BSR.
4 years ago
Andre Puschmann
937067a205
proc_phr: rename start_periodic_timer() and make sure its only started if a valid config is present
4 years ago
Andre Puschmann
fab86382c1
mac,rrc: add interface to set SR config explicitly without touching any other MAC function
...
when releasing PUCCH/SRS (see 5.3.13 in 36.331) we need to reset the SR config as well.
In our case, SR is handled by MAC so we need to (re-)configure MAC, not all of
MAC though, just SR.
4 years ago
Francisco Paisana
e7239163e9
silence noisy unhandled in_sync_ev logs
4 years ago
Francisco Paisana
f185272367
added comments explaining the meaning of the cell reselection procedures
4 years ago
Francisco Paisana
49e7b8e36e
- Change periodicity of cell reselection after a new serving cell has been selected
...
- Enable PHY intra measurements during RRC_IDLE
4 years ago
Francisco Paisana
585d7c923a
refactor and simplification of cell selection procedure. Using now a SIB3 threshold to decide whether to select neighbor cell while in RRC_IDLE
4 years ago
Francisco Paisana
cae116932b
rewrite the rrc::leave_connected() function to better match the standard. The measurements should not stop while in RRC_IDLE.
4 years ago
Pedro Alvarez
5a4e71a6e4
Created k_enb_context structure that holds k_enb, NCC and NH to make it easier to restore context from failed handover.
4 years ago
Pedro Alvarez
bcb422736c
Save and restore NH on handover and handover failure.
4 years ago
Xavier Arteaga
08e24d00af
Fix TA console trace
4 years ago
Pedro Alvarez
3eb525563a
Fix issue reading MNC length in USIM.
4 years ago
Xavier Arteaga
6ae47b6510
SRSUE: Deafult PUCCH/SRS does not imply full PHY dedicated defaults
4 years ago
Andre Puschmann
5e95fd4a43
ul_harq: reduce log level for new_grant_ul() if RNTI isn't found
...
this avoid logging a warning on UE shutdown if the MAC is already reset
but one of the PHY workers still decodes an UL grant for the old RTNI
21:30:29.254844 [RRC ] [I] Going RRC_IDLE
21:30:29.254848 [RRC ] [I] Proc "Go Idle" - Left connected state
21:30:29.259499 [PHY0] [I] [ 3865] Finished setting new PHY configuration cc_idx=0
21:30:29.259512 [PHY0] [I] [ 3865] Setting new PHY configuration cc_idx=0...
21:30:29.264190 [PHY0] [I] [ 3867] Finished setting new PHY configuration cc_idx=0
21:30:29.275036 [PHY1] [I] [ 3872] PHICH: hi=1, corr=1.0, I_lowest=1, n_dmrs=0, I_phich=0
21:30:29.275050 [MAC ] [W] [ 3872] Received grant for unknown rnti=0x46
4 years ago
Andre Puschmann
362461329a
rrc: improve log message when detecting RLF
4 years ago
Andre Puschmann
76c648106f
rrc: remove varMeasState for unknown neighbor cells
...
this fixes issue #1846 that appears to be related
to the enter/exit state for measurements that is kept
even after a cell disappears from the neighbor list
4 years ago
Andre Puschmann
829dfc4e60
metrics_stdout: fix precision calculation for 100%
...
the precision for 100% was causing the default value of -1 which in turn
cause to print the full precision resulting in ugly stdout plots.
before:
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k100.000000% 0.0 0.0 0.0 0.0 0%
after:
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 100% 0.0 0.0 0.0 0.0 0%
4 years ago
Andre Puschmann
e72219789e
ul_harq: don't clear payload buffer during HARQ reset
...
this fixes #1791 which was caused by a race between
the PHY workers preparing a new UL-SCH PDU and the Stack resetting
the MAC, which in turn resets the HARQ processeses, which cleared
the buffer and set the length to zero.
Not explicitly clearing the buffer on a HARQ reset seems to be
fine since the PHY worker clears the buffer before starting to
pack a new PDU anyway.
4 years ago
Pedro Alvarez
22a6dc305f
Moved common variables and functions from the usim and pcsc_usim classes into usim_base class.
4 years ago
Francisco Paisana
8a917bdd06
fix RRC phy controller call to phy->set_config. Only the PCell was being configured
4 years ago
Francisco Paisana
4ebe92f6a3
refactor phy configuration in the rrc to keep track of activated scells, and cells configurations
4 years ago
Francisco Paisana
cfc77118d3
disable console print of scell activation command during handover
4 years ago
Francisco Paisana
d910c910a4
rrc::meas_cell now uses stack timers instead of system timers.
4 years ago
Francisco Paisana
49ad1a4312
added unit test for meas cells
4 years ago
Francisco Paisana
023d32975a
avoid use of pointers to meas_cells in ho_proc as they may become dangling
4 years ago
Francisco Paisana
072b7be582
renamed rrc::cell_t to rrc::meas_cell
4 years ago
Andre Puschmann
d02e8135fb
metrics_stdout: reset n_reports var after writing intermediate table header
4 years ago
Andre Puschmann
0ef8e1fdac
rrc: include pci when logging serving cell measurement
...
this should facilitate easier log parsing and plotting
if the cell measurements _always_ include the PCI, even
in the case of the serving cell
15:49:11.357447 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=+0.1 Hz
15:49:11.391610 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.4 Hz
15:49:11.427325 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.6 Hz
15:49:11.463101 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.7 Hz
15:49:11.499817 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.51 dBm, cfo=+0.1 Hz
15:49:11.499828 [RRC ] [I] MEAS: New measurement neighbour cell: earfcn=2850, pci=0, rsrp=-12.16 dBm, cfo=-0.8 Hz
15:49:11.535027 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.8 Hz
15:49:11.571707 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.46 dBm, cfo=-0.9 Hz
15:49:11.607932 [RRC ] [I] MEAS: New measurement serving cell: earfcn=0, pci=1, rsrp=-11.52 dBm, cfo=-0.8 Hz
4 years ago
Andre Puschmann
6e0abd30dd
ue,phy_common: include Pcell PCI in cell measurements
...
this allows easier plotting in RRC when PHY cell
measurements already include the PCI
4 years ago
Andre Puschmann
baf171d446
rrc: improve SR configuration logging
...
* move logging of SR max attempts into MAC logging
* log new MAC config whenever it is updated
4 years ago
Andre Puschmann
bf7c2b800e
proc_sr: log error when trying to enable faulty SR config
4 years ago
Andre Puschmann
04acc78c7d
metrics_test: add neighbor cell test
...
cleanup test and add neighbor cells so the displaying is tested
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
--------Signal-------------Neighbour--DL-------------------------------------UL----------------------
cc pci rsrp pl cfo pci rsrp mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 8 -33 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 8 -33 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
0 0 -10 74 0.0 0.0 0.0 0.0 200k 0% 0.0 0.0 0.0 0.0 0%
1 0 0.0 0.0 0.0 0.0 0.0 0.0 150k 50% 0.0 0.0 0.0 0.0 0%
4 years ago
Andre Puschmann
ddbf4e1645
metrics_stdout: print new table header if neighbour cells change
...
this fixes an issue where the stdout metrics isn't readable if the only
neighbour cell gets removed during the 10s where no table header is printed.
--------Signal--------------Neighbor----DL-------------------------------------UL----------------------
cc pci rsrp pl cfo pci rsrp mcs snr turbo brate bler ta_us mcs buff brate bler
0 2 -66 61 -3.3k 1 -76 11 18 1.1 8.4M 3% 0.0 21 262 167k 0%
0 2 -65 60 -3.3k 1 -76 12 19 1.1 9.6M 2% 0.0 22 476 214k 0%
0 2 -65 60 -3.3k 1 -76 16 22 1.3 13M 3% 0.0 23 1.1k 734k 0%
0 2 -64 59 -3.3k 1 -76 17 23 1.3 15M 2% 0.0 23 602 424k 0%
0 2 -63 58 -3.3k 1 -77 20 25 1.4 19M 3% 0.0 23 501 304k 0%
0 2 -62 57 -3.3k 1 -77 22 27 1.8 20M 10% 0.0 22 417 418k 0%
0 2 -61 56 -3.3k 1 -77 24 28 1.8 25M 9% 0.0 23 396 439k 0%
0 2 -61 56 -3.3k 1 -77 26 29 1.5 23M 22% 0.0 23 841 407k 0%
0 2 -60 55 -3.3k 1 -77 27 31 1.3 27M 11% 0.0 23 890 1.1M 0%
0 2 -59 54 -3.3k 1 -77 27 32 1.00 30M 3% 0.0 23 583 524k 0%
0 2 -59 54 -3.3k 1 -77 27 32 0.92 32M 1% 0.0 23 1.1k 503k 0%
--------Signal--------------DL-------------------------------------UL----------------------
cc pci rsrp pl cfo mcs snr turbo brate bler ta_us mcs buff brate bler
0 2 -59 54 -3.3k 27 31 1.1 30M 4% 0.0 23 1.2k 529k 0%
0 2 -60 55 -3.3k 27 30 1.4 25M 18% 0.0 23 540 442k 0%
0 2 -61 56 -3.3k 26 29 1.6 23M 21% 0.0 23 536 429k 0%
0 2 -62 57 -3.3k 24 28 1.8 23M 13% 0.0 23 834 456k 0%
0 2 -62 57 -3.3k 1 -78 21 26 1.6 20M 7% 0.0 23 723 425k 0%
0 2 -63 58 -3.3k 1 -76 17 22 1.1 15M 3% 0.0 23 470 267k 0%
0 2 -64 59 -3.3k 1 -77 17 22 1.3 15M 3% 0.0 23 167 280k 0%
0 2 -65 60 -3.3k 1 -76 14 21 1.3 11M 2% 0.0 22 57 223k 0%
0 2 -65 60 -3.3k 1 -76 12 19 1.2 9.0M 3% 0.0 21 135 182k 0%
0 2 -66 61 -3.4k 1 -70 9.3 17 1.0 6.9M 2% 0.0 21 246 126k 0%
0 2 -67 62 -3.3k 1 -75 8.2 16 1.1 4.9M 3% 0.0 20 0.0 122k 0%
4 years ago
Pedro Alvarez
2f0125ef4e
Fix issue recovering key state, when the first HO fails (specifically, is_first_ncc was not recovered). Minor improvements in key logging.
4 years ago
Francisco Paisana
1f2cca8909
in the rrc reconf procedure, handle the scenario where the rrc reconfiguration message does not config the phy
4 years ago
Francisco Paisana
edd5c50f9a
pass nas pdus after sending rrc reconf complete
4 years ago
Francisco Paisana
cf89f4300a
fix ttcn3 to signal back to stack that a phy config has been completed
4 years ago
Francisco Paisana
c6f4776a6f
send the nassdus sooner in the rrc reconf procedure
4 years ago
Francisco Paisana
2416e274a7
fix rrc_meas_test. The phy now needs to signal back to the rrc that the phy config is complete
4 years ago
Francisco Paisana
fc49b5a030
implemented rrc reconfiguration procedure that includes a continuation when phy configuration is complete
4 years ago
Andre Puschmann
936e3b7bef
mac_test: add manual test for TC 7.1.4.6
4 years ago
Andre Puschmann
5a9b1865e4
proc_bsr: fix typo
4 years ago
Xavier Arteaga
ef9d77c966
SRSUE: add PRACH config present field in PHY configuration structure
4 years ago
faluco
51b27fc255
Import latest srslog version ( #1796 )
...
* - Import latest srslog version.
- Adjusted the nas_test to create logs correctly.
- Remove timestamp formatting now that is provided by srslog.
4 years ago
Francisco Paisana
924cc4f937
during cell selection, if the serving cell is ok, avoid calling serving cell configuration if the sibs are already acquired
4 years ago
Ismael Gomez
4e88daae21
Set DCI unpacking errors to info ( #1781 )
4 years ago
faluco
dfeed52514
- Rename out_stream function to console.
4 years ago
faluco
62faef7c71
- Replaced all uses of the log::console method.
4 years ago
Francisco Paisana
b3eb9651d6
disable cqi in scells during handover procedure
4 years ago
Ismael Gomez
f4c7021a5f
Appy phy configuration to current_phy_cfg before sending to PHY after HO
4 years ago
Francisco Paisana
8a9a95a937
ensure sibs are acquired if cell selection calls cell search
4 years ago
Francisco Paisana
af3ff5985e
removal of console print of last selected cell during the cell selection procedure.
4 years ago
Francisco Paisana
c33e94fede
fix conformace 8_5_1_1 failure
4 years ago
Francisco Paisana
045f647914
fix edge case where serving cell is good enough for reestablishment but the sibs are not yet acquired
4 years ago
Andre Puschmann
f32d9f8322
ttcn3: call stop in UE dtor
...
fixes stop issue of TTCN3 DUT
4 years ago
Ismael Gomez
d671e39c93
Fix SINR not correctly considering noise. Missed dBm conversion
4 years ago
Francisco Paisana
5ecbe8fb17
cleanup of the reestablishment procedure state machine. It does not need to wait for the serving cell configuration because such procedure is already included in the cell selection procedure
4 years ago
Pedro Alvarez
b3bfe336a9
Make sure that remote address test has a ip mask
4 years ago
Sylvain Munaut
6ce5863f03
test/tft_test: Add a combined test for IPv6 packets
4 years ago
Sylvain Munaut
9ba8b62972
test/tft_test: Update filter test suite
...
The “IPv4 local address type” filter should be 9 bytes since it includes
not only the ip address, but also its subnet mask.
Quoting from 3GPP TS 24.008 10.5.6.12:
"""
For "IPv4 remote address type", the packet filter component value field
shall be encoded as a sequence of a four octet IPv4 address field and a
four octet IPv4 address mask field. The IPv4 address field shall be
transmitted first. For "IPv4 local address type", the packet filter
component value field shall be encoded as defined for "IPv4 remote
address type".
"""
Same for the ToS which also includes a 1 byte mask value
4 years ago
Sylvain Munaut
5783c01cbb
tf_packet_filter: Improve support for the different filter types
4 years ago
Ismael Gomez
bb691f0cbe
Fix priority order in BSR trigger. Was not being triggered if SRB2 data was pending in the buffer ( #1771 )
4 years ago
Ismael Gomez
8c30822350
Fix bug in update_measurements() not reporting in_sync in single carrier
4 years ago
Francisco Paisana
0997daa7a0
now the handover procedure in the srsUE does not wait for the phy cell selection result. It only waits for the RA result
4 years ago
Ismael Gomez
c75c463263
Use SNR instead of SINR for RLF threshold ( #1769 )
...
* Use SNR instead of SINR for RLF threshold
* Send in/out-sync only for cc_idx=0
4 years ago
Ismael Gomez
76bfc78147
Fix issues with Sounding-RS ( #1761 )
...
* Fix deadlock caused by update_measurements calling in_sync
* Fix overlapping SRS condition
* Do not use shortened PUSCH in transmissions and retx from RAR
* Revert "Fix deadlock caused by update_measurements calling in_sync"
This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
4 years ago
Francisco Paisana
2d321231df
fix reest proc. The reest proc state has to be set before launching the procedure, because the procedure can complete immediately on launch call
4 years ago
Pedro Alvarez
86f4d469c6
Added some functions to save and restore AS keys for the case of failed handover in the USIM
4 years ago
Francisco Paisana
81ab4c1a65
make sure ho procedure waits for t304 expiry in all cases
4 years ago
Ismael Gomez
b94d24ed98
Take into account CRS from neigbhour cells when measuring interference ( #1757 )
...
* Take into account CRS from neigbhour cells when measuring interference
* fix std::isnormal compilation
* Fixed compilation of test
* Address comments
* Remove unused overrides
4 years ago
Francisco Paisana
cf89d6645b
add comments explaining each function of the reest procedure
4 years ago
Francisco Paisana
d068d594af
implemented rrc reestablishment procedure part after sending reest request
4 years ago
Francisco Paisana
7d6c9a1751
Add cause and cell pci to reestablishment console message
4 years ago
Francisco Paisana
73e21daeb2
refactor reestablishment procedure to more closely follow TS.
4 years ago
Andre Puschmann
1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure ( #1753 )
...
* Make PHY non-blocking and fefactor HO procedure
* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers
Co-authored-by: Ismael Gomez <ismagom@gmail.com>
4 years ago
Ismael Gomez
399b986d0b
Fix deadlock caused by update_measurements calling in_sync ( #1760 )
4 years ago
Francisco Paisana
eb370642ab
verify cell selection observer is set before calling it
4 years ago
Francisco Paisana
7f8af023b8
added a callback that always gets triggered when the phy cell selection completes. This callback checks if cell selection failed, and if so, sets the rsrp of the selected cell to -infinity
4 years ago
faluco
f0d651ae8e
- Fixed a leak in the MME class not releasing the static byte buffer pool.
...
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
4 years ago
Ismael Gomez
5968157ea5
Protect better the access to shared variables in phy_common and metrics ( #1750 )
4 years ago
Andre Puschmann
eeb2b904aa
ue,rach: fix failing RACH proc when Msg3 grant RNTI matches current CRNTI
...
this was preventing that the Temp-CRNTI used in the RAR to be identical
to the currently configured C-RNTI of the UE.
The issue simply was that the RACH procedure was declared successful too
early, even before the Msg3 UL grant was filled with the Msg3 content.
The patch moves the logic that detects the successful completion of
the RACH procedure below the Msg3 packing.
4 years ago
Andre Puschmann
a36f9bddc2
ttcn3: use RNTI values in RACH provided by tester
...
this patch extends the SS to use the C-RNTI and Temp CRNTI values
provided by the tester for RAR and Msg3.
4 years ago
faluco
e14cb4b405
- Fix a missing thread join in the phy which caused a memory leak.
4 years ago
faluco
5acc1c9a73
- Cleaned up style in the PRACH class:
...
* Removed magic numbers.
* Reduced indentation of statements with early exists.
* Removed elses after a return statement.
* Trimmed unnecessary include files.
* Default initialized members in the class.
4 years ago
faluco
b6bbe8761a
- Remove left over printf.
4 years ago
faluco
79f5b62551
- Calculate PRACH buffers on the fly when required instead of pregenerating all of them.
4 years ago
Andre Puschmann
b616944a13
ue,rrc: fix security config during HO/reestablishment
...
we fix a number of very related issues for HO/reestablishment
in the success/error case:
* this patch removes the hard-coded check that intra-cell HO aren't
allowed. There are cases where eNBs use this method to update
the security context.
* the patch also fixes an issue after failed HO where the security context
of the source eNB should be used for the reestablishment.
* update security keys according to specs when mobilitycontrol
indicated change of key
4 years ago
Andre Puschmann
d90de639e5
ttcn3_syssim: continue when epoll returns -1
...
this allows to debug and step in the SS
4 years ago
Andre Puschmann
1b266257a1
ttcn3_phy: improve logging of cell measurements
4 years ago
Andre Puschmann
6827c2df21
rrc_meas: disable layer3 filtering until quantity config is received
...
the filter alpha was initialized to zero by default which causes an
issue because the first measurement for a cell can't be updated,
because the filtering function will always return the current value.
According to 36.331 Sec 5.5.3.2 Note 2, a k-value of 0 should turn
off filtering, which should be used as the default value until
an update is received from the network.
4 years ago
Francisco Paisana
97133894e6
the Ocs value used in the measReport triggering decision was not being set correctly. The enum of the cell individual offset in the measCfg was being cast to an int and stored. Instead what we want is to store the actual offset value using the ASN1 enum->number lookup table.
4 years ago
Xavier Arteaga
44c2412be2
SRSUE: silent PUSCH encoding error by dropping invalid grant
4 years ago
Francisco Paisana
739c0c5c00
altered plmn search procedure handling of failed cell searches. If a cell search procedure fails due to inability to select a cell or acquire SIB1, the plmn search carries on for other frequencies.
4 years ago
Andre Puschmann
3088cdbb0f
ttcn3: fix uncaught exception in SS
...
fix accessing child element in parsed Json without checking
its existence.
4 years ago
Andre Puschmann
8df388ba3e
usim: fix typo in log
4 years ago
Andre Puschmann
3e824f6370
ttcn3: convert TTI action vector to queue
...
this makes sures queued events are executed FIFO
4 years ago
Andre Puschmann
624c8142ad
ttcn3: refactor cell handling in SS
...
this rather large patch changes the way cells are handled in the SS.
It moves RLC and PDCP entities to the cell map of the SS, such that each cell
has its own entities. This allows to support HO operation, for example,
in which two cells need to send SRB messages.
It also extends most of the syssim interface to include the cell name
in all commands so they can be applied on the specified cell only.
4 years ago
Andre Puschmann
4650a620d9
ttcn3: refactor cell search and selection in TTCN3 PHY
...
- make sure only suitable cells are reported/selected
4 years ago
Andre Puschmann
973de8f78d
ttcn3_dut: block OS signals before starting log backend
...
this prevents the backend thread from handling the signals. they
are only handled by epoll running in the main thread.
this fixes #1713
4 years ago
Ismael Gomez
b397878d25
Fix comments in ue.conf
4 years ago
faluco
c178e362b8
- Rewrite log management so that a log sink can be swapped for each testcase.
4 years ago
faluco
5e8a4c898d
Bring back the circular array object. ( #1712 )
4 years ago
Xavier Arteaga
52355024e7
SRSUE PHY: move mutex lock to cc worker and unlock for stack calls
4 years ago
Ismael Gomez
4c1d3ef7e8
Fix implementation of Random Access problem ( #1689 )
...
* Fix implementation of Random Access problem
* Apply AS activated condition on RLF before calling Reestablishment
4 years ago
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
4 years ago
Andre Puschmann
c16ac6c890
ue_stack: only push sync event to event queue is stack is still running
...
stopping the UE in ZMQ mode caused a dead-lock because the Stack was
stopped before the PHY causing the sync queue to overflow. Since we
use a queue-length of 1 in ZMQ, mode, the PHY sync thread was blocking to
push a new sync event while the stack thread was already stopped.
this patch makes sure no new sync events are queued after the stack has
been terminated.
4 years ago
Andre Puschmann
aec18a93d1
mux,bsr: refactor UL buffer status reporting
...
this patch fixes the UL BSR as per TS 36.321, it includes following
main changes:
* report UL buffer state to reflect the UEs transmit buffer after
the MAC UL PDU containing the BSR has been built.
In other words, if the UE, for example, can transmit all outstanding
data in an UL grant, it will not report any pending data to transmit.
* refactor MUX routines and subheader space calculation
4 years ago
Andre Puschmann
92d76a5eb6
mac_test: update tests involving BSR handling
...
* split existing BSR test into dedicated test for short, long, and trunc
BSR tests
* update MAC tests that include packing UL BSR.
(After checking TS 36.321 again it seems we have reported old UL buffer states)
4 years ago
Ismael Gomez
54eed11e1d
Refactor decision for extended CSI/SRS
4 years ago
Ismael Gomez
51521ad8e4
Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10
4 years ago
Andre Puschmann
14289ebcc6
dl_harq: lower log level when MCS changes in DL grant to debug
...
fixes #1489
this is normal behavior and should not result in a warning message.
4 years ago
Ismael Gomez
06a5bdaab2
Process all calls to RLF in the main RRC task
4 years ago
Francisco Paisana
92221eb780
update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure
4 years ago
Francisco Paisana
46e1e101d3
removal of unecessary ho_ra_complete(false) in mac. In case of HO failure, the rrc should let the t304 expire
4 years ago
Francisco Paisana
aed9120458
in case of RA problem during handover, the UE cannot trigger RLF. It has to let t304 expire, which will then trigger the reestablishment procedure with the right cause
4 years ago
Francisco Paisana
fca1273b3e
avoid spurious warnings of trying to start the PRACH when it is already running during handover
4 years ago
Francisco Paisana
fddcc3d8ea
In the case of Handover, postpone the activation of the CQI and SR config present in the HO command for after the RA proc completion to the target eNB
4 years ago
Andre Puschmann
641a4a5e79
mac_test: fix compilation if PCAP write is enabled
4 years ago
Andre Puschmann
49a7a90698
mac: simplify BSR packing logic
...
simplify logic to check whether a BSR fits and, if so, which type.
before the check has been done in two places.
we now also accomodate for the CE subheader size.
4 years ago
Andre Puschmann
6364a4513c
mac_pdu: fix issue when packing CE but no space left in PDU
...
we've not checked the return value when adding a new CE, like BSR or PHR,
for a UL MAC PDU. For very small UL grants, this could fail and
we need to remove the subheader again before packing the PDU.
This fixes issue #1649 .
4 years ago
Daniel Willmann
7d0ae71f17
ttcn3_sys_interface: Handle initial cell attenuation
...
When new Cells are added they can have an attenuation configured
directly. Honor that setting.
4 years ago
Francisco Paisana
5242f9422b
fix deadlock in handover
4 years ago
Ismael Gomez
72cc4e0ca5
Stop ContentionResolutionTimer on RA error. Updated test
4 years ago
Xavier Arteaga
df2c949417
Radio: add individual Rx gain and integrate in srsue
...
Fix compilation
Fix compilation
Add missing variable. Wasn't compiling
Radio: revert some changes
4 years ago
Xavier Arteaga
029f36b449
srsLTE: added efficient integer resampler and srsue/srsenb integration
4 years ago
Xavier Arteaga
1ff74da078
Remove wrong error message
4 years ago
Francisco Paisana
75b204bc52
fix phy ctrl call to cell selection observers
4 years ago
Francisco Paisana
834c0b3929
integrated new observer pattern into phy controller fsm
4 years ago
Francisco Paisana
48dd436d86
integrated observer pattern into rrc phy ctrl fsm
4 years ago
Francisco Paisana
997552ee45
stop t304 when handover is successful
4 years ago
Francisco Paisana
1d8286eb62
always wait for t304 to expire in case of failed handover
4 years ago
Francisco Paisana
ccc8ab70ef
stop t304 on handover procedure exit
4 years ago
Francisco Paisana
db15f43a77
set reestablishment cause correctly on handover failure
4 years ago
Francisco Paisana
b1670c005b
remove shadowed variables for reestablishment during handover
4 years ago
Xavier Arteaga
0e96ef3df0
Channel emulator takes SNR as input parameter
4 years ago
Andre Puschmann
5e40bfe72c
mac_pdu: unpack and print BSR index as well as BSR value in bytes
...
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.
for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
4 years ago
Francisco Paisana
8c9e596f89
refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code
4 years ago
Francisco Paisana
7cd4f45d62
fsm refactor.
...
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
4 years ago