Trafiłeś w sedno
po wycofaniu tych dwóch zmian:
https://github.com/krycha88/GUI-Generic ... 16e1456db3
oraz
https://github.com/krycha88/GUI-Generic ... e32de3bb99
rozmiar na teście 503KB
EDIT: A jednak się pomyliłem i nie na ten plik się popatrzyłem
⚙ [TO DO] Co chcielibyście jeszcze dodać do GUI-Generic? ☕
https://gui-generic-builder.supla.io/
A czy problemem nie są takie miejsca:
https://github.com/SUPLA/supla-device/b ... rs.cpp#L42
??
na produkcji używam biblioteki z przed 4 miesięcy:
https://github.com/krycha88/GUI-Generic ... uplaDevice
na teście wgrałem dzisiaj najnowszą supla-device
https://github.com/SUPLA/supla-device/b ... rs.cpp#L42
??
na produkcji używam biblioteki z przed 4 miesięcy:
https://github.com/krycha88/GUI-Generic ... uplaDevice
na teście wgrałem dzisiaj najnowszą supla-device
https://gui-generic-builder.supla.io/
Oj zapewne. Najlepiej strosować F(string) w Arduino IDE aby zminimalizować miejsce przeznaczone na stringi w kodzie programu.krycha88 pisze: ↑pt sie 19, 2022 9:03 am A czy problemem nie są takie miejsca:
https://github.com/SUPLA/supla-device/b ... rs.cpp#L42
??
The F() macro does two things:
uses PSTR to ensure that the literal string is stored in flash memory (the code space rather than the data space). However, PSTR("some string") cannot be printed because it would receive a simple char * which represents a base address of the string stored in flash. Dereferencing that pointer would access some random characters from the same address in data. Which is why F() also...
casts the result of PSTR() to __FlashStringHelper*. Functions such as print and println are overloaded so that, on receiving a __FlashStringHelper* argument, they correctly dereference the characters in the flash memory.
Widzimy się na Supla Offline Party Season 2
Wziąłem jakiś przykładowy program.
Binarka zbudowana na bibliotece z aktualnego GG:
414453
Na nowej bibliotece bez logów, bez certyfikatów, bez serwera i konfigu
456137
Na nowej z logami:
462397
Dodanie certyfikatów
464781
Dodanie little fs config
474217
Dodanie webserver
508101
Najbardziej zastanawia mnie czemu w tym pierwszym kroku jest taki duży wzrost, bo pozostałe są raczej uzasadnione - dodawane są nowe klasy z dużą ilością danych (certyfikaty, html, css) oraz dodatkowe komponenty/biblioteki są dokładane (little fs, esp server)
Binarka zbudowana na bibliotece z aktualnego GG:
414453
Na nowej bibliotece bez logów, bez certyfikatów, bez serwera i konfigu
456137
Na nowej z logami:
462397
Dodanie certyfikatów
464781
Dodanie little fs config
474217
Dodanie webserver
508101
Najbardziej zastanawia mnie czemu w tym pierwszym kroku jest taki duży wzrost, bo pozostałe są raczej uzasadnione - dodawane są nowe klasy z dużą ilością danych (certyfikaty, html, css) oraz dodatkowe komponenty/biblioteki są dokładane (little fs, esp server)
Widzimy się na Supla Offline Party vol. 2
F(string) oszczędza wyłącznie pamięć RAM i nie ma większego wpływu na wielkość binarki.Goral64 pisze: ↑pt sie 19, 2022 9:06 amOj zapewne. Najlepiej strosować F(string) w Arduino IDE aby zminimalizować miejsce przeznaczone na stringi w kodzie programu.krycha88 pisze: ↑pt sie 19, 2022 9:03 am A czy problemem nie są takie miejsca:
https://github.com/SUPLA/supla-device/b ... rs.cpp#L42
??
Nowe kompilatory dla ESP automatycznie robią to co robi makro F() dla wszystkiego co jest "const char". Stąd nie bawiłem się w dodawanie tych F() do kodu HTML, bo nie miało to wypływu na ilość RAM-u.
Poza tym, ten kod html jak nie jest używany w programie, to kompilator to wycina. Możecie sobie spróbować skompilować jakiś program, a następnie wyrzucić ten plik protocol_parameters.cpp - kompilacja przejdzie, rozmiar binarki będzie identyczny.
Widzimy się na Supla Offline Party vol. 2
Ja w GG nie korzystam z LittleFS a ze starego spiffs. Więc może dodanie już samej biblioteki do kompilacji tyle zajmuje?
https://gui-generic-builder.supla.io/
Coś tu jest
Bez pliku little fs config cpp
472621
Z plikiem little fs config cpp, ale bez użycia w kodzie
498665
Widzimy się na Supla Offline Party vol. 2
Kiedyś jak próbowałem zmniejszyć rozmiar binarki to o dziwo ale konstrukcje typu
const char test[] PROGMEM = "test"
czy
#define test "test"
pomimo, że nie było nigdzie wykorzystane powiększało rozmiar.
const char test[] PROGMEM = "test"
czy
#define test "test"
pomimo, że nie było nigdzie wykorzystane powiększało rozmiar.
https://gui-generic-builder.supla.io/