Storage - czyli przechowywanie danych w urządzeniach

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

Goral64 wrote: Mon Dec 14, 2020 10:08 am a może jednak pamiętać dane w jakiejś strukturze opisowej? np w json?
Ale co to da? Liczniki ani przekaźniki nie posiadają jakiegoś unikalnego identyfikatora, więc po zmianie konfiguracji urządzenie i tak nie zgadnie czego to dotyczy.
Trzeba po prostu pamiętać, o tym aby nie zmieniać konfiguracji kanałów, bo to kasuje pamięć. Ewentualnie przed zmianą trzeba zapisać stany liczników i je ustawić na nowej konfiguracji
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Goral64
Posts: 3258
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie
Has thanked: 2 times
Been thanked: 1 time

Post

klew wrote: Mon Dec 14, 2020 10:35 am Ale co to da? Liczniki ani przekaźniki nie posiadają jakiegoś unikalnego identyfikatora, więc po zmianie konfiguracji urządzenie i tak nie zgadnie czego to dotyczy.
Trzeba po prostu pamiętać, o tym aby nie zmieniać konfiguracji kanałów, bo to kasuje pamięć. Ewentualnie przed zmianą trzeba zapisać stany liczników i je ustawić na nowej konfiguracji
Chodziło mi bardziej o to, że jeśli mamy np. skonfigurowane GUI Generic na 3 DS-y, 1 relay i 1 IC, to jeśli zapiszemy to w jsonie, to przy dodaniu kolejnego DS a tym samym przebudowie kolejności kanałów, będziemy mogli przywrócić zapisany stan relaya i IC, bez względu na którym kanale się pojawią po zmianie.
Widzimy się na Supla Offline Party Season 2026 :D

Image
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

Goral64 wrote: Mon Dec 14, 2020 1:04 pm Chodziło mi bardziej o to, że jeśli mamy np. skonfigurowane GUI Generic na 3 DS-y, 1 relay i 1 IC, to jeśli zapiszemy to w jsonie, to przy dodaniu kolejnego DS a tym samym przebudowie kolejności kanałów, będziemy mogli przywrócić zapisany stan relaya i IC, bez względu na którym kanale się pojawią po zmianie.
DSy nic nie zapisują w obszarze stanu kanałów. Także dodawanie ich nie psuje pamięci.
Jsona nie wrzucę, bo tego raczej się nie ogarnie na arduino mega z kilkoma kB pamięci.
Jak się wcześniej nad tym zastanawiałem, to scenariuszy jest ogromna ilość, a te mające sens to wyjątki.
Ale chętnie wysłucham innych pomysłów i też jeszcze się zastanowię czy da się to jakoś prosto zrobić w miarę uniwersalnie
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

No dobrze, skoro nie ma innych pomysłów, a jsona nie będzie to czekamy (czekam) na flagę stałej rezerwacji ;)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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

lukfud wrote: Wed Dec 16, 2020 1:24 pm No dobrze, skoro nie ma innych pomysłów, a jsona nie będzie to czekamy (czekam) na flagę stałej rezerwacji ;)
Wrzuciłem stałą rezerwację 5 bajtów pamięci na każdy przekaźnik, tak aby zmiana konfiguracji przekaźnika nie wpływała na przechowywane dane.

Jeśli ktoś nie stosował zapisu na niektórych przekaźnikach, to wrzucenie programu z tą zmianą nadpisze cały storage.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

klew wrote: Thu Dec 17, 2020 12:02 pm
lukfud wrote: Wed Dec 16, 2020 1:24 pm No dobrze, skoro nie ma innych pomysłów, a jsona nie będzie to czekamy (czekam) na flagę stałej rezerwacji ;)
Wrzuciłem stałą rezerwację 5 bajtów pamięci na każdy przekaźnik, tak aby zmiana konfiguracji przekaźnika nie wpływała na przechowywane dane.
Jeśli ktoś nie stosował zapisu na niektórych przekaźnikach, to wrzucenie programu z tą zmianą nadpisze cały storage.
Dzięki :)

Czyli.. każdy element dodany do programu będący przekaźnikiem, zawsze zarezerwuje pamięć, niezależnie od jego domyślnego stanu?

A jeśli mając kilka elementów (miernik energii, przekaźnik), dodamy następny np. wirtualny przekaźnik, to co się stanie?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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

Tak, każdy przekaźnik zarezerwuje pamięć.
Jeśli dodajesz nowy kanał, to wszystko zostanie napisane i skasowane.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

klew wrote: Thu Dec 17, 2020 1:08 pm Tak, każdy przekaźnik zarezerwuje pamięć.
Jeśli dodajesz nowy kanał, to wszystko zostanie napisane i skasowane.
Jasne, zwiększanie ilości kanałów nie wchodzi w grę.
Akurat mam licznik energii + przekaźnik z zapisem, to przetestuję wieczorem czy aktualizacja nie wyzeruje licznika :)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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

lukfud wrote: Thu Dec 17, 2020 1:27 pm
klew wrote: Thu Dec 17, 2020 1:08 pm Tak, każdy przekaźnik zarezerwuje pamięć.
Jeśli dodajesz nowy kanał, to wszystko zostanie napisane i skasowane.
Jasne, zwiększanie ilości kanałów nie wchodzi w grę.
Akurat mam licznik energii + przekaźnik z zapisem, to przetestuję wieczorem czy aktualizacja nie wyzeruje licznika :)
Może wyzerować jeśli nie przechowujesz aktualnie stanu oraz czasu załączenia schodowego.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

klew wrote: Thu Dec 17, 2020 1:32 pm
lukfud wrote: Thu Dec 17, 2020 1:27 pm Jasne, zwiększanie ilości kanałów nie wchodzi w grę.
Akurat mam licznik energii + przekaźnik z zapisem, to przetestuję wieczorem czy aktualizacja nie wyzeruje licznika :)
Może wyzerować jeśli nie przechowujesz aktualnie stanu oraz czasu załączenia schodowego.
Pisząc "przekaźnik z zapisem" miałem na myśli przechowywanie stanu. Aktualizacja poszła sprawnie i nie zniszczyła układu pamięci.
Teraz mogę dowolnie zmieniać domyślny stan bez utraty pomiaru.
Dzięki raz jeszcze ;)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl

Return to “Arduino IDE”