fix(compiler): board_fqbn llega a _compile_in_dir — el NameError tumbaba todo compile

El bloque de velxio_board.cmake usaba board_fqbn, que vivia en compile() y no
en la firma de _compile_in_dir: parametro nuevo con default None, propagado en
los dos call sites, y guard para el camino sin fqbn (tests directos).
This commit is contained in:
David Montero Crespo 2026-07-28 07:09:41 +02:00
parent e648f416ae
commit 50fa9275b9
1 changed files with 4 additions and 3 deletions

View File

@ -2735,7 +2735,7 @@ class ESPIDFCompiler:
progress_callback, normalized_opts, spiffs_files,
allowed_libraries=allowed, libraries_dir=scope_dir,
arduino_mode=arduino_mode, use_idf5=use_idf5,
pure_idf=pure_idf,
pure_idf=pure_idf, board_fqbn=board_fqbn,
)
with tempfile.TemporaryDirectory(prefix='espidf_') as temp_dir:
project_dir = Path(temp_dir) / 'project'
@ -2746,7 +2746,7 @@ class ESPIDFCompiler:
progress_callback, normalized_opts, spiffs_files,
allowed_libraries=allowed, libraries_dir=scope_dir,
arduino_mode=arduino_mode, use_idf5=use_idf5,
pure_idf=pure_idf,
pure_idf=pure_idf, board_fqbn=board_fqbn,
)
finally:
if scope_dir is not None:
@ -2809,6 +2809,7 @@ class ESPIDFCompiler:
arduino_mode: Optional[bool] = None,
use_idf5: Optional[bool] = None,
pure_idf: bool = False,
board_fqbn: str | None = None,
) -> dict:
"""Inner compile body: writes sketch + libs into `project_dir`,
runs cmake + ninja, merges binaries. Caller is responsible for
@ -2862,7 +2863,7 @@ class ESPIDFCompiler:
# file instead of an env var makes it a configure dependency: CMake
# re-runs when it changes, env vars it silently ignores.
board_cmake_lines = ['# generated by espidf_compiler — do not edit']
if arduino_mode and not pure_idf:
if arduino_mode and not pure_idf and board_fqbn:
flags = self._arduino_board_flags(board_fqbn)
if flags['board']:
macro = re.sub(r'[^A-Z0-9_]', '_', str(flags['board']).upper())