CommandLineInterface - lms-org/lms GitHub Wiki
Get an overview over all command line interface options with
./lms --helpLoad the specified xml file (without .xml suffix) as the main configuration
file. Defaults to framework_conf
# Load the config file at {CONFIGS}/camera.xml
./lms -c cameraFlags allow conditional includes of XML fragments. The flags are checked in
<if> tags.
Example:
./lms --flags norender,funNow the flags norender and fun are set. In XML you can check them like this:
<if set="fun">
<include src="fun.xml" />
</if>
<if notSet="norender">
<module>image_renderer</module>
</if>Module <config> tags have an optional attribute user that specify a list
of users. Only if the current user is member of this list, the config is loaded.
The current user can be overwritten with the --user command line option.
./lms --user rootThe framework runs in different states during initialization and execution:
-
CONFIG- Load and parse config files. -
ENABLE- Enable (initialize) configured modules. -
CYCLE- Infinite module cycling.
The --run-level command line option specifies until which state the
framework shall be run before it exits. Defaults to CYCLE.
Profiling is a framework feature that measures the execution time of all modules and the whole cycle and outputs the results in a file.
./lms --profiling path/to/file.csvMultithreading creates a thread pool of the given size. The framework will execute modules in parallel if possible.
# Start framework with main thread + 4 extra threads
./lms --threads 4
# Start framework with main thread + 'No. of cores' threads
# This will be 4 on a quad core PC. Uses std::thread::hardware_concurrency()
./lms --threads autoThe Datamanager's dependency graph and the Executionmanager's cycle list can be exported as a graphviz dot file. Use the dot command line programm to convert these into PNG or SVG.
./lms --dag
# This is done automatically on linux:
# dot -Tpng output.dot > output.png
# xdg-open output.pngInstall the graphviz package for your system:
sudo apt-get install graphviz