Recently we stared using the BWP_indicator signalled in DCI, before we always assumed BWP_Id == 1.
Now "fake-DCI" with bandwidth_indicator == 0 lead to segmentation faults, so we discard these.
Note: There are still several placed where we assume BWP_Id == 1!
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
- 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