Releases: VibeEngineering-LLC/atomspectra-waterfall-esp32-flasher
Release list
v0.2.2 — +BDKG-05 gateway, 5 projects
v0.2.2
Добавлен 5-й проект: ATOMTEX БДКГ-05 USB Gateway (ESP32-S3), pull-from-release
из VibeEngineering-LLC/atomtex-esp32.
5 устройств: AtomSpectra / AtomFast / Radex / RadonEye / BDKG-05.
Сеть обязательна. Кэш в %LOCALAPPDATA%\atomspectra-flasher\cache\
v0.2.1 — fix SHA-verify None crash
Fix
Updater падал с 'NoneType' object has no attribute 'lower' когда SHA-256 не опубликован в теле GitHub Release. _verify_sha теперь принимает None и пропускает проверку (HTTPS integrity гарантирован каналом download).
Commit: 90cf97d.
v0.2.0 — pull-from-release, 4 projects
v0.2.0
Pull-from-release архитектура: flasher тянет актуальную прошивку с GitHub Releases при каждом запуске.
4 устройства: AtomSpectra / AtomFast / Radex / RadonEye.
Сеть обязательна. Кэш в %LOCALAPPDATA%\atomspectra-flasher\cache\
v0.1.1 — Codeaudit fixes (E1/E2/E3/E4)
Патч-релиз по результатам аудита 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, без установки, без прав администратора.
v0.1.0 — AtomSpectra Waterfall Flasher
Первый публичный релиз автономного Windows-прошивальщика AtomSpectra Waterfall (ESP32-S3).
Скачать и запустить
Скачай atomspectra-waterfall-esp32.exe (~124 МБ), вставь плату в USB, запусти. Всё внутри — драйвер esptool, готовые .bin, минимальный UI на PySide6.
Что делает
- Автодетект COM-порта (Creative SoundBlaster /
Bluetooth Serialотфильтрованы). - Кнопка Установить — прошивает bootloader + partition-table +
atomspectra_gw.binна скорости 921600. - Опция «полный сброс» —
erase_flash(460800) перед прошивкой (стирает старые WiFi-настройки, ~30-60 с дольше). - Прогресс-бар и лог живьём (парсинг
(NN%)из выводаesptool).
Firmware внутри
AtomSpectra Waterfall commit 221391a (tag baseline-1) — repo VibeEngineering-LLC/atomspectra-waterfall-esp32.
Дальше на плате
После «Готово» — плата поднимет WiFi AP AtomSpectra-Setup (без пароля), captive-portal http://192.168.4.1/, выбрать домашнюю 2.4 ГГц сеть → работать через http://atomspectra.local/.
Технические детали сборки
- PyInstaller onefile, PySide6 (Qt6), esptool как Python-либа,
contextlib.redirect_stdoutдля захвата\r-прогресса. - Post-Analysis фильтр в
.specвырезал WebEngine/Qml/Quick/Multimedia/Charts/3D/… (~50 Qt6-модулей). Итог: 264 МБ → 124 МБ. - Windows 10/11 x64, без установки, без прав администратора.
Известное
- Windows SmartScreen может ругаться при первом запуске (unsigned) — «Подробнее» → «Выполнить в любом случае».
- Первый запуск ~2-3 с (распаковка onefile во временный каталог).