Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 lip 2025, o 08:56


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 10 wrz 2013, o 14:56 

    Pomógł: 0

    Mam taki dylemat natury moralno-programistycznej ;).

    W przypadku jeżeli mamy tablicę struktur z ustawieniami kilku urządzeń/wartości (mniejsza o to) to jak lepiej zrobić wybieranie domyślnych ustawień po włączeniu urządzenia?

    Dodać kolejną zmienną w strukturze jako znacznik np. uint8_t default, gdy default == 1 to wtedy ta wartość jest domyślna?
    Czy tworzyć kolejną zmienną która będzie zapisywana osobno w eepromie jako wartość miejsca w tablicy struktur?

    W sumie jedno bajtowa zmienna nie wiele mi powiększy wielkość tablicy w eepromie, czy pamięci bo tylko 10 produktów będzie, co == 10bajtom, co w sumie nie jest żadnym problemem.
    Dodatkowo stosując znacznik default będzie chyba łatwiej tym "zarządzać" kwestia tylko wykrycia czy przypadkiem dwie, albo więcej pozycji w tablicy nie ma ustawionego znacznika default.

    Ktoś ma jakieś pomysły?

    Ogólnie będzie to wyglądało w ten sposób, że są dane w FLASH, jako domyślne powiedzmy dwie pozycje po kilka parametrów, one są ładowane przy pierwszym starcie, lub w przypadku przywracania fabrycznych ustawień do eeproma z flash, następnie mamy znacznik która wartość ma być domyślnie załadowana do ram, tj. na którym zestawie parametrów będzie pracowało urządzenie, w każdej chwili mozna wybrać przez menu, (góra, dół) poszczególne ustawienia zapamiętane w eepromie.
    Dodatkowo musi być możliwość modyfikacji, danych zapisanych w eeprom.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 wrz 2013, o 07:54 

    Pomógł: 0

    Gwyn, czyli co, dać po prostu całkiem osobną zmienną niezależną od struktury, gdzie będzie zapisywana pozycja z domyślnymi ustawieniami?.
    Nie bardzo mam pomysł jak to rozwiązać, by można było bez problemu to zapisywać w eepromie razem z tą strukturą.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 wrz 2013, o 11:41 

    Pomógł: 0

    No w sumie to tablicę struktur.
    No najbardziej mi się podoba to z tym wskaźnikiem..... hmmm tylko jak to zaimplementować w C ;) by przy zapisywaniu tej tablicy struktur, nie było problemu z zapisywaniem tej zmiennej, w sumie w eepromie to za dużo rzeczy nie będzie max 20-30% zajętości.
    Tylko "boję" się operować na zmiennych do eeprom, struktura jest bardziej bezpieczna.
    Jest jakaś metoda w C by się nie przejmować ewentualnym nadpisaniem wartości w eepromie?

    ------------------------ [ Dodano po: 10 minutach ]

    Jeszcze mam jeden dylemat, natury menu ;), bo próbuję zrozumieć, w jaki sposób zrobić obsługę prostą menu, że mamy właśnie te domyślne wartości zapisane w eepromie powiedzmy te 10pozycji, następnie przy normalnym działaniu wybieramy aktualną pozycję klawiszami góra/dół, ale musi być też możliwość korekty po pierwsze głównej wartości, jak również pozostałych parametrów dla każdej struktury w tablicy, a co za tym idzie bezpośredni dostęp do danych.

    By nie mieszać cały czas w eepromie, kopiuję sobie tablicę struktur po uruchomieniu programu do ram, następnie w ram "mieszam". Tylko chwilowo mam to na etapie wybierania jak w "snaku" Mirka, czyli żadnych wskaźników w zasadzie, tylko odwoływania do struktur i if/case wybór zmiana.

    Zastanawiałem się, czy nie dało by się jakoś uniwersalniej tego menu zrobić, tak by zostawały przekazywane parametry do obsługi góra/dół i przy normalnym trybie odpowiadały za wybór nastaw zapamiętanych, a po wejściu w menu nastaw zmieniały po pierwsze którą wartość modyfikować, a potem po wejściu głębiej dodatkowe parametry.
    Z drugiej strony prościej było by nie bawić się tak, tylko zrobić np. możliwość modyfikacji dla każdej pozycji tablicy (dane w strukturze) osobno, czyli na wskaźnikach odwoływać się do poszczególnych pól w strukturze, podmieniać jak by wskaźniki do tych pól w samej obsłudze góra/dół.

    Tylko jak to zwykle bywa, prościej by mi było polutować to niż opisać to za pomocą C ;).



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 wrz 2013, o 12:10 

    Pomógł: 0

    Dzięki, bo wiesz, jak musisz na raz myśleć o dwóch projektach, ogarnąć do nich jeszcze PCB i obsługę programową wifi, to potem człowiek zapomina podstaw ;).

    Chwilowo rzeźbię na uniwersalnej wyświetlacz, bo musi być na piątek, ale może jutro uda mi się przysiąść do tych struktur znowu.



    Góra
      
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO