ご質問
リンケージモードのように、直接連携ではなくデータを取り出して、任意のモーターで後から再生させたいです。
M5Stackを使って制御しているので、Arduino I2Cで実装できるのが理想です。
回答
ティーチングに関するデータ操作ですが、USB接続(uart)のみで以下のコマンドがあります。
●readMotion(at index: Uint16_t)
ダイレクトティーチングで記憶したモーションを外部出力する
●writeMotionPosition(float position)
外部からモーションの座標を1つ記録する
readMotionの返り値は、コマンドを受け取ってから全ての座標を順番に50ms間隔で返します。
この動作はKeiganMotor側から非同期で行われる為、通信仕様の制限により有線USB(uart)でのみ動作します。
I2Cは基本的にマスターに対する同期的な応答なので上記コマンドの提供はございません。
以下のファイルをご解凍いただき、フォルダ内のExcelシート[新 1-1. TX2]及び[TX2_UART送信データ ]を参照下さい。
https://keigan.zendesk.com/hc/article_attachments/4416554767897/211208_KeiganMotor_USB.zip
●サンプルコード(.NET C# ライブラリ部分のみ。 Windows10 - USB用)