From 50fa9275b972faa4ec64158dc94e2faf767dc3a0 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Tue, 28 Jul 2026 07:09:41 +0200 Subject: [PATCH] =?UTF-8?q?fix(compiler):=20board=5Ffqbn=20llega=20a=20=5F?= =?UTF-8?q?compile=5Fin=5Fdir=20=E2=80=94=20el=20NameError=20tumbaba=20tod?= =?UTF-8?q?o=20compile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- backend/app/services/espidf_compiler.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/app/services/espidf_compiler.py b/backend/app/services/espidf_compiler.py index ecb6efbb..49abe6dd 100644 --- a/backend/app/services/espidf_compiler.py +++ b/backend/app/services/espidf_compiler.py @@ -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())