From 0f6fadd1f8415b0fff745ade13e949914082bf7c Mon Sep 17 00:00:00 2001 From: Legolas-2025 Date: Wed, 1 Apr 2026 21:46:11 +0200 Subject: [PATCH] Update README for version 6.2.4 release Updated version number to 6.2.4 and added highlights for the new version, including a critical bug fix related to display refresh at exact hour boundaries. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d6ee800..327a01f 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,16 @@ This project is an Arduino‑IDE‑friendly firmware for the **Seeed XIAO ESP32 - Uses a white LED and an optional presence sensor to give quick visual feedback. - Stores daily price data in **NVS** to survive reboots and reduce API calls. -The latest sketch implements **Version 6.2.3**. +The latest sketch implements **Version 6.2.4**. --- ## Version Highlights +### v6.2.4 - Exact-boundary display refresh bug (critical fix of v6.2.3 update) +- Problem: At the exact top of the hour (e.g., 20:00:00), the display automatically refreshed but showed the PREVIOUS hour's data (19:00). This happened because the "next-boundary" rounding logic in findCurrentPriceIndex() incorrectly excluded the current interval if the time was exactly on the boundary. +- Fix: Simplified findCurrentPriceIndex() to use a robust "last entry <= now" comparison. This ensures the display transitions to the new hour instantaneously at XX:00:00. + ### v6.2.3 - State-based display refresh logic (critical fix of v6.2.2 update) - Problem: Screen would occasionally fail to update if the ESP32 was busy (fetching data or reconnecting WiFi) during the exact 00/15/30/45 minute mark. - Fix: Switched from "Event-Based" (refresh only AT minute X) to "State-Based" (refresh IF current time != last refresh time). This ensures the screen updates immediately even if the device was busy during the transition.