from time import sleep
from CodingRider.drone import *
from CodingRider.protocol import *
def eventButton(button):
print(button.button)
drone = Drone()
drone.open('COM3')
drone.setEventHandler(DataType.Button, eventButton)
drone.sendPing(DeviceType.Controller)
# プログラムが終了しないようにwhile文を使います。
while True:
sleep(0.01)
ドローンのコントローラ(操縦機)には、いくつかの物理ボタンがあります。
そのボタンが「いつ押されたか」「どのボタンが押されたか」をプログラムで確認することができます。
ボタンの状態を確認するには、次のようにイベントハンドラーを登録します:
drone.setEventHandler(DataType.Button, eventButton)
ここで:
DataType.Button:ボタンのデータタイプ(押されたボタンの状態)eventButton:状態を処理する関数(自分で作成)sendPing() とは?sendPing(DeviceType.Controller) は、**操縦機から現在の状態(ボタンなど)を教えて!**という意味です。eventButton() が呼び出されます。| 項目 | 説明 |
|---|---|
DataType.Button |
ボタンデータタイプ |
eventButton(button) |
ボタンが押されたときに実行される関数 |
sendPing(DeviceType.Controller) |
状態更新のリクエスト(押したボタンを確認するために必要) |