🛰️ PingとAckの送受信について

🔄 概要

コントローラに Ping ****を送信し、Ack(応答) を受け取る通信の例です。


📝 ポイント


🛠️ 活用例

from time import sleep

from CodingDrone.drone import *
from CodingDrone.protocol import *

if __name__ == '__main__':

    drone = Drone(False)
    drone.open()

    drone.sendPing(DeviceType.Controller)

    timeStart = time.time()

    while True:
        sleep(0.01)
        dataType = drone.check()

        if dataType == DataType.Ack:
            ack = drone.getData(DataType.Ack)
            print("{0} / {1} / {2:04X}".format(ack.dataType.name, ack.systemTime, ack.crc16))
            print("T: {0}".format(time.time() - timeStart))
            break;

        # 1秒間応答がない場合、応答確認を抜ける
        if time.time() > timeStart + 1:
            print("Time Over")
            break;

    drone.close()

Pingテスト(イベント関数登録)

🔄 概要