v0.5.3
Pre-release
Pre-release
Changes since v0.5.2
Battery Charge Indicator (LCD)
- Added battery percentage reading via ADC1 (GPIO1) with 200k/100k voltage divider compensation
- Added charger status detection via GPIO3 (active-low when charging)
- Battery icon with percentage text and yellow lightning bolt when charging, displayed on the LCD top row alongside Wi-Fi and AS11 indicators
- Calibrated voltage-to-percentage mapping (3.3V–3.93V → 0–100%)
- Periodic updates every 3 seconds in both normal and SoftAP modes
BLE RX Buffer Improvements
- Moved BLE notification RX buffers to PSRAM to free internal RAM
- Increased RX_BUF_MAX from 4KB to 16KB — fixes truncated settings summaries from large AS11 notifications
SD Card Format Support
- Added sd_storage_format() — unmounts, formats (f_mkfs), remounts, and recreates the directory tree
- Exposed via API for in-field card formatting without removing the card
Session Writer Robustness
- Therapy auto-start now handles SD card not ready gracefully — displays "SD Card Error" warning instead of silently failing
- bsp_display_set_therapy_active(true) only called when session actually starts
Web UI (portal.html)
- Dashboard progress bar: Fixed display:none bug preventing the loading progress bar from appearing; bar now stays visible as a green separator after load completes (no layout jump)
- Double-tap reset: Reduced touch double-tap zoom-reset threshold from 300ms to 200ms to prevent accidental triggers on mobile
HTTP Server Tuning
- max_open_sockets: 10 → 24 to handle parallel dashboard fetches
- recv_wait_timeout: 5s → 2s to proactively close idle connections before browser RSTs
- Enabled TCP keepalive (5s idle / 5s interval / 3 retries) to detect dead connections
- Reduces "error in recv : 104" (ECONNRESET) warnings from browser connection pooling
What needs to be tested
- Battery charging indicator and percentage display on LCD
- Boot without SD card — warning displayed
- Therapy start without SD card — "SD Card Error" warning shown
- Dashboard progress bar visibility during and after data load (no layout jump)
- BLE settings summary no longer truncated
- HTTP server stability under parallel dashboard fetches