359 Commits (0673d45338fddc93e78ab4e8e9cfcf1972e97064)

Author SHA1 Message Date
faluco 711438f756
Port enb specific classes to use srslog (#2155)
* - 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.
4 years ago
Francisco Paisana 3892194d98 sched refactor, use enb_cc_idx rather than ue_cc_idx primarily to avoid uneeded conversions 4 years ago
Francisco 7f6f3f7912 fix sched test check for ConRes DCI format. 4 years ago
Francisco Paisana d0a17b0a40 created sched_ue_cell class that is indexed based on enb_cc_idx 4 years ago
Francisco Paisana 2abe486e18 separate control loops for PUCCH and PUSCH TPC 4 years ago
Andre Puschmann 910dc5af86 Merge branch 'next' into agpl_next 4 years ago
Francisco Paisana 099dad8cb1 disable PHR handling in the UL sched by default 4 years ago
Codebot 98425e0b2b Adding AGPL copyright to new files 4 years ago
Francisco 783131a4e1 sched rand test refactor: removal of redundant tests 4 years ago
Francisco cba0cc457f sched rand test refactor: creation of abstract sched simulator class for testing 4 years ago
Francisco aed36eb273 sched rand tester refactor: elimination of ue_ctxt_test obsolete class 4 years ago
Francisco a068ae11b0 sched rand tester ue_sim class now handles cqi 4 years ago
Francisco 8f05982bef simplification of scheduling of UL acks in sched random tester 4 years ago
Francisco 86eb315102 simplification of scheduling of DL acks in sched tester 4 years ago
Francisco b4861bc59a move sched params and sched helper methods to sched_helpers.h/cc files. Removed place in the scheduler where the mcs is increased forcefully to avoid segmentation 4 years ago
Francisco 9eddfdb4a3 fix sched rand tester coderate check. tbs needs to be converted from bytes to bits 4 years ago
Francisco 0ae304a6ed update sched rand tester to detect when tbs coderate exceeds 0.93 4 years ago
Francisco 99f94d9a1a Bug fixes of srseNB scheduler TPC
- fix encoding of TPC command
- use of exponential average with irregular sampling for the ULSNR average estimate.
  Turns out using a time-windowed average for the SNR was a bad idea.
  If the UL grants are very sporadic, the SNR time window will never have samples
  when a TPC is encoded
- update of TPC sched test
- other fixes in accumulators lib
4 years ago
Francisco 2598989f7d replace msg3grant type from C-array to bounded vector 4 years ago
Francisco 69748e9313 fix compilation issue regarding definition of size_t in header and declaration of static member null_value in sliding average class 4 years ago
Francisco d42dc50c44 Write TPC sched unit test and fix sched logical channel test 4 years ago
Francisco 479602ed1d add option to specify target ul sinr for UL power control to the enb rr.conf parser 4 years ago
Francisco 5865df39d1 created class that implements the scheduler transmit power control and PHR handling 4 years ago
Francisco d98d14efcc remove tti_params struct from sched testers, and use tti_point instead 4 years ago
Francisco 86ab1864f7 The struct tti_point is now used ubiquitously in the scheduler 4 years ago
Francisco 8fb3ea6922 Added the ability to choose scheduling policy from enb.conf
- The two options provided at the moment are time-domain RR and PF
4 years ago
Francisco 64ee0ac2ef New statistics were added in the random sched tester
- new stats allow to analyze the average bitrates of each user
- there is a new stat that computes the total of RBs allocated and total bitrate achieved by the scheduler
4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco 8d181ef41c Optimization of cc_sched_ue::cqi_to_tbs(...) method via the use of root-finding algorithm 4 years ago
Francisco 3d80ff4831 fix activation of PDCCH for adaptive retxs. 4 years ago
Francisco fc81a5c6ba harq ack state can now only be NACK or ACK. The ul_harq pending phich flag is now reset after phich scheduling. Thus, the existence of a crc_info(...) signal from the PHY is not required. 4 years ago
Francisco bb96625129 renaming lch_manager -> lch_ue_manager 4 years ago
Francisco a348508072 simplified sched_ue pending DL bytes calculation API 4 years ago
Francisco eae0dc93ad rename scheduler files. scheduler -> sched 4 years ago
Francisco Paisana 9ff0a9b254 fix random array index picker 4 years ago
Francisco Paisana 49a48c0130 add measgap awareness to scheduler metric and sf_sched. Add measGap test to random sched test suite. 4 years ago
Francisco Paisana ff7811c822 remove unused member variable from sched tester 4 years ago
Francisco Paisana 3407ac6741 fix ca sched test 4 years ago
Francisco Paisana e8ac98d06f added extra tbs and dci aggregation level checks to sched test suite 4 years ago
Francisco Paisana 5467ee9f83 moved more tests to ue-dedicated test suite 4 years ago
Francisco Paisana 992ea7fd29 moved UE-dedicated RA sched test to separate test suite file. 4 years ago
Francisco Paisana d5f6ccc0c4 integrated UL UE-dedicated sched tests in random test 4 years ago
Francisco Paisana eb327183d3 moved harq tests from scheduler_test_common.cc to separate test suite file. Created a class ue_sim, whose role is to emulate a UE behavior 4 years ago
Francisco Paisana 64fca23eb3 extended dci content checks of DL and UL grants in the scheduler random tester. 4 years ago
Francisco Paisana 88105c1577 change the namespace of tti point helper functions for the eNB 4 years ago
Francisco Paisana 114932b4c6 extended common sched test suite api to multi carrier 4 years ago
Francisco Paisana f24e5aadaf clean common sched output tests 4 years ago
Francisco Paisana d8203acd56 implement harq resuming functionality 4 years ago
Francisco Paisana 42cdc5e340 Allocate all the leftover bytes of the TBS to last allocated MAC SDU.
Fix the way the RLC header is accounted for depending on the bearer id.
For instance, the SRB0 does not require any RLC header.
4 years ago
Francisco Paisana c5c7700cb7 implemented DL logical channel prioritization test for finite PBRs 4 years ago
Francisco Paisana 2d3681699a added test for DL sched logical channel prioritization. At the moment only PBR=infinity is tested 4 years ago
Francisco Paisana 688dda30a4 favour carriers with best channel conditions for UL grants due to SRs 4 years ago
Francisco Paisana cbac98c89e fix ack delay checks in scheduler tests 4 years ago
Ismael Gomez a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI (#1630) 4 years ago
Francisco Paisana 8b174ce2f4 changed interval interface to disallow interval::stop < interval::start via an assertion 4 years ago
Francisco Paisana c1755727d7 changed interval method names, and added comments and assertions 4 years ago
Francisco Paisana 20b69fb22e substitution of ul_alloc_t for prb_interval 4 years ago
Francisco Paisana fe8f8be62d apply separate cqi configurations to scells 5 years ago
Francisco Paisana 504e3a1b7a fix max retx configuration in scheduler and updated tester to catch the error 5 years ago
Francisco Paisana cb7f620254 created separate class to manage bearers buffers/status reports in the scheduler 5 years ago
Francisco Paisana 2f421d3e30 added cqi configuration in ca testing 5 years ago
Francisco Paisana 53b85691b5 moved sf result to sched class. This way each carrier has a view to the results of the remaining carriers in the same subframe 5 years ago
Francisco Paisana 5d33acdb53 changed name of sched_ue_carrier class 5 years ago
Francisco Paisana 7713df2cf9 fix fixed mcs issue 5 years ago
Francisco Paisana 94b8dd39a9 cleanup of sched testing cfg generation 5 years ago
Francisco Paisana d5f1581759 remove old tti counter class 5 years ago
Francisco Paisana 3c29bce014 apply segmentation break check to newtxs only. Allow configurable cqi 5 years ago
Francisco Paisana c75e31db03 added random cqi to sched tester 5 years ago
Francisco Paisana d40b4040b0 scell activation as part of the single ue tester 5 years ago
Francisco Paisana 0db2bd1cb5 moved test_ra to ue test class 5 years ago
Francisco Paisana 5d41fd0aec renamed ue test structs 5 years ago
Francisco Paisana 1e56082214 use ul/dl harq info storing at the ue side to evalue info stored in the dl/ul sched result dcis 5 years ago
Francisco Paisana 500a7f6357 created new separate ue class in sched tester to handle acks and harq tests 5 years ago
Francisco Paisana b506e29b72 removed common ce_typeenum 5 years ago
Francisco Paisana 372126deac created ul-sch and mch lcid types 5 years ago
Francisco Paisana 367a190829 created dl-sch lcid type 5 years ago
Francisco Paisana 64557740fc use mac_buffer_state interface to schedule CEs in scheduler 5 years ago
Francisco Paisana ec94819f08 changed mechanism for conres ce scheduling to be controlled by rrc 5 years ago
Francisco Paisana 66a38f53f5 fix req_bytes methods to account for new method to calculate conres scheduling. 5 years ago
Francisco Paisana d716d8bf7e use mini state machine for ConRes CE scheduling instead of relying that there is data in the DL buffer 5 years ago
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 5 years ago
Francisco Paisana 179e959d05 fix msg3 retx issue. Now nof_prb for pucch above 1 are forbidden for prb==6 5 years ago
Francisco Paisana 34bc48d31a fix cfi to cc assignment 5 years ago
Francisco Paisana ede09cb9b2 added dynamic CFI capability to the eNB scheduler 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Francisco Paisana afd7ea9e83 Fixed the check for msg3 delay to account for retxs 5 years ago
Francisco Paisana 5330249625 created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure 5 years ago
Francisco Paisana 4217dba7e0 fix msg3 delayed allocation and update test 5 years ago
Francisco Paisana 7548402632 change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers 5 years ago
Xavier Arteaga 76408b195e Rename TX_DELAY and FDD_HARQ_DELAY_MS 5 years ago
Francisco Paisana 9ad80ee29f added initial_dl_cqi to the enb rr.cfg parser 5 years ago
Francisco Paisana bcbb08ebae use initial_dl_cqi for first DL tx. 5 years ago
Francisco Paisana ab69c6fe43 account for delays in RAR tx in scheduler CA tester 5 years ago
Francisco Paisana f3c3c52fcd added ue_cc_idx to dci allocation 5 years ago
Francisco Paisana e62972d38e fix fdd delays in scheduler 5 years ago
Francisco Paisana ec1f1cc677 remove const_casts from scheduler. Fix ODR issue 5 years ago
Francisco Paisana e9a599857a created a header for all common structs and helper functions 5 years ago
Francisco Paisana 02ccb8b32b fix wrong calculation of sched tx and rx delays 5 years ago
Francisco Paisana 43e67b8536 created a harq entity that handles all harq procs. This entity accepts as arg the number of harq procs. 5 years ago
Francisco Paisana d1356568e0 separated sf sched result from sf_sched class. The interface became way simpler. No need for finish_tti() method, sf_sched::new_tti() is called automatically when we access the sf_sched. 5 years ago
Francisco Paisana bb38fa7119 fixed tti resetting after tti end 5 years ago
Francisco Paisana 47b05118ad simplified msg3 allocation. Now we can allocate resources ahead of time (e.g. msg3 is 2 ttis ahead) using the sf_sched interface. It's guaranteed that the given allocations wont be erased when the respective tti starts 5 years ago
Francisco Paisana 8f7890c60a store mask results in separate variables for testing, and reset sf_sched state at the end of the tti 5 years ago
Francisco Paisana b37d9b9930 fixed msg4 setting in sched tester 5 years ago
Francisco Paisana ad9e126299 test for different enb_cc_idxs as pcell. Bug fixes 5 years ago
Francisco Paisana 0f3ef11f8b now the scheduler only activates a scell after receiving a valid CQI for the SCell 5 years ago
Francisco Paisana f571b7c16b cleaned up some of the log error messages in the sched tester 5 years ago
Francisco Paisana c595696ec2 no need for a separate class for the CA tester 5 years ago
Francisco Paisana b44754f0ae the CA and random sched testers now use same structs and common interface. 5 years ago
Francisco Paisana 385fa226e0 started to use a type-safe tti counter for comparisons. Uniformized the common_sched_tester api. Next, need to use the same struct to register events. 5 years ago
Francisco Paisana 518f813f13 now the CA testing generation and simulation happen simultaneously. This way we can do more tti/event specific checks 5 years ago
Francisco Paisana b319f8dfcd created first version of CA test. Now we need to create actual asserts 5 years ago
Francisco Paisana 507bc2d2a2 created a test for CA. Currently is quite empty 5 years ago
Francisco Paisana e859d622c7 added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas 5 years ago
Francisco Paisana 87038375d5 fixed the building of MAC SDUs in the scheduler. Now, we ensure there is always space for the MAC subheader and RLC header. The MAC subheader is correctly discounted from the remaining bytes in a TB. 5 years ago
Francisco Paisana c8fc0d91b3 changed the supported cc list to a vector of structs 5 years ago
Francisco Paisana 42b15c7bed use common ue_cfg interface to set the ue antenna info 5 years ago
Francisco Paisana 5f557700f2 changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete 5 years ago
Francisco Paisana 88a22e7dbf support cc cfg from rrc 5 years ago
Francisco Paisana e86862611c update the scheduler interfaces to accommodate the configuration of multiple carriers 5 years ago
Francisco Paisana 73c528793f add interface changes to dummy classes and scheduler test 5 years ago
Francisco Paisana 2dc31ea440 added interface to configure multiple cells from the RRC 5 years ago
Francisco Paisana c8cd12ac53 updated the test logging utils 5 years ago
Francisco Paisana daf471be1f moved test of pdsch collisions for separate test file 5 years ago
Francisco Paisana c537d38650 separated sched tests based on output into a separate file. Added scheduler random tester to unit tests 5 years ago
Francisco Paisana af0b80b0a7 fix test for prb==6 and accidental adaptive retx in UL 5 years ago
Francisco Paisana a74dcd947f changed rar/msg3 scheduling to accommodate multiple rars per TTI 5 years ago
Francisco Paisana dc782e514b change the naming from tti --> sf for scheduling operations specific to a subframe 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Francisco Paisana ab3d7dd413 updated sched interface for multiple carriers 5 years ago
Francisco Paisana eeb47f8fa4 fixed issue regarding repetition of ConRes tx 5 years ago
Francisco Paisana 3159a5b84a added cc_idx to dl_rach_info 5 years ago
Francisco Paisana cab9327b1a updated scheduler interfaces to accommodate multiple carriers 5 years ago
Francisco Paisana 6d4f746a61 moved tti_sched_result out of carrier_sched. Removed interdependencies between the two classes. Simplified ra_sched and bc_sched initialization 5 years ago
Francisco Paisana 0b962f19f4 fix compilation issue 5 years ago
Francisco Paisana 67ccaf1029 created a file with common test utils, including assertions, a logger specialized for tests that counts the number of errors and warnings during the test run and can print diagnostics on exit 5 years ago
Francisco Paisana 011b2168a6 grouped different sched params/args/derived params into a single struct to simplify the ctor api of different sched sub components 5 years ago
Andre Puschmann 6a9c4d94b0 fix printf in scheduler test 5 years ago
Francisco Paisana b88b8fde7b moved the carrier scheduler and tti_result_t classes out of the main sched class. Now it is possible to instantiate more than one carrier_sched per sched 5 years ago
Francisco Paisana 2019fec37a moved dl/ul scheduling to the a separate class carrier_sched 5 years ago
Francisco Paisana 00d24872d9 clang-format on all the scheduler files 5 years ago
Francisco Paisana c19e0d9423 moved the RAR/Msg3 scheduling to a separate class 5 years ago
Francisco Paisana d79e49ed4c moved the BC scheduling to a separate class/file 5 years ago
Francisco Paisana 837c16557f started to implement separate SIB scheduler, and its tests. This is particualrly important for CA 5 years ago
Francisco Paisana 84ac16826f modernized the scheduler code, and removed some clang-tidy warnings 5 years ago
Francisco Paisana ad0b3ce6e2 modernize the random sched test 5 years ago
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
5 years ago
Guillem Foreman db4127ca64 Fixes 256QAM, added pdsch table 2, fixed warnings 6 years ago
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 6 years ago
Francisco Paisana 7be183c223 rework scheduler 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann 205db6f229 add missing license headers 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
David Rupprecht 06d4559294 Change include path absolut to project dir 7 years ago
Andre Puschmann 1daf7b04bc add copyright header 7 years ago
Ismael Gomez 6037a2f2bd changed logger classes 8 years ago
Ismael Gomez e5ae82aef1 added srsENB code 8 years ago