Wsparcie dla liczników z nakładką wM-Bus

[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

@klew podpowiesz mi co (z których klas) się wykonuje w SuplaDevice.Iterate by default, bez dodania żadnych sensorów itp?

Trochę tego jest do przeszukania, a właśnie sprawdziłem, że jak zostawię kod od radia bez SuplaDevice.IterateAlways to działa, więc coś go gdzieś opóźnia/zatrzymuje w jednej z klas, tylko której.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

[email protected] wrote: Thu Dec 21, 2023 5:54 pm @klew podpowiesz mi co (z których klas) się wykonuje w SuplaDevice.Iterate by default, bez dodania żadnych sensorów itp?

Trochę tego jest do przeszukania, a właśnie sprawdziłem, że jak zostawię kod od radia bez SuplaDevice.IterateAlways to działa, więc coś go gdzieś opóźnia/zatrzymuje w jednej z klas, tylko której.
Trudne pytanie ;)
Ogólnie każda klasa dziedzicząca po Supla::Element ma wykonywane metody iterateAlways. A jak jest połączenie z serwerem to dodatkowo iterateConnected.

Czy ten problem występuje na gołej bibliotece? (Bez GG)
Jeśli tak, to podeślij proszę kod, albo daj link do takiego programu to sprawdzę
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Thu Dec 21, 2023 6:07 pm
[email protected] wrote: Thu Dec 21, 2023 5:54 pm @klew podpowiesz mi co (z których klas) się wykonuje w SuplaDevice.Iterate by default, bez dodania żadnych sensorów itp?

Trochę tego jest do przeszukania, a właśnie sprawdziłem, że jak zostawię kod od radia bez SuplaDevice.IterateAlways to działa, więc coś go gdzieś opóźnia/zatrzymuje w jednej z klas, tylko której.
Trudne pytanie ;)
Ogólnie każda klasa dziedzicząca po Supla::Element ma wykonywane metody iterateAlways. A jak jest połączenie z serwerem to dodatkowo iterateConnected.

Czy ten problem występuje na gołej bibliotece? (Bez GG)
Jeśli tak, to podeślij proszę kod, albo daj link do takiego programu to sprawdzę
Sprawdzam to właśnie, dam znać
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Wycięcie SuplaDevice.IterateAlways to tak jakbyś nic nie wykonywał, całe GG się o to opiera.

Czemu nie sprawdzisz tego co pisałem? Trzeba iść od początku coraz dalej aż dojdzie się do problemu. Bez dodatkowych printow będzie ciężko dojść do problemu.
https://gui-generic-builder.supla.io/
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

krycha88 wrote: Thu Dec 21, 2023 6:11 pm Wycięcie SuplaDevice.IterateAlways to tak jakbyś nic nie wykonywał, całe GG się o to opiera.

Czemu nie sprawdzisz tego co pisałem? Trzeba iść od początku coraz dalej aż dojdzie się do problemu. Bez dodatkowych printow będzie ciężko dojść do problemu.
Sprawdziłem, widzę, że problemem jest timing, coś w GG trwa przez co komunikacja z radiem idzie za wolno/nie w odpowiednim momencie.

Jak porównywałem co się dzieje przy obsłudze radia, to widać, że w momencie jak program powinien odczytać z radia cały komunikat (bo przychodzi w kliku ramkach) to przy GG nic nie dostaje.
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

W takim razie spróbuj zrobić to na przerwaniach attachInterrupt i tam wrzuć funkcje task(). Bardzo możliwe, że biblioteka je obsługuje ale nigdy tego nie robiłem.
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Jedyna blokująca operacja to połączenie z serwerem. Potrafi kilka sekund zejść
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

na dziś mam dość ale zawęziłem problem, widzę, że zmiana z :

Code: Select all

Supla::GUI::begin();
na

Code: Select all

 
 Supla::ESPWifi wifi(SSID,PASSWORD);
 SuplaDevice.begin(GUID, SERVER, EMAIL, AUTHKEY);
i wszystko zaczyna działać jak na mojej kompilacji z SuplaDevice - wiem to dokładnie tym jest po wykastrowaniu GG
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

https://github.com/krycha88/GUI-Generic ... UI.cpp#L24

Możesz zakomentować wszystko czego nie potrzebujesz. I zostawić konfiguracje wifi i SuplaDevice.begin. ale ciężko w to uwierzyć, że coś tam coś psuje, może wtedy urządzenie masz w trybie konfiguracji?
https://gui-generic-builder.supla.io/
[email protected]
Posts: 1584
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

No to poszukałem głębiej:
1. @krycha88 Pytanie: czy jak zmienię w pliki *.ini jakąś flagę np. : KEY_ENABLE_GUI to po przebudowaniu wartość zapisana w pamięci powinna się zmienić automatycznie?
2. Zakomentowanie https://github.com/krycha88/GUI-Generic ... 34-L111C34

Code: Select all

Supla::GUI::crateWebServer();
załatwia sprawę, wpadłem na wyłączenie GUI już wcześniej ale nie zwróciłem uwagi, że wartość zapisana w pamięci pozostała jako włączona.

3. Jest możliwość ustawienia jakiejś flagi do GG żeby za każdym "Upload" w VS Code czyścił pamięć?
4. Gdzie są źródła do dokumentacji https://gui-generic-builder.supla.io/guide/ ? Dodał bym i aktualizował opis jak to uruchomić i sparametryzować
Last edited by [email protected] on Fri Dec 22, 2023 11:15 am, edited 1 time in total.

Return to “GUI Generic”