iqplayer bug fix and improvements for nrUE
While trying the iqplayer with nrUE, I discovered major bug fixes as well as some improvements.
Major bug fix:
The nrUE code calls device->trx_set_freq_func() while the function pointer is initialized to NULL in device_init() function of iqplayer_lib.c. This leads to SEGV. Rather than having to test in nrUE code (or other code) whether a device function pointer is NULL or not, I suggest a device never initializes such a function with a NULL pointer but rather provide a dummy function in such a case. This will be done in iqplayer_lib.c to fix this bug.
Improvements:
The overall idea is the following:
-record IQ at nrUE for a given scenario and get a reference log file for a predefined log level (Debug)
-replay IQ at nrUE of the scenaio and get a replay log file for the same predefined log level as the one used for recording (DEBUG)
-the reference log file and replay log file should be the same modulo processing-dependent information such as pointer addresses output to log files. As suggested improvements, such processing-dependent information should not be output to log files. As such, improvements might remove such information from log files for the predefined log level.
-Improve Assert information at assertion time where needed. It happens that, when running in record more, AsserFatal leads to process abort preventing the IQs to be recorded. I have changed assertions so the oai exit function is called before to terminate. This allows IQs which lead to assertion to be recorded before termination. The IQs can then be replayed to reproduce the assertion.
-Put oai_iqplayer library in the list of "all" libraries so it is built as part of regular libraries
-Other improvements include small modification of log outputs where needed. This includes commenting too verbose outputs and fixing syntax or layout. It also includes moving from printf to LOG where possible.
-The default IQs size has been changed to 23040 which corresponds to 40MHz 2 slots. Further evolution towards parameters is expected.