Files
openairinterface5g/openair2/UTIL/LOG
Cedric Roux 60b83d84ea hotfix: pass "%s" to LOG_W to avoid compilation warnings
The warning was:

------------------------
In file included from /roux/openairinterface5g/openair2/UTIL/LOG/log.h:306:0,
                 from /roux/openairinterface5g/openair1/PHY/defs.h:54,
                 from /roux/openairinterface5g/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c:33:
/roux/openairinterface5g/openair2/UTIL/LOG/log.h: In function 'printMeas':
/roux/openairinterface5g/common/utils/T/T.h:94:26: warning: format not a string literal and no format arguments [-Wformat-security]
 #define T_ID(x) ((struct T_header *)(uintptr_t)(x))
                          ^
/roux/openairinterface5g/common/utils/T/T.h:29:22: note: in definition of macro 'T_PUT_int'
     int T_PUT_var = (val); \
                      ^
/roux/openairinterface5g/common/utils/T/T.h:269:7: note: in expansion of macro 'T_HEADER'
       T_HEADER(t); \
       ^
/roux/openairinterface5g/common/utils/T/T.h:101:76: note: in expansion of macro 'T3'
         n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30,n31,n32,n,...) T##n
                                                                            ^
/roux/openairinterface5g/common/utils/T/T.h:102:16: note: in expansion of macro 'TN'
 #define T(...) TN(__VA_ARGS__)
                ^
/roux/openairinterface5g/openair2/UTIL/LOG/log.h:308:28: note: in expansion of macro 'T'
 #    define LOG_W(c, x...) T(T_LEGACY_ ## c ## _WARNING, T_PRINTF(x))
                            ^
/roux/openairinterface5g/common/utils/T/T_IDs.h:71:30: note: in expansion of macro 'T_ID'
 #define T_LEGACY_PHY_WARNING T_ID(68)
                              ^
/roux/openairinterface5g/openair2/UTIL/LOG/log.h:308:30: note: in expansion of macro 'T_LEGACY_PHY_WARNING'
 #    define LOG_W(c, x...) T(T_LEGACY_ ## c ## _WARNING, T_PRINTF(x))
                              ^
/roux/openairinterface5g/openair2/UTIL/LOG/log.h:411:9: note: in expansion of macro 'LOG_W'
         LOG_W(PHY,txt2);
------------------------

over and over.

By replacing LOG_W(PHY,txt2) by LOG_W(PHY,"%s",txt2) all the warnings
are removed.
2017-02-23 11:01:45 +01:00
..
2015-04-14 10:44:50 +00:00

VCD Plugin v0.1

The VCD plugin outputs signals to a .vcd file which is readable by gtkwave (http://en.wikipedia.org/wiki/GTKWave).
Signals may have two types:
- Variables to dump the state of a variable (range 0..2^64 - 1).
- Functions to log function usage (implies two call to VCD API: IN and OUT)

This module is always built in, but is only used when -V oaisim option is added.
The VCD file generated is called openair_vcd_dump.vcd and is located in the execution folder.

Usage:
1) To dump function usage:
    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(FUNCTION_NAME, VCD_FUNCTION_IN); at start of function
    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(FUNCTION_NAME, VCD_FUNCTION_OUT); at end of function
    FUNCTION_NAME should be defined in the enum in vcd_signal_dumper.h and the function name should be addded at the right place in the vcd_signal_dumper.c file.

2) To dump a variable:
    VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VARIABLE_NAME, value); where VARIABLE_NAME is defined as described above for functions and value is the state of the variable at log time.

TODO list:
- Add support for signed variables
- Create more than two module (for now: one for variable, one for functions)
- Integrate date in filename
- Use a more accurate clock (if necessary) or use a host specific clock (for other systems than Linux)

Useful link:
http://www.beyondttl.com/vcd.php