Dual_Button Unit

支持以下产品:

Dual_Button

Micropython Example:

 1import os, sys, io
 2import M5
 3from M5 import *
 4from unit import DualButtonUnit
 5
 6
 7dual_button_0_blue = None
 8dual_button_0_red = None
 9
10
11def dual_button_0_blue_wasClicked_event(state):  # noqa: N802
12    global dual_button_0_blue, dual_button_0_red
13    print(dual_button_0_blue.isHolding())
14
15
16def setup():
17    global dual_button_0_blue, dual_button_0_red
18
19    M5.begin()
20    Widgets.fillScreen(0x222222)
21
22    dual_button_0_blue, dual_button_0_red = DualButtonUnit((36, 26))
23    dual_button_0_blue.setCallback(
24        type=dual_button_0_blue.CB_TYPE.WAS_CLICKED, cb=dual_button_0_blue_wasClicked_event
25    )
26    print(dual_button_0_blue.isHolding())
27
28
29def loop():
30    global dual_button_0_blue, dual_button_0_red
31    M5.update()
32    dual_button_0_blue.tick(None)
33
34
35if __name__ == "__main__":
36    try:
37        setup()
38        while True:
39            loop()
40    except (Exception, KeyboardInterrupt) as e:
41        try:
42            from utility import print_error_msg
43
44            print_error_msg(e)
45        except ImportError:
46            print("please update to latest firmware")

UIFLOW2 Example:

example.png

dual_button_core_example.m5f2

class DualButton

Constructors

class DualButton(IO1, IO2)

创建一个DualButton对象.

参数是:
  • IO1,IO2 定义两个按键引脚。

UIFLOW2:

init.png

Methods

Dual_Button.isHolding()

参数是:

UIFLOW2:

get_status.png

Dual_Button.setCallback()

当按下键时执行程序。

UIFLOW2:

setCallback.png

Dual_Button.tick()

轮询方法,放在loop函数里面,不断检测按键的状态。

UIFLOW2:

tick.png