- 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
A fix had to be made in the uci_harq indication function
in the UE. The uci_harq indicaiton function was not properly
checking for dropped packets four subframes back in the UE.
- 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