Przycisk/Button z dodatkowymi zdarzeniami (wielokliki, przytrzymanie i inne)

Awatar użytkownika
klew
Posty: 1511
Rejestracja: czw cze 27, 2019 12:16 pm

pn lis 16, 2020 8:52 am

lukfud pisze:
sob lis 14, 2020 7:46 pm
Czy dużym problemem było by dorzucenie akcji na puszczenie przycisku po wykonaniu ON_HOLD ?
Planuję dodać akcje w stylu "ON_LONG_1" .. "9". Wyzwalane byłyby przez przytrzymanie przycisku za pierwszym kliknięciem, a potem już zliczane normalnie, więc "ON_LONG_1" można by używać zamiast "ON_HOLD" - jeśli zależy Ci na wykryciu długiego kliknięcia.
Natomiast po samym "ON_HOLD" jest też wyzwalane zawsze "ON_RELEASE".
lukfud pisze:
sob lis 14, 2020 7:46 pm
Nie jest to doskonałe połączenie, poza tym przy starcie programu wykonuje się akcja na ON_RELEASE.
Jeśli trzymasz przycisk i puszczasz go dopiero jak program wystartuje, to "ON_RELEASE" wydaje się być poprawne.
Natomiast nie powinno się wykonać ON_HOLD - sprawdzę jeszcze ten temat.
lukfud pisze:
sob lis 14, 2020 7:46 pm
Zauważyłem, że bez ustawienia "setMulticlickTime" metoda ON_HOLD nie działa za każdym razem, w sumie działa tylko raz po uruchomieniu programu.
Ok, mogłem to przegapić. Dodam poprawkę.
lukfud pisze:
sob lis 14, 2020 7:46 pm
Kolejna rzecz:
Trzymając przycisk za krótko, czekając na akcję ON_HOLD nie powinna już wykonywać się akcja ON_CLICK_1
W sumie mógłbyś dorzucić ON_CLICK_OR_HOLD - byłoby idealnie.
Co sądzisz?
Czemu nie powinna się wykonać? Aktualnie program zlicza kliknięcia - niezależnie od długości kliknięcia. Jedyny wyjątek jest przy pierwszym przytrzymaniu, gdy przekroczymy czas dla ON_HOLD.
Przy długich czasach "ON_HOLD" to może by można było anulować zliczanie kliknięć, gdy czas przekroczy kilka sekund, ale można np. ON_HOLD ustawić na 1 s i wtedy nie wiem jak rozróżnić te sytuacje.
lukfud
Posty: 647
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pn lis 16, 2020 9:56 am

klew pisze:
pn lis 16, 2020 8:52 am
lukfud pisze:
sob lis 14, 2020 7:46 pm
Nie jest to doskonałe połączenie, poza tym przy starcie programu wykonuje się akcja na ON_RELEASE.
Jeśli trzymasz przycisk i puszczasz go dopiero jak program wystartuje, to "ON_RELEASE" wydaje się być poprawne.
Natomiast nie powinno się wykonać ON_HOLD - sprawdzę jeszcze ten temat.
ON_HOLD się nie wykonuje, tylko samo ON_RELEASE i podczas startu nie trzymam przycisku.
Może połączenie ON_CLICK i ON_RELEASE nie do końca pasuje, sprawdzę to jeszcze dokładnie.

klew pisze:
pn lis 16, 2020 8:52 am
lukfud pisze:
sob lis 14, 2020 7:46 pm
Kolejna rzecz:
Trzymając przycisk za krótko, czekając na akcję ON_HOLD nie powinna już wykonywać się akcja ON_CLICK_1
W sumie mógłbyś dorzucić ON_CLICK_OR_HOLD - byłoby idealnie.
Co sądzisz?
Czemu nie powinna się wykonać? Aktualnie program zlicza kliknięcia - niezależnie od długości kliknięcia. Jedyny wyjątek jest przy pierwszym przytrzymaniu, gdy przekroczymy czas dla ON_HOLD.
Przy długich czasach "ON_HOLD" to może by można było anulować zliczanie kliknięć, gdy czas przekroczy kilka sekund, ale można np. ON_HOLD ustawić na 1 s i wtedy nie wiem jak rozróżnić te sytuacje.
W sumie racja :)
Awatar użytkownika
klew
Posty: 1511
Rejestracja: czw cze 27, 2019 12:16 pm

pn lis 16, 2020 10:07 am

lukfud pisze:
pn lis 16, 2020 9:56 am
ON_HOLD się nie wykonuje, tylko samo ON_RELEASE i podczas startu nie trzymam przycisku.
Może połączenie ON_CLICK i ON_RELEASE nie do końca pasuje, sprawdzę to jeszcze dokładnie.
Ok, przypomniała mi się jeszcze jedna rzecz. Postaram się sprawdzić wieczorem.
elmaya
Posty: 1011
Rejestracja: śr cze 27, 2018 5:48 pm
Lokalizacja: Sevilla

pn lis 16, 2020 10:11 am

Button should use IO to read the state of the Pin.
Awatar użytkownika
klew
Posty: 1511
Rejestracja: czw cze 27, 2019 12:16 pm

pn lis 16, 2020 10:26 am

elmaya pisze:
pn lis 16, 2020 10:11 am
Button should use IO to read the state of the Pin.
Yes, thanks for comment. I'll add it to my list
krycha88
Posty: 896
Rejestracja: pt lis 16, 2018 7:25 am

wt lis 17, 2020 6:55 pm

@klew czy możesz dodać ON_CLICK_10 ? :D Akurat przydało by się do wejścia w tryb konfiguracyjny
Awatar użytkownika
klew
Posty: 1511
Rejestracja: czw cze 27, 2019 12:16 pm

wt lis 17, 2020 9:11 pm

krycha88 pisze:
wt lis 17, 2020 6:55 pm
@klew czy możesz dodać ON_CLICK_10 ? :D Akurat przydało by się do wejścia w tryb konfiguracyjny
Dodane!
krycha88
Posty: 896
Rejestracja: pt lis 16, 2018 7:25 am

śr lis 18, 2020 6:22 am

klew pisze:
wt lis 17, 2020 9:11 pm
krycha88 pisze:
wt lis 17, 2020 6:55 pm
@klew czy możesz dodać ON_CLICK_10 ? :D Akurat przydało by się do wejścia w tryb konfiguracyjny
Dodane!
Dzięki działa bardzo dobrze 8-)
lukfud
Posty: 647
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

czw lis 19, 2020 7:32 am

klew pisze:
wt lis 17, 2020 9:11 pm
krycha88 pisze:
wt lis 17, 2020 6:55 pm
@klew czy możesz dodać ON_CLICK_10 ? :D Akurat przydało by się do wejścia w tryb konfiguracyjny
Dodane!
Nieskromnie przypomnę się odnośnie wielokliku na bistabilnym ;)
Awatar użytkownika
klew
Posty: 1511
Rejestracja: czw cze 27, 2019 12:16 pm

czw lis 19, 2020 7:53 am

lukfud pisze:
czw lis 19, 2020 7:32 am
Nieskromnie przypomnę się odnośnie wielokliku na bistabilnym ;)
Czy chodzi o "ON_CHANGE_AFTER_MULTICLICK" z priva?
Próbuję analizować nasza rozmowę i nie mogę sobie przypomnieć co to miałoby dać ;).
ODPOWIEDZ

Wróć do „Arduino IDE”