|
7 | 7 |
|
8 | 8 | # EncButton
|
9 | 9 |
|
10 |
| -|⚠️⚠️⚠️<br>**Новая версия v3 несовместима с предыдущими, смотри [документацию](#docs), [примеры](#example) и краткий [гайд по миграции](#migrate) с v2 на v3!**<br>⚠️⚠️⚠️| |
11 |
| -| --- | |
| 10 | +| ⚠️⚠️⚠️<br>**Новая версия v3 несовместима с предыдущими, смотри [документацию](#docs), [примеры](#example) и краткий [гайд по миграции](#migrate) с v2 на v3!**<br>⚠️⚠️⚠️ | |
| 11 | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
12 | 12 |
|
13 | 13 | Лёгкая и очень функциональная библиотека для энкодера с кнопкой, энкодера или кнопки с Arduino
|
14 | 14 | - Кнопка
|
|
187 | 187 |
|
188 | 188 | | | VirtButton | VirtEncButton | Button | EncButton |
|
189 | 189 | |-----------------|:----------:|:-------------:|:------:|:---------:|
|
190 |
| -| read | | | ✔ | | |
191 |
| -| readBtn | | | | ✔ | |
192 |
| -| tickRaw | ✔ | ✔ | ✔ | ✔ | |
193 |
| -| setHoldTimeout | ✔ | ✔ | ✔ | ✔ | |
194 |
| -| setStepTimeout | ✔ | ✔ | ✔ | ✔ | |
195 |
| -| setClickTimeout | ✔ | ✔ | ✔ | ✔ | |
196 |
| -| setDebTimeout | ✔ | ✔ | ✔ | ✔ | |
197 |
| -| setBtnLevel | ✔ | ✔ | ✔ | ✔ | |
198 |
| -| pressISR | ✔ | ✔ | ✔ | ✔ | |
199 |
| -| reset | ✔ | ✔ | ✔ | ✔ | |
200 |
| -| clear | ✔ | ✔ | ✔ | ✔ | |
201 |
| -| attach | ✔ | ✔ | ✔ | ✔ | |
202 |
| -| detach | ✔ | ✔ | ✔ | ✔ | |
203 |
| -| press | ✔ | ✔ | ✔ | ✔ | |
204 |
| -| release | ✔ | ✔ | ✔ | ✔ | |
205 |
| -| click | ✔ | ✔ | ✔ | ✔ | |
206 |
| -| pressing | ✔ | ✔ | ✔ | ✔ | |
207 |
| -| hold | ✔ | ✔ | ✔ | ✔ | |
208 |
| -| holding | ✔ | ✔ | ✔ | ✔ | |
209 |
| -| step | ✔ | ✔ | ✔ | ✔ | |
210 |
| -| hasClicks | ✔ | ✔ | ✔ | ✔ | |
211 |
| -| getClicks | ✔ | ✔ | ✔ | ✔ | |
212 |
| -| getSteps | ✔ | ✔ | ✔ | ✔ | |
213 |
| -| releaseHold | ✔ | ✔ | ✔ | ✔ | |
214 |
| -| releaseStep | ✔ | ✔ | ✔ | ✔ | |
215 |
| -| waiting | ✔ | ✔ | ✔ | ✔ | |
216 |
| -| busy | ✔ | ✔ | ✔ | ✔ | |
217 |
| -| action | ✔ | ✔ | ✔ | ✔ | |
218 |
| -| timeout | ✔ | ✔ | ✔ | ✔ | |
219 |
| -| pressFor | ✔ | ✔ | ✔ | ✔ | |
220 |
| -| holdFor | ✔ | ✔ | ✔ | ✔ | |
221 |
| -| stepFor | ✔ | ✔ | ✔ | ✔ | |
| 190 | +| read | | | ✔ | | |
| 191 | +| readBtn | | | | ✔ | |
| 192 | +| tickRaw | ✔ | ✔ | ✔ | ✔ | |
| 193 | +| setHoldTimeout | ✔ | ✔ | ✔ | ✔ | |
| 194 | +| setStepTimeout | ✔ | ✔ | ✔ | ✔ | |
| 195 | +| setClickTimeout | ✔ | ✔ | ✔ | ✔ | |
| 196 | +| setDebTimeout | ✔ | ✔ | ✔ | ✔ | |
| 197 | +| setBtnLevel | ✔ | ✔ | ✔ | ✔ | |
| 198 | +| pressISR | ✔ | ✔ | ✔ | ✔ | |
| 199 | +| reset | ✔ | ✔ | ✔ | ✔ | |
| 200 | +| clear | ✔ | ✔ | ✔ | ✔ | |
| 201 | +| attach | ✔ | ✔ | ✔ | ✔ | |
| 202 | +| detach | ✔ | ✔ | ✔ | ✔ | |
| 203 | +| press | ✔ | ✔ | ✔ | ✔ | |
| 204 | +| release | ✔ | ✔ | ✔ | ✔ | |
| 205 | +| click | ✔ | ✔ | ✔ | ✔ | |
| 206 | +| pressing | ✔ | ✔ | ✔ | ✔ | |
| 207 | +| hold | ✔ | ✔ | ✔ | ✔ | |
| 208 | +| holding | ✔ | ✔ | ✔ | ✔ | |
| 209 | +| step | ✔ | ✔ | ✔ | ✔ | |
| 210 | +| hasClicks | ✔ | ✔ | ✔ | ✔ | |
| 211 | +| getClicks | ✔ | ✔ | ✔ | ✔ | |
| 212 | +| getSteps | ✔ | ✔ | ✔ | ✔ | |
| 213 | +| releaseHold | ✔ | ✔ | ✔ | ✔ | |
| 214 | +| releaseStep | ✔ | ✔ | ✔ | ✔ | |
| 215 | +| waiting | ✔ | ✔ | ✔ | ✔ | |
| 216 | +| busy | ✔ | ✔ | ✔ | ✔ | |
| 217 | +| action | ✔ | ✔ | ✔ | ✔ | |
| 218 | +| timeout | ✔ | ✔ | ✔ | ✔ | |
| 219 | +| pressFor | ✔ | ✔ | ✔ | ✔ | |
| 220 | +| holdFor | ✔ | ✔ | ✔ | ✔ | |
| 221 | +| stepFor | ✔ | ✔ | ✔ | ✔ | |
222 | 222 | </details>
|
223 | 223 |
|
224 | 224 | <details>
|
225 | 225 | <summary>Таблица функций энкодера</summary>
|
226 | 226 |
|
227 | 227 | | | VirtEncoder | Encoder | VirtEncButton | EncButton |
|
228 | 228 | |----------------|:-----------:|:-------:|:-------------:|:---------:|
|
229 |
| -| readEnc | | | | ✔ | |
230 |
| -| initEnc | ✔ | ✔ | ✔ | ✔ | |
231 |
| -| setEncReverse | ✔ | ✔ | ✔ | ✔ | |
232 |
| -| setEncType | ✔ | ✔ | ✔ | ✔ | |
233 |
| -| setEncISR | ✔ | ✔ | ✔ | ✔ | |
234 |
| -| clear | ✔ | ✔ | ✔ | ✔ | |
235 |
| -| turn | ✔ | ✔ | ✔ | ✔ | |
236 |
| -| dir | ✔ | ✔ | ✔ | ✔ | |
237 |
| -| tickRaw | ✔ | ✔ | ✔ | ✔ | |
238 |
| -| pollEnc | ✔ | ✔ | ✔ | ✔ | |
239 |
| -| counter | ✔ | ✔ | ✔ | ✔ | |
240 |
| -| setFastTimeout | | | ✔ | ✔ | |
241 |
| -| turnH | | | ✔ | ✔ | |
242 |
| -| fast | | | ✔ | ✔ | |
243 |
| -| right | | | ✔ | ✔ | |
244 |
| -| left | | | ✔ | ✔ | |
245 |
| -| rightH | | | ✔ | ✔ | |
246 |
| -| leftH | | | ✔ | ✔ | |
247 |
| -| action | | | ✔ | ✔ | |
248 |
| -| timeout | | | ✔ | ✔ | |
249 |
| -| attach | | | ✔ | ✔ | |
250 |
| -| detach | | | ✔ | ✔ | |
| 229 | +| readEnc | | | | ✔ | |
| 230 | +| initEnc | ✔ | ✔ | ✔ | ✔ | |
| 231 | +| setEncReverse | ✔ | ✔ | ✔ | ✔ | |
| 232 | +| setEncType | ✔ | ✔ | ✔ | ✔ | |
| 233 | +| setEncISR | ✔ | ✔ | ✔ | ✔ | |
| 234 | +| clear | ✔ | ✔ | ✔ | ✔ | |
| 235 | +| turn | ✔ | ✔ | ✔ | ✔ | |
| 236 | +| dir | ✔ | ✔ | ✔ | ✔ | |
| 237 | +| tickRaw | ✔ | ✔ | ✔ | ✔ | |
| 238 | +| pollEnc | ✔ | ✔ | ✔ | ✔ | |
| 239 | +| counter | ✔ | ✔ | ✔ | ✔ | |
| 240 | +| setFastTimeout | | | ✔ | ✔ | |
| 241 | +| turnH | | | ✔ | ✔ | |
| 242 | +| fast | | | ✔ | ✔ | |
| 243 | +| right | | | ✔ | ✔ | |
| 244 | +| left | | | ✔ | ✔ | |
| 245 | +| rightH | | | ✔ | ✔ | |
| 246 | +| leftH | | | ✔ | ✔ | |
| 247 | +| action | | | ✔ | ✔ | |
| 248 | +| timeout | | | ✔ | ✔ | |
| 249 | +| attach | | | ✔ | ✔ | |
| 250 | +| detach | | | ✔ | ✔ | |
251 | 251 | </details>
|
252 | 252 |
|
253 | 253 | <details>
|
@@ -1217,22 +1217,29 @@ void loop() {
|
1217 | 1217 | - Объявить соответствующий дефайн перед подключением библиотеки
|
1218 | 1218 | - `EB_CUSTOM_READ` - для своей функции чтения пина
|
1219 | 1219 | - `EB_CUSTOM_UPTIME` - для своего аналога millis()
|
| 1220 | + - `EB_CUSTOM_MODE` - для своего аналога pinMode() |
1220 | 1221 | - Реализовать соответствующую функцию в .cpp или .ino файле
|
1221 | 1222 | - `EB_read` - для своей функции чтения пина
|
1222 | 1223 | - `EB_uptime` - для своего аналога millis()
|
| 1224 | + - `EB_mode` - для своего аналога pinMode |
1223 | 1225 |
|
1224 | 1226 | Пример:
|
1225 | 1227 |
|
1226 | 1228 | ```cpp
|
1227 | 1229 | #define EB_CUSTOM_READ
|
| 1230 | +#define EB_CUSTOM_MODE |
1228 | 1231 | #define EB_CUSTOM_UPTIME
|
1229 | 1232 |
|
1230 | 1233 | #include <EncButton.h>
|
1231 | 1234 |
|
1232 |
| -bool EB_read(const uint8_t pin) { |
| 1235 | +bool EB_read(uint8_t pin) { |
1233 | 1236 | return digitalRead(pin);
|
1234 | 1237 | }
|
1235 | 1238 |
|
| 1239 | +void EB_mode(uint8_t pin, uint8_t mode) { |
| 1240 | + pinMode(pin, mode); |
| 1241 | +} |
| 1242 | + |
1236 | 1243 | uint32_t EB_uptime() {
|
1237 | 1244 | return millis();
|
1238 | 1245 | }
|
@@ -1351,12 +1358,12 @@ EncoderT<enc0, enc1> e(mode); // + режим пинов энкодера (у
|
1351 | 1358 | ```
|
1352 | 1359 |
|
1353 | 1360 | ### Функции
|
1354 |
| -| v2 | v3 | |
1355 |
| -|-----------|--------------| |
1356 |
| -| `held()` | `hold()` | |
1357 |
| -| `hold()` | `holding()` | |
1358 |
| -| `state()` | `pressing()` | |
1359 |
| -|`setPins()`| `init()` | |
| 1361 | +| v2 | v3 | |
| 1362 | +|-------------|--------------| |
| 1363 | +| `held()` | `hold()` | |
| 1364 | +| `hold()` | `holding()` | |
| 1365 | +| `state()` | `pressing()` | |
| 1366 | +| `setPins()` | `init()` | |
1360 | 1367 |
|
1361 | 1368 | - Изменился порядок указания пинов (см. доку выше)
|
1362 | 1369 | - `clearFlags()` заменена на `clear()` (сбросить флаги событий) и `reset()` (сбросить системные флаги обработки, закончить обработку)
|
|
0 commit comments