✅ 目的

コントローラが保持しているファームウェア情報(バージョン/モデル名/更新モード/リリース日)を取得します。

デバッグ、バージョン管理、更新判断などに活用できます。


🧩 使用関数・データタイプ

項目 説明
sendRequest() 指定したデータタイプの情報を要求
DataType.Information ファームウェア情報の要求に使用するデータタイプ
setEventHandler() 情報受信時のイベント処理関数を登録

📦 取得できる情報

フィールド 説明
ModeUpdate 現在のアップデートモード
ModelNumber コントローラのモデル番号
Version ファームウェアバージョン情報
ReleaseDate リリース日付(YYYYMMDD形式)
from time import sleep

from CodingRider.drone import *
from CodingRider.protocol import *

if __name__ == '__main__':

    drone = Drone(False)
    drone.open()

    drone.sendRequest(DeviceType.Controller, DataType.Information)

    timeStart = time.time()

    while True:
        sleep(0.01)
        dataType = drone.check()
        
        if dataType == DataType.Information:
            information = drone.getData(DataType.Information)
            print("ModeUpdate: {0}".format(information.modeUpdate))
            print("ModelNumber: {0}".format(information.modelNumber))
            print("Version: {0}.{1}.{2} / {3} / 0x{3:08X}".format(
                information.version.major,
                information.version.minor,
                information.version.build,
                information.version.v))
            print("Release Date: {0}.{1}.{2}".format(
                information.year,
                information.month,
                information.day))
            break

        if time.time() > timeStart + 1:
            break

    drone.close()

📡 コントローラのファームウェア情報要請(イベント関数登録)

🎯 目的

コントローラから以下のファームウェア情報を取得します:

🔧 使用する主な関数・イベント