- this commit was necessary because the location of the MAC UE
functions does not reflect the context in which they are used
- therefore all UL scheduling-related functions have been moved
to a new nr_ue_scheduler.c file
- and the irrelevant file rar_tools_nrUE.c has been deleted
(nr_ue_process_rar moved to nr_ue_procedures)
- the new locations are supposed to make the file and functions
organisations more structured and cleaner
- new data structure RAR_grant_t to handle RAR grant
- new common ul scheduler function
- new common ul pdu configuration function handling ul grants
- new function to fill ul_config_request
- moved pdu configuration code from process dci function
- merged procedures for Msg3 and PUSCH together in nr_ue_scheduler
- the same functions are now handling both PUSCH and Msg3
- relying on ul_config (no more RA Msg3 frame and slot storage)
- done some cleanup and logging in the process
- this return whether the transform precoder is enabled or not
- redundant configuration code has been migrated to the new function
- get_transformPrecoding is a common MAC function used already
@ UE side, can be adopted by gNB too
- now transmitting resetting Msg3 slot and frame to -1 after transmission
- cleanup in Msg3 scheduling
- checked Msg3 pdu configuration against the 3GPP specs
- sorted out according to recurring logic that wants function
prototypes in separate files from data struct and constants
definitions, variables in separate .c files with inclusion
of "extern" header files
- moved function prototypes to resective header files
- moved data structures and constants to respective header files
- merged unnecessary mac.h file into mac_defs.h @ MAC UE
- moved const variables suchs as tables to respective .c files
- moved extern references to respective extern.h files
- related to section 5 of 3GPP TS 38.321 specs
- handling of RA failure
- handling of RA completion
- first implementation of contention-based RA procedures
- minor fixes related to ue_get_rach and init_ra functions
- enhancement of DL indication flow for Msg2 (RAR)
- merging interface procedures to handle DLSCH and RAR together
- better separation of MAC and PHY functionalities
- cleanup of double ambiguous functions to process RAR
- merging functions to process TA command into the ue_ta_procedures function
- enhancement of logging and formatting in the process
- moved fill_dl_indication to phy procedures
- introduced a new function to fill the RX indication
- replaced redundant configuration code with the fill functions
- extended the function to fill the rx indication
- handling different dl pdus types
- cleanup of redundant code
- moved init code to new function init_RA
- moved relevant variables from MAC to prach_resources
- cleanup of unused struct members
- other minor fixes
- Moved code for SSB to RACH mapping config to new function
- Moved RA preambles configuration routine to new function
- Removed irrelevant arguments to nr_get_prach_resources
- turned some struct members and local vars into global vars
- added checks on the RA Type as per TS 38.321 clause 5.1.1
- minor cleanups
- currently only 4-step RA is available
MR991: Remove hack in LTE PDCP for noS1 mode
- Removes a hack which was used when LTE PDCP was used for NR in noS1 mode
MR993: UL and DL fixes LDPC short codewords
- Fix UL & DL LDPC decoding for short LDPC code, e.g. Z_c is not multiple of 8
- Fix DLSCH data transmission with multiple DMRS symbols per slot
- small TA fixes on OAI 5G NR UE
- Implemented CQI measurement at NR UE
- NR UE cleanup
MR1000: doc: fix build directory in BASIC_SIM.md
MR960: 256 QAM demodulation routines
- Added functions for demodulation of 256 QAM signals.
- Added a command line flag to enable mcs table entry in PDSCH-Config in RRC to use 2nd MCS table for PDSCH.
- Added an option for using 256 QAM mcs table in nr_dlsim.
MR989: Docker and Deployment improvements (CI)
- Image generation for eNB --> template for configuration files and dedicated entrypoint in Ubuntu
- Docker-compose-based EPC deploy
- Traffic test fully validated using the `trf-gen` container
- Flexran-rtc support when deployed in a container (Not fully done for the X2 Handover part)
- Added docker-compose-based eNB deployment
- Retrieve logs for such eNB deploymnent
- Functional and log update of nsa fr1 test but valid for gNB terminate also (enhanced ping stats and gNB markers)
MR992: Fix data transmission in "do-ra" mode
- UL and DL Traffic works now in do-ra mode, but there are still some PUCCH issues remaining. These issues are harming the acknowledgement of DL packets, and thus leading to unnecessary retransmissions.
The relevant warnings at UE are:
`PUCCH Invalid pucch resource indicator: at line 1082 in function select_pucch_resource of file openair1/SCHED_NR_UE/pucch_uci_ue_nr.c`
and
`PUCCH Error for number of bits for acknowledgment : at line 909 in function get_downlink_ack of file openair1/SCHED_NR_UE/pucch_uci_ue_nr.c`
Note: UE needs rbconfig.raw and reconfig.raw files from the *currently* running gNB, as the C-RNTI is random and different for each run.