* Add CFR module to the phy lib
* Add dynamic threshold with PAPR estimation
* Add a CFR unit test, CFR module improvements and refactoring.
Swap the gain normalization before the CFR.
* Add CFR config interface to srsenb
* Add CFR support to pdsch_enodeb
* Add DL PAPR measurement to eNB.
Co-authored-by: Cristian Balint <cristian.balint@gmail.com>
* Add test coverage to srsran_vec_gen_clip_env
as the PCAP object is now only visible inside MAC-NR we can't
share the PCAP file between EUTRA/NR (like we do in the UE).
This patch removes the hard-coded filename for the NR PCAP file.
The stack unique pointer in the enb class is written while the phy workers are calling enb::tti_clock() where it is read.
Avoid the read access until the whole class has been properly initialized.
* decouple EUTRA and NR stack classes
* implement dummy X2 interface with control and data plane methods
* implement eNB time source interface that PHY calls
* - Started porting the enb PHY layer to use srslog loggers.
- Updated srslog to manage the none level.
* Finished porting enb phy layer including the NR part.
* Ported MAC, GTPU, PDCP, RLC and S1AP enb classes to use srslog.
* Use new stack logger.
* Ported the enb RRC clases to use srslog.
* Remove unused log macros.
* Replace loggers in sched, sched_carrier, sched_helpers.
* Replaced loggers in sched grid.
* Replaced loggers in sched harq.
* Replaced loggers in sched ue.
* Replaced loggers in sched ue ctrl.
* Replace loggers in sched ue ctrl TPC.
* Replaced loggers in sched subclasses.
* Replaced loggers in rrc_meascfg_test
* Configure loggers in rrc_mobility_test.
* Fix compilation errors left out after the rebase.
* - Implement a custom log sink that will serve as a test spy to intercept and count the number of error and warning log entries.
- Adapt the erab_test_setup and rrc_mobility tests to use this new class and make them pass again.
* - Remove trailing new lines introduced in the rebase.
- Ported the sched_ue_cell class to srslog.
* Remove unused log member.
* Ported mac tests to srslog.
* - Removed remaining trailing newlines from log entries.
* Fix compiler errors detected in CI.
* Fix another static variable without definition passed to log lines.
* Fixed a bug in srslog::flush that would never end when the backend queue is full.
* Fetch the RRC logger instead of injecting it in the constructor.
* Reorder DCI FORMAT enum
* Fix endianness issue
* Fix return codes in phy_ue_db
* Log members should be destructed after the layers.
* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.
* Restore metrics_stdout change
this fixes the issue where PHY and MAC threads, and the processing
of events therein, are drifting apart too much.
This patch effectivly enforces a strong wait on the PHY if the
stack thread is too slow in processing its tasks.
For RF hardware the default is still 8192 TTIs, for ZMQ 1 TTI is used.
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
This adds the required missing bits to the eNB config file parser
to enable minimalistic support of parsing SIB7 configuration.
SIB7 contains GERAN (GSM) neighbor cell information, which is important
if you are operating a combined 2G+4G netowrk and want to assist the UEs
to reselect GSM cells once they move out of LTE coverage.
An example SIB7 section looks as follows:
sib7 = {
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 7;
thresh_x_low = 7;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = ( 873, 875, 877 );
}
);
};
Closes: #357
when using
[pcap]
enable = true
filename = /tmp/enb.pcap
in enb.conf, there is no pcap file created.
The problem is somewhere in the way how arguments are handled.
pcap.enable is properly parsed into args.pcap. However, later on,
lte_stack->init(args.stack, rrc_cfg, lte_phy.get()) only passes
args.stack down the road, not args.pcap. enb_stack_lte::init() then
basically uses args.stack.pcap and not args.pcap, and the latter appears
always false.
Let's remove pcap_args_t from all_args and only use the instance in
stack_args_t.
Closes: #359