From 4d3c1f3a89ecc274dbf2d57ad9716eb456cc3a29 Mon Sep 17 00:00:00 2001 From: dev Date: Sat, 21 Feb 2026 15:42:08 +0000 Subject: [PATCH] feat(controller_detection): implement class AutotuneTask --- scanslicer/controller_detection.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/scanslicer/controller_detection.py b/scanslicer/controller_detection.py index c0023c6..925a795 100644 --- a/scanslicer/controller_detection.py +++ b/scanslicer/controller_detection.py @@ -40,3 +40,25 @@ class AutotuneTaskSignals(QObject): status = Signal(str) finished = Signal(object) failed = Signal(str) + + +# AutotuneTask: class definition for ScanSlicer behavior. +class AutotuneTask(QRunnable): + # __init__: function definition for ScanSlicer behavior. + def __init__(self, autoslicer, profile_name): + super().__init__() + self.autoslicer = autoslicer + self.profile_name = profile_name + self.signals = AutotuneTaskSignals() + + # run: function definition for ScanSlicer behavior. + def run(self): + try: + result = self.autoslicer.autotune_for_current_image( + self.signals.status.emit, + profile_name=self.profile_name, + ) + self.signals.finished.emit(result) + except Exception as exc: + details = f"{exc}\n\n{traceback.format_exc()}" + self.signals.failed.emit(details)