Copy all ESP32 QEMU artifacts to the specified output directory. Args: build_dir: Build directory path board: Board configuration sketch_name: Name of the sketch output_path: Target output path (directory or firmware.bin file) Returns: True if succes
(
build_dir: Path, board: Board, sketch_name: str, output_path: str
)
| 125 | |
| 126 | |
| 127 | def copy_esp32_qemu_artifacts( |
| 128 | build_dir: Path, board: Board, sketch_name: str, output_path: str |
| 129 | ) -> bool: |
| 130 | """Copy all ESP32 QEMU artifacts to the specified output directory. |
| 131 | |
| 132 | Args: |
| 133 | build_dir: Build directory path |
| 134 | board: Board configuration |
| 135 | sketch_name: Name of the sketch |
| 136 | output_path: Target output path (directory or firmware.bin file) |
| 137 | |
| 138 | Returns: |
| 139 | True if successful, False otherwise |
| 140 | """ |
| 141 | print("🔧 ESP32 QEMU mode detected - collecting all required artifacts") |
| 142 | |
| 143 | # Validate flash mode for QEMU compatibility |
| 144 | validate_esp32_flash_mode_for_qemu(build_dir, board) |
| 145 | |
| 146 | # Use the new ESP32ArtifactManager for clean artifact handling |
| 147 | manager = ESP32ArtifactManager(build_dir, board.board_name) |
| 148 | return manager.copy_qemu_artifacts(output_path, sketch_name) |
| 149 | |
| 150 | |
| 151 | def copy_build_artifact( |
no test coverage detected