Skip to content

Releases: VibeEngineering-LLC/wf-recorder

wf_recorder v0.2.1 — #REC-14 авто-ротация файла шва при смене формата прошивки

Choose a tag to compare

@Verter73 Verter73 released this 11 Jul 20:41

Первый релиз в выделенном репозитории. Инструмент вынесен из
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)

Choose a tag to compare

@Verter73 Verter73 released this 11 Jul 20:46

Сборщик 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

Choose a tag to compare

@Verter73 Verter73 released this 11 Jul 20:46

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 читалось с offset stride-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).


ASWF format spec (EN) · Demo page