There was a problem with several UEs in the wireshark log. It seems that
wireshark needs the UE id otherwise it gets confused and sees retransmissions
where it's just another UE connecting and doing the same as a previous
UE.
Let's put kind of a UE id. Each RNTI seen by macpdu2wireshark gets an UE id
assigned the first time it's seen in a trace.
This is a bit hackish but seems to be fine.
We could have added UE_id in all the traces, that is change the T() calls
in the softmodem. It was less work to do it as it is, ie. only touch
macpdu2wireshark.c.
The RAR uses the same UE id all the time, may be a problem. To be refined
if needed.
- 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