25-12-2018, 22:11
Odkąd zacząłeś się dzielić kodem z arduino robisz wyświetlanie to z tym:
do {
cośtamcośtam
} while (u8g.nextPage());
I masz takich pętli sporo. No to chcesz by coś się wykonywało dopóki nie trzeba zmienić ekranu jak rozumiem. Nic więcej w tym czasie nie działa. Ja się właśnie uczę pisać menu i robię to tak, że odświeżam ekran co określony czas lub natychmiast jeśli coś się zmieniło. Natomiast pętla główna programu działa nieprzerwanie. Wchodzę do jednej funkcji, która ma odświeżyć ekran i albo to robi, albo natychmiast wychodzi. Nawet jeśli był wciśnięty jakiś przycisk i weszło do menu to od razu odpalam zliczanie czasu i po 10s bez naciśnięcia niczego sam wraca na ekran główny programu, po 30s wyłącza również podświetlenie. Tu jest bardzo fajnie zrobione menu: https://starter-kit.nettigo.pl/2017/04/m...aczu-16x2/. Może zrobisz na bazie tego? A tu jeszcze inne, wszystko możesz sobie wygenerować na stronce: http://www.cohesivecomputing.co.uk/hacka...u-library/ i całość jest wczytana do flash, zamiast RAM, co pozostawia sporo miejsca na własny program. To od Nettigo zżera RAM za szybko przy większym menu. Jest też menu backend opisane tutaj https://forum.arduinopolska.pl/watek-san...2asne-menu i na majsterkowo: https://majsterkowo.pl/forum/tutoriale-f...t1549.html. Menu bardziej rozbudowane to dla mnie na razie czarna magia. Swoje proste to modyfikacji paru parametrów jednak napisałem w taki sposób by nic nie blokowało - nawet jak wejdę do menu to dalej odczytywane są wszystkie stany/temperatury/działa komunikacja, tylko ekran pokazuje, że możesz sobie coś tam edytować.
do {
cośtamcośtam
} while (u8g.nextPage());
I masz takich pętli sporo. No to chcesz by coś się wykonywało dopóki nie trzeba zmienić ekranu jak rozumiem. Nic więcej w tym czasie nie działa. Ja się właśnie uczę pisać menu i robię to tak, że odświeżam ekran co określony czas lub natychmiast jeśli coś się zmieniło. Natomiast pętla główna programu działa nieprzerwanie. Wchodzę do jednej funkcji, która ma odświeżyć ekran i albo to robi, albo natychmiast wychodzi. Nawet jeśli był wciśnięty jakiś przycisk i weszło do menu to od razu odpalam zliczanie czasu i po 10s bez naciśnięcia niczego sam wraca na ekran główny programu, po 30s wyłącza również podświetlenie. Tu jest bardzo fajnie zrobione menu: https://starter-kit.nettigo.pl/2017/04/m...aczu-16x2/. Może zrobisz na bazie tego? A tu jeszcze inne, wszystko możesz sobie wygenerować na stronce: http://www.cohesivecomputing.co.uk/hacka...u-library/ i całość jest wczytana do flash, zamiast RAM, co pozostawia sporo miejsca na własny program. To od Nettigo zżera RAM za szybko przy większym menu. Jest też menu backend opisane tutaj https://forum.arduinopolska.pl/watek-san...2asne-menu i na majsterkowo: https://majsterkowo.pl/forum/tutoriale-f...t1549.html. Menu bardziej rozbudowane to dla mnie na razie czarna magia. Swoje proste to modyfikacji paru parametrów jednak napisałem w taki sposób by nic nie blokowało - nawet jak wejdę do menu to dalej odczytywane są wszystkie stany/temperatury/działa komunikacja, tylko ekran pokazuje, że możesz sobie coś tam edytować.
Miło być decenianym https://buycoffee.to/kaczakat