Zerowanie licznika impulsów przy resecie ESP32

iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Witam,
ktoś pisał niedawno o czymś podobnym, ale nie umiem znaleźć.
Zrobiłem soft min. z licznikiem impulsów.
Liczy impulsy jak należy.
Ale przy resecie ESP lub zasilania licznik się zeruje.
Chciałbym mieć możliwość zerowania stanu np. dobowo (bez wpływu na historię), ale zdecydowanie nie w momencie np. chwilowego braku zasilania ;-(
Soft z GG Krychy88 v.071401.
Czy ktoś pomoże?
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

W GG był domyślnie ustawiony sieć długi czas na zapis stanu, aby uniknąć zużycia flash.
Są metody na s klasie storage, które to ustawiają
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

U mnie wygląda to tak: przyciskiem napykałem 17 impulsów na liczniku. Na stronie widzę "17".
Po 10 minutach i odświeżeniu strony dalej 17 imp.
Robię reset ESP32 i licznik jest zerowany.
W sofcie używam opcji licznika impulsów.
Może ma znaczenie, że zapis stanu jest we FRAM?
FRAM I2C jest widziany pod adresem 0x50 w konfiguracji.
Ale może nie są dane do niego zapisywane?

kawałek kodu dla FRAM:

Code: Select all

/Storage  //MZ
#define FRAM_OFFSET 100
#include <supla/storage/fram_i2c.h> //path: P:\!!-Szkice\PIO\GUI-Generic-071401\lib\SuplaDevice\src\supla\storage\
Supla::FramI2c fram(0x50, FRAM_OFFSET);
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Powinny się pojawiać logi przy zapisie.
Ustaw też ten czas zapisu u siebie. Jeśli używasz GG, to upewnij się że GG tego nie nadpisuje
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Zrobiłem kilka rzeczy po kolei:
1. Pierwszy ESP32 z GG7.14.01 z obsługą FRAM
2. Drugi ESP32, GG7.14.01 bez obsługi FRAM, z opcją licznika impulsów (tylko)
3. Drugi ESP32, GG Builder 7.14.24 tylko z opcją licznika impulsów

W każdym przypadku przyciskiem nabijałem kilka impulsów (ok. 6) i po chwili przyciskiem "EN" resetowałem ESP32.
Po resecie na liczniku w supla.org - "0"
Czyli niezależnie od tego, czy robię soft z GG Krychy, czy z GGB z najnowszej wersji - po resecie zeruje się licznik impulsów.
Kanał licznika impulsów - licznik H20.
Ustawienia w ESP:
Ustawienia dla Licznik impulsów
Podciąganie do VCC
Zbocze rosnące
Limit czasu [ms]. 10
Zmień wartość. 0

Tak jakby coś było nie ok z licznikiem impulsów i resetem niezależnie od sposobu generowania i przechowywania danych.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Jaki masz ustawiony czas zapisu stanu?
Nie pamiętam dokładnie ale wydaje mi się że GG miał tam jakiś długi czas, w stylu 30 min
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

klew wrote: Sat Apr 13, 2024 1:12 pm Jaki masz ustawiony czas zapisu stanu?
Nie pamiętam dokładnie ale wydaje mi się że GG miał tam jakiś długi czas, w stylu 30 min
Gdzie/ Jak mam to sprawdzić?
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Na instancji klasy fram uruchom tą metodę:
https://github.com/SUPLA/supla-device/b ... rage.h#L88

Sprawdź też czy GG tego gdzieś nie ustawia, aby Ci nie przestawiło
Najlepsze suple dla Twojego domu :mrgreen:
iM@rek
Posts: 376
Joined: Thu Feb 09, 2023 1:25 pm

Post

Dziękuję, że mimo soboty chcesz mi pomóc.
Wydaje mi się jednak, że to zerowanie licznika impulsów nie ma nic wspólnego z FRAM.
Jak pisałem, wygenerowałem soft z Buildera online i jest tak samo.
A on nie obsługuje FRAM.
To chyba jakiś problem z licznikiem impulsów.
I proszę odpowiedz na pytanie z poprzedniego postu dot. czasu zapisu stanu.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Włącz moduł, nabij trochę impulsów, poczekaj 1h i wtedy zresetuj.
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Ogólna dyskusja”