Skip to content

v0.3.1

Pre-release
Pre-release

Choose a tag to compare

@ilyakruchinin ilyakruchinin released this 09 Jul 04:45
· 207 commits to main since this release
50c4b1d

Changes since v0.3.0

  • EDF generation overhaul — replaced protobuf event parsing with JSON events.snt stream for EVE/CSL.edf generation. Sessions with invalid timestamps from crash-recovery 0-byte .snt files are now skipped instead of producing corrupt EDF output.
  • Custom NTP server — configurable via WebUI, saved to NVS; overrides DHCP/default servers when set
  • Initial NTP sync enforcement — 3 attempts (~45s), failure triggers screen message + audible alarm (5×1s beeps) + hard reboot
  • ES8311 audio driver — clean-room I2C+I2S implementation for beep tone generation (bsp_audio.c/h)
    • Fixed I2C address (8-bit 0x30 → 7-bit 0x18)
    • Fixed I2S DOUT/DIN pin swap (IO12/IO11)
    • Bus probe with full scan fallback for diagnostics
  • SD card display — condensed free space format
  • Log rotation — increased to 512 KB (4×128 KB), fixed path separator bugs

Upgrade notes for v0.3.1

Recommended actions after upgrading

  1. Recreate EDF files — Use the WebUI action "Recreate EDFs". This
    deletes all existing EDFs in SDCARD/ and regenerates them from the
    .snt stream files using the new JSON event parser. Sessions with
    invalid timestamps (from crash-recovery 0-byte .snt files) are now
    skipped automatically.

    Warning: Recreating EDFs resets the uploader state and triggers a
    full re-upload of all EDF files to SMB/SleepHQ. If you have a large
    session history, this may take a long time and consume significant
    bandwidth.

  2. Delete stale log files — Previous firmware versions wrote log
    files (somnotrace.log.*) to the SD card root. These are now stored
    in /.logs/. The old root-level log files can be safely deleted
    manually to free SD card space.

  3. Configure NTP server (optional) — A custom NTP server can now be
    set via the WebUI WiFi/Timezone page. If set, it overrides DHCP-provided
    and default public NTP servers. This is useful for restricted networks
    or offline setups with a local NTP server.

Notes

  • The initial NTP sync is now mandatory — if it fails after 3 attempts
    (~45s), the device will beep (5×1s), display "NTP Sync Failed", and
    reboot. Ensure your NTP server is reachable.
  • No firmware settings are lost during upgrade (NVS partition preserved).