ボタン周辺機器¶
Button Peripheral
アプリケーションフローを制御するには、接続されたボタンを使用して、ESP32GPIOを介して読み取ることができます。 このAPIは、sepecifc GPIOを初期化し、ボタンが押されたとき、離されたとき、長時間押されたとき、長押しした後に離されたときなどのボタンイベントに関する情報を取得する関数を提供します。 特定のイベントに関する情報を取得するには、button_dev_add_tap_cb()
またはbutton_dev_add_press_cb()
を使用してコールバック関数を確立します。
To control application flow you may use buttons connected and read through the ESP32 GPIOs. This API provides functions to initialize sepecifc GPIOs and obtain information on button events such as when it has been pressed, when released, when pressed for a long time and released after long press. To get information on particular event, establish a callback function withbutton_dev_add_tap_cb()
orbutton_dev_add_press_cb()
.
アプリケーション例¶
Application Example
このAPIの実装は、recorder/pipeline_raw_httpの例で示されています。
Implementation of this API is demonstrated in recorder/pipeline_raw_http example.
APIリファレンス¶
API Reference
関数¶
Functions
esp_peripheralsのボタンペリフェラルハンドルを作成します。
Create the button peripheral handle for esp_peripherals.
- Note
- この関数によって作成されたハンドルは、
esp_periph_destroy
が呼び出されたときに自動的に破棄されますThe handle was created by this function automatically destroy when
esp_periph_destroy
is called - Return
- espペリフェラルハンドル
The esp peripheral handle
- Parameters
but_cfg
: しかし構成but_cfg
: The but configuration
構造体¶
Structures
ボタン周辺機器の構成。
The Button peripheral configuration.
Public Members
このボタンペリフェラルに使用するGPIOマスクは、BIT(GPIO_NUM)です。例:GPIO_SEL_36 | GPIO_SEL_36
GPIO Mask using for this Button peripheral, it is BIT(GPIO_NUM), ex: GPIO_SEL_36 | GPIO_SEL_36
ミリ秒単位の長押し時間、デフォルトは2000ms
Long press duration in milliseconds, default is 2000ms
列挙¶
Enumerations
周辺ボタンのイベントID。
Peripheral button event id.
Values:
-
PERIPH_BUTTON_UNCHANGE
= 0¶ イベントなし
No event
-
PERIPH_BUTTON_PRESSED
¶ ボタンを押したとき
When button is pressed
-
PERIPH_BUTTON_RELEASE
¶ ボタンを離すと
When button is released
-
PERIPH_BUTTON_LONG_PRESSED
¶ ボタンが押され、
long_press_time_ms
を超えて保持された場合When button is pressed and kept for more than
long_press_time_ms
-
PERIPH_BUTTON_LONG_RELEASE
¶ ボタンを離してイベントPERIPH_BUTTON_LONG_PRESSEDが発生したとき
When button is released and event PERIPH_BUTTON_LONG_PRESSED happened
-