Releases: VibeEngineering-LLC/wf-recorder
Release list
wf_recorder v0.2.1 — #REC-14 авто-ротация файла шва при смене формата прошивки
Первый релиз в выделенном репозитории. Инструмент вынесен из
atomspectra-waterfall-esp32,
чтобы его релизы не затеняли релизы прошивки вreleases/latest. Бинарь идентичен
прежнемуwf-recorder-v0.2.1(тот же SHA256).
Багофикс сборщика pull-стрима: смена формата строки в прошивке платы больше не роняет запись.
Изменения:
- #REC-14 авто-ротация файла шва — при несовпадении
row_stride/channelsочередного сегмента с активным.aswfсборщик замораживает текущий файл и уводит новый формат в отдельный<base>__s<stride>.aswf, вместо потокаerror:stitch. Старый файл остаётся валидным ASWF; - устранён клинч без ack — раньше при несовпадении формата сегмент не удалялся с платы, и кольцо Flash копилось к потере данных. После ротации сегменты усваиваются и штатно ack-аются;
- dedup-guard — повторный запуск после ротации не дублирует уже вшитые строки;
- тест
test_rec14_rotation.py(5/5).
Повод: прошивка firmware-v1.0.11 (#FW-41) сменила формат строки ASWF v3→v5 (row_stride 16402→16410: +temperature +crc32). Рекордер v0.2.0 и раньше отказывался дозаписывать v5-строки в v3-файл (корректно — иначе водопад после шва = каша), но зависал в клинче. v0.2.1 стыкует форматы авто-ротацией: старая v3-запись остаётся цела, новые v5-данные пишутся рядом со всеми полями.
Assets:
wf_recorder.exe— Windows onefile (PyInstaller), автосбор сегментов платы + шов в единый.aswf.
SHA256: wf_recorder.exe 3701b5cf2d50f9301011610508b49cf647f6ff9c17d1f1cbce69b584464ddd4d
wf_recorder v0.2.0 — сборщик под ASWF v4 (CRC32/seq/recon)
Сборщик pull-стрима сегментов водопада под формат ASWF v4.
Изменения:
- поддержка v4: per-row CRC32 + глобальный seq сегмента (детект пропусков);
- reconciliation прибор-total vs записано вынесен из integrity_ok (recon_loss/recon_gain — справочно, без ложной тревоги);
- UI контроля целостности: CRC32 ok/bad, seq_gap, recon-счётчики;
- fix арности кортежа payload_rows_durs.
Assets:
- wf_recorder.exe — Windows onefile (PyInstaller), автосбор + шов в единый .aswf.
SHA256: wf_recorder.exe 36e835ade8af0c7a7852add8bb1cfed47636c62b70fc14adc19488b07c74d206
wf_recorder v0.1.1 — fix ASWF v3 parser, ring export
wf_recorder v0.1.1
Bugfix release — исправлены два критических бага парсера ASWF v3.
Исправлено
- baseline в payload (
wf_pull_client.py): при наличии ключа"baseline"в JSON-заголовке v3 байты baseline включались в payload →payload_rows_durs()считала N+1 строку вместо N. Теперьparse_aswf()корректно вычисляетpayload_off = 8 + hlen + baseline_bytes. - неверный offset длительности (
wf_pull_client.py): для ASWF v3 полеdurationчиталось с offsetstride-2 = 16400вместо правильного16384(изrow_fields). Теперь offset берётся изhdr["row_fields"].
Совместимость
Файлы ASWF v1/v2 не затронуты (фоллбэк stride-2 сохранён для старых форматов).
Прочее
Firmware получила GET /api/waterfall/export.aswf — экспорт кольцевого буфера ОЗУ в ASWF v3 напрямую с платы (без baseline, с полем dose_rate).