CLI Commands and Options

Table of contents

Help Yourself

With mmcesim -h, you can view all supported commands and options.

mmCEsim 0.3.0  (C) 2022-2024 Wuqiong Zhao
Millimeter Wave Channel Estimation Simulation
=============================================

Usage: mmcesim <command> <input> [options]

Commands:
  sim [ simulate ]       run simulation
  dbg [ debug ]          debug simulation settings
  exp [ export ]         export code
  cfg [ config ]         configure mmCEsim options
  (Leave empty)          generic use

Allowed options:

Generic options:
  -v [ --version ]       print version string
  -h [ --help ]          produce help message
  --gui                  open the GUI app

Configuration:
  -o [ --output ] arg    output file name
  -s [ --style ] arg     style options (C++ only, with astyle)
  -l [ --lang ] arg      export language or simulation backend
  --value arg            value for configuration option
  -f [ --force ]         force writing mode
  -V [ --verbose ]       print additional information
  --no-error-compile     do not raise error if simulation compiling fails
  --no-term-color        disable colorful terminal contents

The Application is currently under active development.

Commands

exp

Command exp (or export) exports the .sim configuration and corresponding .alg algorithms to a selected language. Currently, only export to C++ with Armadillo is supported.

sim

Command sim (or simulate) simulates the exported code with the selected backend. Currently, only C++ with Armadillo is supported.

So far, only C++ compiler g++ (default) and clang++ are supported which can be configured with command cfg. You may also need to configure additional C++ flags with cfg cppflags if by default the compiler cannot find armadillo library.

dbg

Debug the simulation (dbg or debug). This is different from sim in that the generated C++ code is compiled with -g3 instead of -O3. Therefore, debug information is retained.

cfg

Configure settings (cfg or config).

  • Use mmcesim cfg <name> to show the value of <name>.
  • Use mmcesim cfg <name> --value=<value> to set the value of <name> as <value>.

Example (mac_config_cppflags_brew.sh):

mmcesim config cpp --value="clang++"
mmcesim config cppflags --value="-I/opt/homebrew/include -L/opt/homebrew/lib"

Use mmcesim cfg ALL to view all configured options. (ALL should be in UPPERCASE.)

Options

-v (--help)

Print the version string of mmCEsim.

-h (--help)

See Help Yourself.

--gui

Open the GUI application.

-o (--output)

Set the output file name. No extension name is required, and is added automatically according to your backend settings. .cpp for C++, .py for Python, .ipynb for Jupyter, and .m for Matlab or GNU Octave.

-s (--style)

Set C++ Astyle (code formatting) options.

-l (--lang)

Set the export language or simulation backend.

--value

The value for configuration options.

-f (--force)

Enable the force writing mode. This will overwrite existent output files.

-V (--verbose)

Print additional information.

--no-error-compile

Do not raise error if compiling fails. This is useful in the dbg and sim command.

--no-term-color

Disable colorful terminal contents.

mmCEsim also supports the NO_COLOR standard.

Command-line software which adds ANSI color to its output by default should check for a NO_COLOR environment variable that, when present and not an empty string (regardless of its value), prevents the addition of ANSI color.

When you have a non-empty NO_COLOR environmental variable, the color output is disabled, and you no longer need the --no-term-color option.

For developers: NO_COLOR=1 is set as an environment variable for CTest. This will make the terminal output more readable.