Changes since v0.7.3
New: Customizable device name (mDNS)
- You can now set a custom device name (up to 10 characters) from the web portal settings page
- The device is reachable as
<name>.localon your network instead of having to remember an IP address - The LCD now shows
http://<name>.localinstead of the raw IP address - The name is saved persistently and survives reboots
New: Soft reboot button in Maintenance
- Added a standalone "Soft Reboot" button to the maintenance actions section of the web portal
- Lets you restart the device without pulling power, useful for applying settings or recovering from odd states
Fix: BLE scanning reliability
- Improved how the device handles incomplete or truncated Bluetooth advertisement data from CPAP machines
- Previously, malformed scan responses could cause the device to miss or fail to find the AirSense 11 during pairing; now it manually parses the raw advertisement data and handles scan-response packets more robustly
Fix: Memory and stability improvements
- Moved several large internal buffers to PSRAM (the 8 MB external memory chip) to free up scarce internal RAM
- Added safety bounds on date/time string formatting to prevent buffer overruns
- Fixed a crash that could occur when saving settings: the reboot task that runs after a save had too small a stack (2 KB), causing a stack overflow when logging the reboot message; increased to 4 KB
Fix: Real device names now shown during CPAP pairing
- During Bluetooth scanning, the AirSense 11's advertisement data was being
rejected by the BLE library because of a malformed trailing field, causing
the real device name (e.g. "ResMed 436648") to be lost — you'd only see
a generic "ResMed AS11" label - The device now manually parses the raw advertisement data to salvage the
name field even when the BLE library rejects the packet - Scan responses are now merged so the real name from a second packet
replaces the generic fallback, giving you the actual device identity
during pairing