Commit Graph
228 Commits
Author SHA1 Message Date
Cedric Roux 5b17b036ba T: improve to_vcd tracer
Make it compatible with 'template' gtwave files as found in openair's
repository.

The type VCD_NAME was added to the VCD IDs in T_messages.txt.
The database processing code was adapted to use it.
The tracer to_vcd was adapted to use it and render the produced vcd
output compatible with the 'template' gtkwave files.

When running to_vcd, do not forget to pass -vcd to use this feature.
2018-08-08 15:42:02 +02:00
Cedric Roux fdd4366daf T: add a 'multi' tracer
This tracer allows the connection of several tracers to one tracee.

To use the multi tracer:
- run the tracee as usual, eg. ./lte-softmodem -O xxxx.conf --T_stdout 0
- run the multi tracer: ./multi -d ../T_messages.txt
- connect other tracers to the multi tracer:
   - ./enb -d ../T_messages.txt -p 2022
   - ./textlog -d ../T_messages.txt -p 2022
   - etc.

By default the multi tracer connects to the tracee to the port 2021,
as for any other tracer.

Then it accepts connections from other tracers on the port 2022.

This can be changed with parameters on the command line.

The tracee and the other tracers can be stopped/started at any time.
2018-08-08 15:41:39 +02:00
Cedric Roux eb3b87d956 T: bugfix and cleanup
- bug fixed in ue and enb tracer: the socket needs to be closed
  in case of restart
- cleanup: fix spacing in T_messages.txt
2018-08-08 11:58:26 +02:00
Cedric Roux 19a01f6cb0 minor: bug fix in T tracer 'to_vcd' 2018-08-06 12:26:35 +02:00
Cedric Roux 1752c92980 T: update 'to_vcd' tracer to trace all VCD variables and functions
Pass the command line arguemnt -vcd to trace all VCD variables
and functions.
2018-08-06 11:27:02 +02:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux 52cf61de97 T tracer: don't depend on T_BUFFER_MAX anymore in the tracers
Whenever the value T_BUFFER_MAX changes, the tracers had to
be recompiled. The only reason why it was needed is because we
used some fixed size buffers to read events. This commit removes
this restriction.

Also, with the basic simulator, this value T_BUFFER_MAX now comes
with an #ifdef which would have required some special hackish-level
tricks in the tracers, which is not good.

Let's just allocate memory when needed.
2018-05-02 12:11:34 +02:00
Cedric Roux 047b54da19 Merge remote-tracking branch 'origin/develop_bugfixes_w43' into develop_integration_w43
Conflicts:
	common/utils/T/.gitignore
	common/utils/T/tracer/Makefile
2017-10-27 16:21:49 +02:00
Cedric Roux 4d1705e3a5 T: minor: close socket
Sometimes when the user does ctrl+c to quit, it may not quit
if nothing comes on the socket. Closing the socket in the
signal handler fixes this.
2017-10-27 16:14:39 +02:00
Cedric Roux faae3c8cd5 T: cleanup
Do not link the X stuff for tracers not needing it.
2017-10-27 16:14:39 +02:00
Cedric Roux 7e7fd3c4d5 T tracer: add a tracer to dump to VCD file
Later on, use this file with gtkwave.
To be used to check realtime behaviour of the system.
2017-10-27 16:14:39 +02:00
Cedric Roux 8dd3a2bdc4 T: add extract_output_subframe
This tracer extracts output subframes generated by the eNodeB,
so they can be analyzed with some external tools.
2017-10-27 16:14:39 +02:00
Cedric Roux 6322010e0a T: add a tracer: extract
This tracer extracts the content of a buffer field of an event
that was previously saved using the tracer 'record'.

For example, to extract the channel estimation done in
frame 924 and subframe 2 as saved in the file input_record.raw
and to store it in the file output.raw, do:

./extract -d ../T_messages.txt -o output.raw input_record.raw ENB_PHY_UL_CHANNEL_ESTIMATE chest_t -f frame 924 -f subframe 2
2017-10-27 16:09:08 +02:00
Cedric Roux 2516216d14 T tracer: improve a bit enb tracer
- UE_id 0 is for rnti 65535 (sib)
- UE_id 1 is for rnti 65534 (this is a hack)
- UE_id 2 is for rnti 2     (RA RNTI as of today's code/config)
- we start enb by displaying UE_id 3
- there was a bug: we need to lock when resetting UE ids (reset_ue_ids)
2017-10-18 12:06:16 +02:00
Cedric Roux 783667552e T: add -rb option to enb tracer 2017-10-17 13:16:44 +02:00
Cedric Roux 748a0790c9 T: hack for enb tracer 2017-10-12 11:00:33 +02:00
Cedric Roux a9d6e04cf2 T: modify extract_input_subframe to dump several subframes 2017-10-09 16:33:05 +02:00
Cedric Roux e6936f1b7c update T tracer
not finished, UE may not work, many things bad/to fix properly
2017-09-27 17:59:08 +02:00
Cedric Roux 0293141817 T tracer: add a new tool: extract_input_subframe
This program extracts a given subframe from a recorded trace.
2017-08-20 22:52:35 +02:00
Cedric Roux 85ac4e4648 T: minor makefile fix 2017-06-16 14:51:13 +02:00
Cedric Roux bfecb5e54a T: add PHY throughput view to enb tracer 2017-01-09 17:08:30 +01:00
hbilel d9255b5c72 [OAI-UE] T-tracer UE updates 2016-12-19 17:42:09 +01:00
hbilel 378020ce97 adapt oai-ue to t tracer part 2 2016-12-19 17:34:59 +01:00
hbilel 15a1af31db [OAI-UE] adapt T-tracer to support OAI-UE 2016-12-19 17:34:27 +01:00
Cedric Roux 9a0f32aa1d T: add 'throughputlog' logger
Normally it is used to display throughput.

The computation it does is to sum up the wanted value for the last
second (1000 TTIs) and send this value to the views associated to
this logger, at each TTI.
2016-12-05 17:58:16 +01:00
Cedric Roux 2270dae1e7 T: new view 'scolltti'
This view is used to display throughput (to come in next commits).
2016-12-05 17:49:03 +01:00
Cedric Roux 5b6a83fc7f T: some work on XY plot
- change paint function:
  when the XY plot is resized we scale. Previously
  the last range was put in the middle of the new range
  (say when we increase the size).
  We may get aspect ratio changes if the resize is not identical
  vertically and horizontally, but I think this behaviour is more
  'natural'.
- fix a bug:
  the last horizontal tick label was printed to far on the right,
  out of the bouding box of the XY plot. This is not totally fixed
  in the case the label is larger than the XY plot. Now the part
  out of the bounding box will be printed on the left. No big deal,
  make the plot big enough. (Before, even if big enough you had a
  problem.)
- add a new vertical tick display, to be used for throughput mostly.
  See in enb.c the difference between 'input signal' and throughput
  plots (those throughput plots will come in later commits).
2016-12-05 17:37:22 +01:00
Cedric Roux bff8e40d00 T: add widget 'textarea'
It's like a label but with fixed dimensions and maximum
characters' capacity at creation time.
2016-12-05 17:30:13 +01:00
Cedric Roux 031a72de7d T: new function 'bps'
This function is used to print rates (say '1kb/s' or '16Mb/s').
2016-12-05 15:08:27 +01:00
Cedric Roux ce1e9cb15a T: bugfix: bad order of parameters in function declaration 2016-12-01 13:16:49 +01:00
Cedric Roux 53ccc0e7ad T: minor bugfix - bad argument type in log 2016-12-01 13:15:34 +01:00
Cedric Roux cae34e0f4d T: minor fix - wrong comments 2016-12-01 11:08:13 +01:00
Cedric Roux f89c70dfc3 T: change range of DL/UL MCS plots
[-1 29] was not very pleasant for MCS 28 or no DCI (value is -1 in this case).
[-2 30] looks better.
2016-11-30 18:03:49 +01:00
Cedric Roux cbc2164e50 T: bugfix: vertical tick was off by 1 pixel
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.
2016-11-30 18:01:17 +01:00
Cedric Roux 1e485b4b5e T: add DL and UL MCS plots in enb.c
Helps visualize MCS usage over time.
2016-11-30 16:39:49 +01:00
Cedric Roux a016cb7589 T: new logger ticked_ttilog
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).
2016-11-30 16:32:29 +01:00
Cedric Roux 860394244b T: bugfix: lock required
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.
2016-11-28 18:28:10 +01:00
Cedric Roux ee934102b6 T: switch UE in enb tracer
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.
2016-11-25 17:19:33 +01:00
Cedric Roux 484cad2431 T: add function xy_plot_set_title 2016-11-25 17:17:39 +01:00
Cedric Roux 8eeebdaf98 T: add function label_set_text 2016-11-25 17:17:16 +01:00
Cedric Roux 0bb875d9c2 T: free previous filter in logger_set_filter 2016-11-25 17:15:25 +01:00
Cedric Roux 956135f9a3 T: add mechanisms to free filters 2016-11-25 17:14:40 +01:00
Cedric Roux 2716aaa711 T: activate all info/warning/error legacy traces by default in enb.c 2016-11-23 15:00:36 +01:00
Cedric Roux 3ae5f95653 T: fix small typo 2016-11-22 11:21:54 +01:00
Cedric Roux a6742020d0 T: add some hack programs
- time_meas to measure time spent in scheduling
- timeplot to show nice histograms in realtim of above measurement
2016-10-18 18:17:11 +02:00
Rohit Gupta 4787c975ec delete files with GPL License + modify build scripts 2016-10-07 18:19:43 +02:00
Cedric Roux 8b732dc7e2 T: add a mac pdu -> wireshark replay tracer
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.
2016-08-11 12:49:37 +02:00
Cedric Roux 3f2a080cba better autoscroll management in textlist
left click: enable autoscroll and go to end of list
right click: disable autoscroll
2016-07-27 14:40:25 +02:00
Cedric Roux d62de525eb scroll by one line in textlist
to scroll by only one line, hold CONTROL key and scroll with
mouse wheel
2016-07-27 13:05:46 +02:00
Cedric Roux b1dde78f87 use official openair logo in enb.c 2016-07-12 16:00:14 +02:00