Commit Graph
287 Commits
Author SHA1 Message Date
Cedric Roux bdda76430f Merge remote-tracking branch 'origin/fixes-T-tracer-2018-w17' into develop_integration_2018_w19 2018-05-15 15:20:12 +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 6cb04bb43a basic simulator: initial release
This commit introduces a 'basic simulator'.

This basic simulator is made of:
- the standard eNB code using a special driver that mimics the USRP driver
- the standard UE code using a special driver that mimics the USRP driver
- no channel simulation
- some special code to deal with faster-than-realtime behaviour of this
  basic simulator

It connects one UE to one eNB. It requires an EPC, populated with the
correct configuration for the UE.

This is the initial release and may contain bugs (most probably race
conditions due to the faster-than-realtime behaviour).

To use it, see the documentation at:
    targets/ARCH/tcp_bridge/README.tcp_bridge_oai.

It has been tested with 25, 50 and 100 RBs, FDD mode.
(No check at all has been done to know if it could work in TDD mode.)
2018-05-02 11:27:41 +02:00
Cedric Roux c14dd7ffbb T: use PID for the SHM name
That allows to run several programs using this mechanism on the
same computer (say both eNB and UE, to debug).
2018-04-24 14:53:12 +02:00
Cedric Roux 7576e3fa52 T: bugfix: fix check on return value of mmap 2018-04-24 14:40:28 +02:00
Cedric Roux fa4a9a0cb9 integration fix: update T tracer: add new VCD variables 2018-04-12 11:36:31 +02:00
Cedric Roux 3a867ac767 integration fix: add T trace 2018-01-19 15:51:38 +01:00
Cedric Roux 922b5b595a Fix NFAPI integration
This commit fixes issues introduced by the previous commit.

Summary of work:
- cleanup:
  - fix LOG_XX to be less verbose
  - fix cmake_targets/CMakeLists.txt
  - fix oaienv
  - remove dead code
- bug fixes:
  - in openair1/SCHED/fapi_l1.c we had:
      eNB->pdcch_vars[subframe&1].num_dci           = number_dci;
    should be:
      eNB->pdcch_vars[subframe&1].num_dci           = 0;
    This bug let the PHY send more DCIs than what should have been
    sent because num_dci is incremented later on in the code.
    This fix may be a problem for fapi mode, to be checked.
  - add new T VCD traces
  - revert openair1/PHY/TOOLS/file_output.c to 'develop' version
  - remove thread_id in logRecord/logRecord_mt
  - revert (and adapt) configuration files
  - be careful when doing frame++, we need to % 1024
  - revert target_rx_power in openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
- NFAPI:
  - the open-nFAPI code has been included in the repository. See nfapi/README.
    Maybe we should "git clone" the Cisco repository instead. We have to be
    careful of availability though.

What has been tested:
- monolithic eNB FDD 5/10MHz with one UE, iperf UDP/TCP uplink/downlink

Anything else may fail to work, especially the FAPI mode, which has not
been tested at all.
2018-01-15 15:24:50 +01: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 2beac6fed7 T: minor update of .gitignore 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 4b9f58c085 T tracer: fix traces (add/remove to be in synch with VCD module) 2017-10-23 17:40:58 +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 6d7a1a1623 minor: improve T tracer logs 2017-10-11 11:40:42 +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 761bf3c4c2 T: fix VCD traces 2017-08-29 17:18:23 +02:00
Cedric Roux a945f85d6f Merge remote-tracking branch 'internal/T-new-traces' into develop_integration_w34 2017-08-29 10:25:41 +02:00
Cedric Roux 0daf79bfc8 T: add some new traces
- ENB_PHY_OUTPUT_SIGNAL to trace output signal
- ENB_MAC_SCHEDULING_REQUEST to trace scheduling requests
2017-08-29 10:23:06 +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 8625a8672a T: improve trace ENB_PHY_ULSCH_UE_DCI 2017-05-19 16:17:56 +02:00
Cedric Roux f9b5dafe29 T: let it compile with C++
We now have 4 versions of T_HEADER:
 - bad quality C++ version with time
 - good quality C version with time
 - bad quality C++ version without time
 - good quality C version without time
2017-02-17 18:16:22 +01:00
Cedric Roux 2d8ae33544 T: remove ENB_MAC_UE_UL_PDU_WITH_DATA from group HEAVY
we want those traces in the logs people send to us and
the group HEAVY is disabled in the wiki instructions.
2017-01-30 17:25:43 +01:00
Cedric Roux 03bf3a6dc5 put UE T messages above VCD ones
looks better
2017-01-30 17:24:44 +01:00
Cedric Roux bb903e8d4f add/remove T traces to be up to date with current software 2017-01-30 17:24:08 +01:00
Cedric Roux bfecb5e54a T: add PHY throughput view to enb tracer 2017-01-09 17:08:30 +01:00
hbilel a1f25f073c [OAI-UE] T-tracer for UE, more traces 2016-12-22 11:09:57 +01:00
hbilel 619d34d781 [OAI-UE] UE T-tracer updates part 2 2016-12-19 18:05:59 +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 66c292b95b integration fix: update T messages 2016-12-19 11:19:05 +01:00
Chia-Yu Chang 7f4c961d82 add T messages for FLEXRAN and fix a complication error in FLEXRAN 2016-12-12 18:41:26 +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 d7831c1f57 T: add TBS to ENB_PHY_DLSCH_UE_DCI 2016-12-05 14:52:12 +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