50 Commits (286844b3ddc2ab1835c10e797c8a2be355a3a550)

Author SHA1 Message Date
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 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 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 936e3b7bef mac_test: add manual test for TC 7.1.4.6 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
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
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
Andre Puschmann 641a4a5e79 mac_test: fix compilation if PCAP write is enabled 4 years ago
Ismael Gomez 72cc4e0ca5 Stop ContentionResolutionTimer on RA error. Updated test 4 years ago
Andre Puschmann 9550bd3ef8 rlc: revisit interface for MAC and RRC
* add locked and unlocked version of has_data() since one is
  called from stack and one from PHY threads

* add comments in each interface section as to why locking
  is required or not

* remove RLC rwlock when not required

* move calls only used by RRC to RRC section
4 years ago
Francisco Paisana 7c364070ee creation of task scheduler interface for classes/functions running outside the main control thread 4 years ago
Francisco Paisana 4f5e65781f created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 4 years ago
Francisco Paisana c6323478d2 remove unecessary sleeps in mac test, and add long_ prefix in long tests 4 years ago
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 5 years ago
Andre Puschmann b9a2217355 fix uninit vars reported by Coverity 5 years ago
Francisco Paisana 70c2510c25 simplified mac_test step interface 5 years ago
Francisco Paisana e91a7ea513 removed stack-mac interface dedicated methods. We use now the task dispatch methods instead 5 years ago
Francisco Paisana de03c96c3b mac::process_pdus now uses the stack task dispatch interface 5 years ago
Francisco Paisana 7f6bde59fc move write_pdu_pcch and write_pdu_bcch_bch to stack thread 5 years ago
Francisco Paisana de3c28e52d added task dispatch capabilities to stack interface 5 years ago
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
Ismael Gomez 4fb83ae26d Run configure_prach_params as a background task 5 years ago
Ismael Gomez cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission 5 years ago
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 d2c56caf7e applied new timer class to the whole code base 5 years ago
Francisco Paisana 6db0e474be moved RA waiting procedure to a background task of the stack thread pool 5 years ago
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 5 years ago
Francisco Paisana 0f166ce739 fixed mac_test 5 years ago
Francisco Paisana 946ead06e8 using an interface between the stack and lower mac to process demux pdus. 5 years ago
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
5 years ago
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
5 years ago
Ismael Gomez 69edee4e6c
Fix issues in uplink QoS (#636)
Fix bugs in Long BSR and Truncated BSR and added unit tests
5 years ago
Ismael Gomez b81d4c5c9c Fix MAC test 5 years ago
Andre Puschmann e9342969f8 fix typo 5 years ago
Ismael Gomez f6a5d28283 Addressed @andrepuschmann comments 5 years ago
Ismael Gomez 773c2a9721 Fixed multiple issues in Random Access procedure and extended MAC test 5 years ago
Andre Puschmann 0094fbd191 mux/bsr: fix issue with corrupted UL-SCH PDU
BSR was triggered although there was not enough space in MAC PDU
5 years ago
Andre Puschmann 58763fb714 stack: move initialization of log object into ctor
this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
5 years ago
Andre Puschmann dffbc4404f add three more MAC tests for short PDUs 5 years ago
Andre Puschmann 7145cd2358 fix padding BSR generation and add test for it 5 years ago
Andre Puschmann db224335a7 add MUX step function for PBR counting 5 years ago
Andre Puschmann 2dfc6698eb add MAC tests 5 years ago
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago