Storage - czyli przechowywanie danych w urządzeniach

User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

Goral64 wrote: Wed Oct 07, 2020 10:02 am
lukfud wrote: Wed Oct 07, 2020 9:02 am Jeśli domyślnie @klew wstawił 3 minuty, to zero mogłoby wskazywać na tą właśnie wartość ;)
Będę się upierał, że brak wartości powinien przywoływać wartość domyślną :) Podanie jakiejkolwiek innej wartości powinno ustawiać tę wartość pod warunkiem, że jest w prawidłowym przedziale.
Czyli:

Code: Select all

setStateSavePeriod(1000); // 1 sekunda
setStateSavePeriod(0); // błąd (lub też wyłączenie autozapisu statusu)
setStateSavePeriod(); // wartość domyślna 180000 czyli 3 min
Ja patrzę pod kątem dodania metody do GUI, jeśli nic nie wpiszę, to do zmiennej trafi 0 i podstawi się wartość domyślna.
Metody bez żadnej wartości równie dobrze mogłoby nie być w programie.
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: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Wed Oct 07, 2020 10:13 am Ja patrzę pod kątem dodania metody do GUI, jeśli nic nie wpiszę, to do zmiennej trafi 0 i podstawi się wartość domyślna.
Metody bez żadnej wartości równie dobrze mogłoby nie być w programie.

Code: Select all

if (mojaZmienna > 0) {
   storage->setStateSavePeriod(mojaZmienna);
}
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: Wed Oct 07, 2020 10:20 am
lukfud wrote: Wed Oct 07, 2020 10:13 am Ja patrzę pod kątem dodania metody do GUI, jeśli nic nie wpiszę, to do zmiennej trafi 0 i podstawi się wartość domyślna.
Metody bez żadnej wartości równie dobrze mogłoby nie być w programie.

Code: Select all

if (mojaZmienna > 0) {
   storage->setStateSavePeriod(mojaZmienna);
}
No dobrze, tak też może być ;) You WIN.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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,
Mam przekaźnik na pierwszym kanale z możliwością wyboru domyślnego stanu (GUI), a na kolejnym kanale pomiar prądu z zapisem do pamięci.
Jeśli po jakimś czasie używania zmienię domyślny stan z wyłączony na "przywróć" lub odwrotnie to tracę zapamiętany stan zużytej energii.
Czy jest szansa, aby z tego wybrnąć? Czy mógłbyś zmienić metodę zapisu dla licznika energii i licznika impulsów, tak aby te informacje nie były tracone przy ponownym alokowaniu?
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: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Fri Dec 11, 2020 9:27 pm @klew,
Mam przekaźnik na pierwszym kanale z możliwością wyboru domyślnego stanu (GUI), a na kolejnym kanale pomiar prądu z zapisem do pamięci.
Jeśli po jakimś czasie używania zmienię domyślny stan z wyłączony na "przywróć" lub odwrotnie to tracę zapamiętany stan zużytej energii.
Czy jest szansa, aby z tego wybrnąć? Czy mógłbyś zmienić metodę zapisu dla licznika energii i licznika impulsów, tak aby te informacje nie były tracone przy ponownym alokowaniu?
Problem polega na tym, że zmiana typu przycisku (z pamięcią, lub bez), powoduje, że program potrzebuje mniej miejsca w pamięci trwałej na zapisanie danych.
Aktualny zapis jest bardzo prosty - każdy element w swojej kolejce zapisuje odpowiednie dane. Elementy nie posiadają jakiegokolwiek identyfikatora, więc też nie ma na podstawie czego tworzyć powiązań. Z tego powodu, jak zmienisz wielkość zapisywanych danych przez całe urządzenie, to licznik impulsów nie ma pojęcia gdzie są jego dane.
Można by to obejść stosując zawsze rezerwację pamięci na przekaźnik, ale wtedy przekaźniki,w których nie potrzebujemy nic zapamiętywać, też będą zabierać nam eeprom/flash
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: Fri Dec 11, 2020 11:55 pm Można by to obejść stosując zawsze rezerwację pamięci na przekaźnik, ale wtedy przekaźniki,w których nie potrzebujemy nic zapamiętywać, też będą zabierać nam eeprom/flash

Code: Select all

relay->setStaticStorageReservation
Co sądzisz? Byłby wybór :)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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: Fri Dec 11, 2020 11:55 pm
Naciskam :D
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: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

lukfud wrote: Mon Dec 14, 2020 8:56 am
klew wrote: Fri Dec 11, 2020 11:55 pm
Naciskam :D
Dodam, tylko nie wiem kiedy ;)
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: Mon Dec 14, 2020 8:57 am
lukfud wrote: Mon Dec 14, 2020 8:56 am
klew wrote: Fri Dec 11, 2020 11:55 pm
Naciskam :D
Dodam, tylko nie wiem kiedy ;)
Mam nadzieję, że w miarę szybko.
Wydaje mi się, że nie tyko ja z tego skorzystam ;)
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
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

a może jednak pamiętać dane w jakiejś strukturze opisowej? np w json?
Widzimy się na Supla Offline Party Season 2026 :D

Image

Return to “Arduino IDE”