Tryb konfiguracyjny i różne inputy do wprowadzania parametrów

zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

vajera wrote: Thu May 30, 2024 7:02 pm
Też miałem z tym problem przy zapisywaniu adresów czujników Xiaomi.
W pliku
trzeba poprawić:

Code: Select all

#define SUPLA_LITTLEFS_CONFIG_BUF_SIZE
I zwiększyć wartość z 1024 na np. 2048.
Oczywiście że spróbuję... czyli po prostu dopisać #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048
User avatar
vajera
Posts: 1765
Joined: Wed Oct 31, 2018 7:58 am

Post

zzrr wrote: Thu May 30, 2024 7:07 pm Oczywiście że spróbuję... czyli po prostu dopisać #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048
Tam już jest

Code: Select all

#define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 1024
więc trzeba zmienić to 1024 na większą wartość.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

vajera wrote: Thu May 30, 2024 7:19 pm więc trzeba zmienić to 1024 na większą wartość.

Code: Select all

Compiling .pio\build\d1_mini\src\web_interface.cpp.o
src\web_interface.cpp:56: warning: "SUPLA_LITTLEFS_CONFIG_BUF_SIZE" redefined
   56 | #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048
      |
In file included from src\web_interface.cpp:9:
.pio\libdeps\d1_mini\SuplaDevice\src/supla/storage/littlefs_config.h:24: note: this is the location of the previous definition
   24 | #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 1024
      |
No zobaczymy... Dzięki
User avatar
vajera
Posts: 1765
Joined: Wed Oct 31, 2018 7:58 am

Post

zzrr wrote: Thu May 30, 2024 7:24 pm

Code: Select all

Compiling .pio\build\d1_mini\src\web_interface.cpp.o
src\web_interface.cpp:56: warning: "SUPLA_LITTLEFS_CONFIG_BUF_SIZE" redefined
   56 | #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048
      |
In file included from src\web_interface.cpp:9:
.pio\libdeps\d1_mini\SuplaDevice\src/supla/storage/littlefs_config.h:24: note: this is the location of the previous definition
   24 | #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 1024
      |
Tak się zastanawiam czy to zadziała? Ja zmieniłem to bezpośrednio w pliku littlefs_config.h. Nie pamiętam jak preprocesor przetwarza te makra - globalnie czy na poziomie plików?
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
User avatar
klew
Posts: 11032
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Preprocesor przetwarza to zgodnie z tym jak są include'y zrobione i jak przebiega cały proces kompilacji.
Tutaj powinien aplikować sobie wartość 1024.

Natomiast można w konstruktorze podać tą maksymalną wielkość:

Code: Select all

  explicit LittleFsConfig(int configMaxSize = SUPLA_LITTLEFS_CONFIG_BUF_SIZE);
Także wystarczy w kodzie dać:

Code: Select all

Supla::LittleFsConfig configSupla(3000);
Tylko trzeba pamiętać, że rozmiar tego configa wpływa na zużycie pamięci RAM. Na ESP8266 tej pamięci jest bardzo mało.
Obecnie na githubie leży jeszcze nie wydana wersja supla-device, gdzie powinno się zrobić dodatkowe 3 kB luzu na ESP8266 i ESP32, więc w razie czego można testować tą najnowszą wersję prosto z gita :)
zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

@klew czyli w kodzie zmienić
to
Supla::LittleFsConfig configSupla(3000);
a nie dopisywać #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048

Czyli można to podsumować że można to zrobić tak jak podał @vajera w pliku littlefs_config.h
a jeśli w kodzie to dodając ten argument dla konstruktora tutaj Supla::LittleFsConfig configSupla(3000); tak?
bo faktycznie jak wpisałem #define SUPLA_LITTLEFS_CONFIG_BUF_SIZE 2048 to niby był komunikat że nadpisało ale jakoś tak nie elegancko to wyglądało 8-). No i nie wiem czy w ogóle faktycznie zadziałało.
No i przy okazji jest już v24.5.2
zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

Wemos pomimo powyższych zabiegów znowu wyczyścił flash. Rzecz się dzieje przy którymś tam włączaniu lub wyłączaniu zasilania. Wymieniam go na inny. Ktoś miał coś podobnego i skończyło się po prostu po zamianie urządzenia?
User avatar
klew
Posts: 11032
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

zzrr wrote: Sat Jun 01, 2024 9:22 am Wemos pomimo powyższych zabiegów znowu wyczyścił flash. Rzecz się dzieje przy którymś tam włączaniu lub wyłączaniu zasilania. Wymieniam go na inny. Ktoś miał coś podobnego i skończyło się po prostu po zamianie urządzenia?
Na 99% to nie jest wina urządzenia, tylko coś w sofcie.
Zbierałeś logi? Zostaw go na zbieraniu logów. Tak będzie najłatwiej to znaleźć
zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

klew wrote: Sat Jun 01, 2024 9:35 am Na 99% to nie jest wina urządzenia, tylko coś w sofcie.
Zbierałeś logi? Zostaw go na zbieraniu logów. Tak będzie najłatwiej to znaleźć
Tak, zbierałem. I też mi sie coś nie chce wierzyć że to wina urządzenia. Tylko że jak działa to wszystko jest ok, i to może trwać godzinami. Jak wyłączam mu zasilanie to muszę go od USB i tak odpiąć. A to się dzieje właśnie wtedy. I logów nie ma.
Do kitu jest jak się takie coś nie wyjaśni bo spokoju nie daje a i nie ma pewności dalej że po zmianie będzie lepiej.
Na razie zrobiłem tak że do urządzenia w którym jest min. wemos dałem drugiego a ten oddzielnie też i będę obserwował oba. Zobaczę na którym się powtórzy sytuacja
zzrr
Posts: 569
Joined: Wed Oct 26, 2022 7:35 pm

Post

Powtórzyła się sytuacja na tym drugim Wemosie który podmieniłem. @klew jak byś miał obstawiać na bazie swojego doświadczenia...
- czy to może mieć znaczenie że
Supla::Html::DeviceInfo htmlDeviceInfo(&SuplaDevice);
Supla::Html::WifiParameters htmlWifi;
Supla::Html::ProtocolParameters htmlProto;
są zadeklarowane na początku kodu a nie w setup np dopiero po
SuplaDevice.setSuplaCACert(suplaCACert);
SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert);

Teraz zrobiłem żeby te obiekty były tworzone dopiero po utworzeniu certyfikatów. Ale czy to może mieć wpływ na to że w pewnym momencie wszystko w configu jest czyste?
Dodam że na 100% sytuacja dzieje się przy wyłączaniu lub włączaniu urządzenia. Raczej obstawiałbym start i jakiś problem w trakcie ładowania programu. Po takim przypadku Wemos automatycznie wchodzi w tryb configa i rozgłasza swoją sieć.

Return to “Arduino IDE”