Technician tool v0.6

Imported from the Google Drive folder 004-technician_tool/v0.6.
This commit is contained in:
kkallas committed 2026-09-28 17:31:03 +02:00
1 parent f5b32e1554
commit 22bd853ecf
30 files changed
+1521 -568

No files matched your search

+12 -5
View File
@@ -11,6 +11,7 @@ from PySide6.QtWidgets import (
QButtonGroup,
QCheckBox,
QFileDialog,
QInputDialog,
QComboBox,
QGroupBox,
QHBoxLayout,
@@ -25,7 +26,7 @@ from PySide6.QtWidgets import (
)
from ..core.session import SESSIONS_DIR
from ..flash.image import FirmwareImage, FirmwareLibrary, ImageError, factory_images
from ..flash.image import FirmwareImage, FirmwareLibrary, ImageError, bundled_images
from ..flash.plan import Mode, build_plan
from ..flash.runner import FlashRunner, Result
from ..serialio.ports import PortInfo, list_serial_ports
@@ -168,12 +169,14 @@ class FlashTab(QWidget):
def _load_images(self, select_sha: str | None = None) -> None:
self._problems = []
try:
factory = factory_images()
bundled = bundled_images()
except ImageError as exc:
factory = []
self._problems.append(f"factory image: {exc}")
bundled = []
self._problems.append(f"bundled image: {exc}")
factory = [i for i in bundled if not i.is_developer]
self._reference = factory[0] if factory else None
dev, problems = self._library.images(self._reference)
dev += [i for i in bundled if i.is_developer]
self._problems += problems
# Newest developer builds first, then the factory image.
dev.sort(key=lambda i: i.app.built_at or dt.datetime.min, reverse=True)
@@ -196,8 +199,12 @@ class FlashTab(QWidget):
"Firmware (*.bin);;All files (*)")
if not path:
return
built_by, ok = QInputDialog.getText(self, "Who built this firmware?",
"Name of the developer who built this image (shown next to it):")
if not ok:
return
try:
img = self._library.import_file(Path(path), self._reference)
img = self._library.import_file(Path(path), self._reference, built_by=built_by)
except (ImageError, OSError) as exc:
QMessageBox.warning(self, "Cannot use this file", f"This file cannot be flashed:\n\n{exc}")
return