Figures¶
Every figure on this site is drawn by a Python module from facts extracted from the code, so it is rebuilt,
not redrawn, when the code changes. CI runs hardfoc-docs figures --check and fails when a
committed figure no longer matches the code. Each figure below lists the files it is drawn from.
One configuration file, every script¶
Figure description and sources
From top to bottom. app_config.yml in the ESP-IDF project lists the apps, ESP-IDF versions, build types and target. Two readers parse it: config_loader.sh, which the shell scripts source, and the Python scripts generate_matrix.py and get_app_info.py. The commands that source config_loader.sh (read from the scripts) sit on top of them. build_app.sh drives idf.py and writes one build folder per app, build type, target and ESP-IDF version under builds/. In CI, hf-espidf-ci-tools runs generate_matrix.py and build_app.sh.
Drawn from: build_app.sh source config_loader.sh; flash_app.sh source config_loader.sh; manage_idf.sh source config_loader.sh; idf_flash_monitor.sh source config_loader.sh; figure module docs/diagrams/figures/tool-map.py.
Figure module: docs/diagrams/figures/tool-map.py
Drawn from:
source config_loader.shinbuild_app.shsource config_loader.shinflash_app.shsource config_loader.shinmanage_idf.shsource config_loader.shinidf_flash_monitor.sh