Skip to content

v0.1.1 — Codeaudit fixes (E1/E2/E3/E4)

Choose a tag to compare

@Verter73 Verter73 released this 07 Jul 09:27

Патч-релиз по результатам аудита Codeaudit (Codeaudit/reports/20260707_120605__audit_esp32-flasher.md).

Что починили

E1 (P2) — QThread leak при закрытии окна во время прошивки. Раньше закрытие крестиком пока идёт esptool.main() приводило к QThread: Destroyed while thread is still running и потенциально битой прошивке на плате. Теперь closeEvent спрашивает подтверждение и ждёт worker до 5с.

E2 (P2)esptool 5.x молча возвращал бы True даже на ошибке прошивки. esptool.main() в 5.x перешёл с sys.exit() на int return, старый обработчик SystemExit не срабатывал. Починили двумя способами: (1) закрепили esptool>=4.7,<5 в requirements.txt, (2) в _run_esptool теперь проверяется и int return тоже (defense-in-depth).

E3 (P2) — прогресс-бар зависал на 0% в течение всей фазы erase_flash (~30-60с) при включённой галке «полный сброс». Клиент решал «зависло» и прерывал. Теперь при erase бар переходит в indeterminate-режим с надписью «стирание…», при write — обратно в 0-100% с «прошивка…».

E4 (P3) — docstring ports.py косметически говорил про «блэклист SoundBlaster (COM5)», но фактически фильтр работает по keyword в description (sound/audio/blaster/...). Docstring поправлен.

Скачать

Скачай atomspectra-waterfall-esp32.exe (~124 МБ), вставь плату в USB, запусти.

Firmware внутри — то же (AtomSpectra Waterfall commit 221391a, tag baseline-1).

Windows 10/11 x64, без установки, без прав администратора.