3. fox CLI Basics
The interface to interact with the repository is the fox CLI,
which is implemented in the root of the repository at cli/**.
The fox CLI enables to e.g., build the embedded binary or run tests.
The goal of the fox CLI is to control and simplify the interaction with the
repository.
Therefore, it is not needed to
set or change any environment variables or
activate/deactivate any virtual Python environments.
The fox CLI is implemented as Python module.
To simplify its usage, the following shell wrappers are provided (also at the
root of the repository):
fox.ps1for PowerShell (pwsh.exe)fox.shfor Bash (bash)
Users shall always use these shell wrappers, and not the Python module directory. The basic usage of the respective wrapper is defined by the used terminal:
.\fox.ps1
./fox.sh
./fox.sh
3.1. Implementation Details
For details on the fox CLI implementation, see Developing fox CLI.
3.2. Usage
For details on the fox CLI usage, see fox CLI Usage.
Usage: fox.py [OPTIONS] COMMAND [ARGS]...
Run the top-level ``fox.py`` command group.
Args: ctx: Click context for command dispatch and help rendering.
show_config: If ``True``, print version/configuration information.
Options:
--version Show the version and exit.
-s, --show-config Shows foxBMS configuration information.
-h, --help Show this message and exit.
Commands:
bms Run the interactive BMS communication shell.
bootloader Bootloader command group entry point.
ceedling Run the ``ceedling`` unit testing tool.
cli-unittest Run unit-tests on the CLI tool itself.
com-test Communication command group entry point.
db Database command group entry point.
etl ETL command group entry point.
gui Run the graphical user interface.
ide Open one or more pre-configured VS Code workspaces.
install Installation information and instructions
log Log CAN traffic to rolling output files.
misc Miscellaneous command group entry point.
plot Generate plots from input data files or directories.
pre-commit Run the ``pre-commit`` tool with forwarded raw arguments.
run-program Run the provided program.
run-script Run the provided script.
waf Run the ``waf`` build tool.
3.3. fox CLI package
Note
Further documentation on the fox CLI package:
Install the fox CLI package (Installation instructions)
fox CLI package (Information on the Usage)
If only some of the fox CLI tools are needed and access to the
repository is not required, use the fox CLI package.
To interact with the fox CLI package, use the following command regardless of
the terminal used:
fox-cli
fox-cli