You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// обработка кнопки без сброса событий и вызова коллбэка
520
519
bool tickRaw();
520
+
521
+
// получить пин кнопки
522
+
uint8_t getPin();
521
523
```
522
524
</details>
523
525
<details>
@@ -561,6 +563,12 @@ int8_t tickISR();
561
563
562
564
// функция обработки для вызова в loop
563
565
int8_t tick();
566
+
567
+
// получить пин энкодера
568
+
uint8_t getPinA();
569
+
570
+
// получить пин энкодера
571
+
uint8_t getPinB();
564
572
```
565
573
</details>
566
574
<details>
@@ -612,8 +620,14 @@ bool tick();
612
620
// прочитать значение кнопки с учётом setBtnLevel
613
621
bool readBtn();
614
622
615
-
// прочитать значение энкодера
616
-
int8_t readEnc();
623
+
// получить пин кнопки
624
+
uint8_t getPin();
625
+
626
+
// получить пин энкодера
627
+
uint8_t getPinA();
628
+
629
+
// получить пин энкодера
630
+
uint8_t getPinB();
617
631
```
618
632
</details>
619
633
<details>
@@ -642,9 +656,6 @@ bool tick();
642
656
643
657
// прочитать значение кнопки
644
658
bool readBtn();
645
-
646
-
// прочитать значение энкодера
647
-
int8_t readEnc();
648
659
```
649
660
</details>
650
661
@@ -1116,8 +1127,10 @@ void loop() {
1116
1127
1117
1128
### Одновременное нажатие
1118
1129
Библиотека нативно поддерживает работу с двумя одновременно нажатыми кнопками как с третьей кнопкой. Для этого нужно:
1130
+
1131
+
#### Новый способ (v3)
1119
1132
1. Cоздать специальную кнопку `MultiButton`
1120
-
2. Передать виртуальной кнопке в обработку свои кнопки (это могут быть объекты классов `VirtButton`, `Button`, `EncButton` + их `T`-версии). **Мульти-кнопка сама опросит обе кнопки!**
1133
+
2. Передать виртуальной кнопке в обработку свои кнопки (это могут быть объекты классов `Button` и `EncButton` + их `T`-версии). **Мульти-кнопка сама опросит обе кнопки!**
1121
1134
3. Опрашивать события или слушать обработчик
1122
1135
1123
1136
```cpp
@@ -1137,6 +1150,34 @@ void loop() {
1137
1150
1138
1151
Библиотека сама "сбросит" лишние события с реальных кнопок, если они были нажаты вместе, за исключением события `press`. Таким образом получается полноценная третья кнопка из двух других с удобным опросом.
1139
1152
1153
+
#### Старый способ
1154
+
1. Создать дополнительную виртуальную кнопку
1155
+
2. Вызвать тикеры у отдельных кнопок
1156
+
3. Вызвать тикер у виртуальной кнопки, передав в него отдельные кнопки
1157
+
1158
+
Данный способ не работает с обработчиком - он будет вызван у отдельных кнопок в любом случае
1159
+
1160
+
```cpp
1161
+
Button b0(4);
1162
+
Button b1(5);
1163
+
VirtButton b2; // виртуальная - 1
1164
+
1165
+
void loop() {
1166
+
// тикеры - 2
1167
+
b0.tick();
1168
+
b1.tick();
1169
+
1170
+
// обработка одновременного нажатия двух кнопок - 3
0 commit comments