Skip to content

v1.2.1

Latest

Choose a tag to compare

@ilyakruchinin ilyakruchinin released this 29 Aug 16:57
5bc6168

Changelog (since v1.2.0)

New Features

  • LCD info panel mode during therapy
    A new display mode option ("Show info panel during therapy") is now
    available in the web UI alongside the existing live graph and backlight-off
    modes. When selected, the LCD shows a real-time leak rate reading
    (L/min) in a large, colour-coded font — green under 12, yellow 12–24,
    orange 24–36, red 36+ — and a session runtime clock (H:MM) counting
    from therapy start. Both values are rendered at double size for
    readability on the 1.54" display.

Bug Fixes

  • Crash on therapy-stop push notification (alert_routine panic)
    The alert escalation task had a 4 KB stack, which was insufficient for
    the TLS handshake (mbedtls ECDH/curve25519) performed when sending an
    ntfy push notification. The stack overflowed into adjacent PSRAM heap
    metadata, causing a PANIC reboot. Stack increased to 16 KB.

  • Gen1 O2 Ring BLE protocol reliability

    • Fixed the service write-characteristic UUID (two bytes were wrong),
      which prevented communication with some Gen1 O2 Ring firmware
      versions.
    • Gen1 rings are now detected by service UUID in BLE advertisement
      data instead of relying solely on device name matching, eliminating
      false positives with Gen2 devices (e.g. SHQO2Pro).
    • Switched all BLE writes from write-without-response to
      write-with-response, preventing data drops on rings with small ATT
      buffers.
    • Added multi-frame notification reassembly with automatic resync on
      decode errors, improving data integrity during oximetry downloads.
    • Removed unreliable worn-state sensor check (CMD_READ_SENSORS) that
      caused false "device not worn" readings; Gen1 rings advertise only
      when off-finger, making this redundant.

Documentation

  • Expanded README with logo, detailed hardware requirements, and
    clarified ResMed AirSense 11 / O2 Ring device compatibility.
  • Added GitHub badges for OTA firmware download counts.
  • Clarified that no WiFi SD card is needed for wireless therapy data
    transfer.