- Zmieniono Status z Nowy na Zamknięty
Wprowadzono pełną obsługę zdalnej konfiguracji częstotliwości nadawania oraz cykli pomiarowych czujnika cząstek stałych z poziomu interfejsu WWW Odbiornika (RX). Zmiany obejmują zarówno logikę synchronizacji danych, jak i optymalizację zarządzania energią w Nadajniku (TX).
Szczegóły zmian:
1. Komunikacja i Konfiguracja (Shared & RX):
DataTypes: Rozszerzono strukturę AckPayload o pola txInterval oraz pmsInterval w celu przesyłania konfiguracji z RX do TX w pakiecie potwierdzenia.
WebInterface: Dodano pola w zakładce "Ustawienia" do definiowania interwału nadawania (min. 60s) oraz krotności cykli pomiaru PMS5003.
SettingsMgr: Zaktualizowano obsługę zapisu/odczytu JSON o nowe zmienne.
2. Odbiornik (RX Logic):
Dynamiczny Timeout: Zastąpiono statyczny czas oczekiwania na dane (RX_DATA_TIMEOUT_MS) wartością obliczaną dynamicznie na podstawie aktualnego interwału TX. Zapobiega to fałszywym alarmom o utracie sygnału przy długich czasach uśpienia.
Dynamiczne Wykresy (JS): Zaktualizowano logikę renderowania wykresu "Jakość Połączenia" (Dense Chart). Oś czasu oraz mechanizm detekcji awarii (czerwone linie) uwzględniają teraz zmienny interwał nadawania, zachowując poprawność historyczną danych.
3. Nadajnik (TX Logic):
Pamięć RTC: Dodano zmienne currentSleepInterval, currentPmsInterval oraz nextTxTime do pamięci RTC_DATA_ATTR, aby zachować harmonogram i ustawienia po wybudzeniu z Deep Sleep.
Smart Sleep (Rain Logic): Wdrożono inteligentne dosypianie po wybudzeniu przez deszcz. Jeśli do planowego nadawania pozostało >10s, układ wraca do snu na pozostały czas (eliminacja dryfu czasu i nadmiarowych transmisji).
Logika PMS5003: Uzależniono włączanie lasera czujnika pyłu od licznika wybudzeń (pmsWakeupCounter), co pozwala na rzadsze pomiary (oszczędność energii) przy częstym nadawaniu innych parametrów.
Zabezpieczenie Baterii: Zmodyfikowano funkcję calculateSleepDuration. W stanach krytycznych/niskiego napięcia system wybiera teraz dłuższy czas snu spośród (Ustawienie Użytkownika vs. Czas Awaryjny), aby zapobiec drenażowi baterii przy błędnej konfiguracji.