3.1. waf_tools

Modules

all_commands

Implement a 'build_all' and its counterpart 'clean_all' commands.

app_build_config_generate

Create build configuration metadata for generated application artifacts.

app_crc

CRC calculation module

battery_cell_config_validate

Validate battery cell configuration files.

battery_config_validate_utils

Shared helper functions for battery configuration validators.

battery_system_config_validate

Validate battery system configuration files.

bingen

Generation of raw binary files from linked ELF outputs.

bms_config_generate

Generate foxBMS configuration headers and environment flags.

bms_config_model

Data model and parser for the foxBMS BMS configuration (bms.json).

bms_config_validate

Validate the foxBMS BMS configuration file.

bootstrap_library_project

Implement a waf tool to bootstrap a library project.

c_codegen_template

Template rendering helpers for C/H templates used by waf tools.

check_project_path

Validate the project path on the file system

codegen_matlab

Implements a waf tool to use MATLAB® code generators (https://www.mathworks.com/)

config_codegen_task

Code Generator for foxBMS configuration C/H source and CSV files.

config_validate_utils

Shared helper functions for JSON-based configuration validation.

crc64_ti_impl

Implementation of the CRC64 Polynomial x\ 64 + x\ 4 + x\ 3 + x + 1

crc_bootloader

Implementation for handling and preparing an application binary for usage with the Bootloader.

diag_array_config_validate

Validate and render the foxBMS diagnosis array configuration.

doxygen

Simple doxygen runner

drawio

Integration of the draw.io diagram editor into the Waf build system.

gcov

Integration of Gcov and gcovr into the Waf build system.

graphviz

Validate the project path on the file system

hash_check

Validates file hashes

hcg

Integration of the TI HALCoGen code generator into the Waf build system.

hexgen

Generation of Intel HEX files from linked ELF outputs.

lauterbach

Implements a waf tool to configure a Lauterbach to foxBMS specific needs.

misc_helpers

Miscellaneous helper functions in the build process

mock

CMock and Unity test runner integration for the Waf build system.

nm

Symbol listing from compiled object and linked files using the nm utility.

preprocess

Utility functions and waf tasks to generate cleaned header files from preprocessed headers.

size

Section size reporting from compiled object and linked files using the size utility.

sphinx_build

Implements a waf tool to use Sphinx.

ti_arm_cgt

Integration of the TI ARM Code Generation Tools into the Waf build system.

validate_test_json

Validate the foxBMS unit test configuration files.

validate_variants

Validate the variant names defined in the main build script.

vcs

Add VCS version information to build artifacts

vcs_git

Add git version information to build artifacts

version_generate

Add version information to build artifacts.

version_validator

Validate the consistency of all version specifiers in the project.

vscode

VS Code workspace generation tool for the Waf build system.