The problem was visible when DL MCS was set to 20
(do a ping -c 192.172.0.1 -i0.2 to get it). The dots
were not plotted at the exact line of the tick mark.
Not sure the fix is always correct.
No big deal anyway.
A new logger is there: the "ticked TTI logger".
Similar to TTI logger (used by the PUCCH1 energy plot)
but takes another input, the "tick" (think subframe)
and a default value for when no event is triggered between
two ticks.
This is used for the UL and DL MCS plots in enb.c (next commit).
When the user clicks on "next UE" or "prev UE" we change the
filters of loggers.
At the same time, the main thread of enb.c processes events
received from the soft-modem and uses the filters, some of them
maybe in the process of being changed.
Changing the filters is not atomic and has to be protected.
Just below the logo you see the current UE, eg. [UE 0],
and near that you have two "buttons" [prev UE] and [next UE].
You click with left button of mouse on those and the various
plots that depend on the UE are now done for the new UE (say UE 1
instead of UE 0 if you click on [next UE]).
The plots are not cleared when you switch.
Let's say it's a feature.
This tracer takes the traces ENB_MAC_UE_DL_PDU_WITH_DATA
and ENB_MAC_UE_UL_PDU_WITH_DATA from a trace file
(as generated by the "record" tracer) and sends them
in UDP packets correctly formatted for wireshark to
dissect them.
One unresolved problem I face with my version of
wireshark (1.10.6) is that I don't get the frame number,
only subframe. See in the code to change the behavior
if you use a more recent version of wireshark.
You need to properly configure wireshark for it to work.
See $OPENAIR_DIR/openair2/UTIL/OPT/README.txt.
The T has 2 processes: the tracee and the local tracer
if the tracee dies (segfault or whatever) the tracee
may still be running.
So there is a third process that monitors those two others
and kill everything when one dies.
The problem is that this third process has to be the parent
of the two others. That makes debugging the tracee with gdb
impossible. This new option disables the third monitor process.
And it's sent at each connection attempt.
Before it was sent only once to the first tracer.
Plus there was a bug (length:(len) should have been length:(send_size)).