Podpowiedz proszę, którą linijkę ( linijki ) kodu zmodyfikowałeś.
Chciałbym to również u siebie w GUI-Generic zwiększyć.
Jakie Waszym zdaniem są najlepiej dobrane wartości dla "repeatOnHoldEvery" i "setStep" przy ściemnianiu / rozjaśnianiu ?.klew pisze: ↑wt lut 09, 2021 11:55 am Samo ON_HOLD dostało też niedawno opcję powtarzania (zapomniałem się tym podzielić, poszło tylko na priv do jednego wybrańca ;P ):Da to taki efekt, że kliknięcie przycisku będzie przełączało włączony/wyłączony. Natomiast przytrzymanie będzie wysyłalo ON_HOLD co 200 ms (ustawiane repeatOnHoldEvery). Akcja ITERATE_DIM_RGB będzie zmieniała colorBrightness (czyli jasność dla kanału RGB) o 5 (w zakresie 10-100) z lekką pauzą na 10 i 100. Poza ITERATE_DIM_RGB mamy też dostępny wariant ITERATE_DIM_W (jasność kanału białego oraz dimmer) oraz ITERATE_DIM_ALL (jasność kanałów RGB oraz W)Kod: Zaznacz cały
auto b1 = new Supla::Control::Button(...); b1.setMulticlickTime(200); b1.setHoldTime(400); b1.repeatOnHoldEvery(200); auto rgb = new MyRgb(); b1.addAction(Supla::ITERATE_DIM_RGB, rgb, Supla::ON_HOLD); b1.addAction(Supla::TOGGLE_RGB, rgb, Supla::ON_CLICK_1);
Dodatkowo gdy rgb jest wyłączone, to przytrzymanie przycisku uruchomi go z jasnością 10.
Kod: Zaznacz cały
auto b1 = new Supla::Control::Button (8, true, true);
b1->setHoldTime(2000);// po 2 s od przytrzymania przycisku zostanie wywołane zdarzenie ON_HOLD
b1->setMulticlickTime(400 );// program zlicza kliknięcia i po upływie 400 ms od puszczenia przycisku, wywoła odpowiednią akcję
//przerzuca relay1 włacz-wyłacz , po przytrzymaniu przerzuca realy2
b1->addAction(Supla::TOGGLE, relay_0, Supla::ON_CLICK_1);
b1->addAction(Supla::TOGGLE, relay_1, Supla::ON_HOLD);
auto b2 = new Supla::Control::Button (9, true, true);
b2->setHoldTime(2000);// po 2 s od przytrzymania przycisku zostanie wywołane zdarzenie ON_HOLD
b2->setMulticlickTime(400 );// program zlicza kliknięcia i po upływie 400 ms od puszczenia przycisku, wywoła odpowiednią akcję
//przezuca relay1 włacz-wyłacz , po dwóch kliknieciach przerzuca realay2
b2->addAction(Supla::TOGGLE, relay_2, Supla::ON_CLICK_2);
b2->addAction(Supla::TOGGLE, relay_3, Supla::ON_HOLD);
Ten fragment kodu wygląda poprawnie.WinstonW pisze: ↑pn kwie 12, 2021 3:05 pm Mam pytanie ,chciałbym zastosować obsługę wieloklików ,dokładnie chodzi o przycisk dzwonkowy działający na zasadzie włączy-wyłącz , oraz przycisk przytrzymania ,obecnie posiadam starą wersję supli gdzie na Arduino Mega jest obsługiwane 10 przekaźników wraz z przyciskami.
Kod jaki udało mi sie stworzyć wygląda następująco:
Gdzie to jest.
https://github.com/krycha88/GUI-Generic ... I.cpp#L286
Kod: Zaznacz cały
button->setStep(1);