mira is a tool to launch a Framework as a console application by specifying one or multiple configuration files that should be loaded.
If you want to launch Units that need Qt (GUI) support, please use miragui instead.
Running MIRA
If you have the path to the binaries of your MIRA installation included in your PATH environment variable, you can typically use the command:
to launch a Framework together with 'MyConfigFile.xml'. Otherwise, you have to specify the full path to the mira binary:
/path/to/miraroot/bin/
mira MyConfigFile.xml
Thereby the configuration files are used to configure the Framework including the executed units, etc.
Parameters
Launch
or
to see a full list of command line parameters and their explanation. All parameters and the features they activate are optional, except where specified. Where it says 'enable', the feature is disabled by default, and vice versa.
config-file [c]
:
- Specify one or multiple configuration files (also the first parameter if no option is given). Here it is also possible to use the find placeholder (e.g. mira -c '${find domains/mydomain/etc/myconfig.xml}') to locate a configuration file within MIRA_PATH.
config-string
:
- Specify configuration directly as string (syntax is the same as in xml configuration files, a <root></root> outer tag is required). Only one such string is loaded, after all configuration files are loaded, regardless of their order in the command!
debug-level [d]
:
- The log level from 0=CRITICAL to 5=TRACE (default 2 = WARNING).
log-file [l]
:
- If specified, logging output is also written to that file.
daily-log-file
:
- Use a separate log file per day. For more details see LogFileSink.
daily-log-file-start
:
- Daily log file start time. Format: "HH:MM:SS" (default = "00:00:00"). More more details see LogFileSink.
log-file-rotation-depth
:
- Log file rotation depth. More more details see LogFileSink.
disable-stdlog
:
- Disable the standard cout log output.
fw-port [p]
:
- Port the framework listens to for incoming connections from other frameworks (default 0 = auto). If no port is specified (here or in a loaded configuration), connections to this framework are not acepted, but it can still actively establish connections to other frameworks.
fw-name [n]
:
- Name of the framework (a random UUID will be created as name if not specified).
process-name
:
- Name of the process. If specified, this replaces the default process name (normally the name used to start it).
error-db [e]
:
- Name of the persistent error database where modules can store errors (default = mira-error.sql in TMP or HOME dir).
auth-group
:
- Working group this framework is allowed to connect.
auth-passwd
:
- Password for weak authentication between frameworks.
auth-keyfile
:
- Path to file with RSA keys for strong authentication between frameworks.
known-fw [k]
:
- List of host:port pairs of frameworks that we like to connect to, separated by ',' or ';' (e.g 192.168.1.1:1234,127.0.0.1:1235). For a connection to a framework on localhost, it is sufficient to name the port (i.e. 1235 is equivalent to 127.0.0.1:1235). Additional options can be appended to the address, separated by '@', e.g. '1234@v0'. Recognized options:
- forceptp : force PTP time sync
- v0 : remote fw uses 'legacy' serialization format
- monitor : do not publish local channels, services and authorities to remote framework
disable-ptpsync
:
- Disables the PTP clock synchronization of remote frameworks.
enable-pingtimeout
:
- Enables the ping timeout, i.e. automatically disconnects from a remote framework when it does not respond to pings.
no-remote
:
- Disables any remote support (no remote server, no distributed frameworks).
autodiscover
:
- Enables automatic discovery of other remote frameworks via multicast. Manually specified frameworks are also used.
exit-on-disconnect
:
- Enables exit whenever a remote connection is permanently closed or cannot be established within the given time.
no-colors
:
- Disables colored text output in the console.
using
:
- Defines aliases for names in namespaces separated by ',' or ';' It follows the syntax for the 'using' tag in config files: '–using A=B' can be read as 'using name A as B' (e.g. /robot/RobotFrame=/map/MapFrame would make the name/channel /robot/RobotFrame available in namespace /map as MapFrame).
var [v]
:
- Define variable=value pairs that can be used in config files, separated by ',' or ';' (e.g. name=Homer,age=34).
enable-profiler
:
- Enables profiler output. Optionally you can specify the directory.
save_processed_config
:
- Filename where to save final parsed and preprocessed config (for debugging).
no-autopromote
:
- Disable automatic promotion of channels that are published with type 'void' (but valid typename).
check-channel-registrations
:
- Enables checking if channel type is registered for automatic promotion whenever publishing a non-void channel, and warning if missing.
default-output-precision
:
- Set precision for floating-point output from JSON (commonly used for generic MIRA object output). The default is 3 when this option is not used.