命令を送信するにあたり、3文字で定義されたヘッダをまず送信し、 それに続いて各構成要素を定められたフォーマットのもと順次送信していきます。
クライアント側では全ての表現を文字列にしてから送信する必要があります。 (バイナリをそのまま送信した場合、意図しない動作をすることがあります。)
なお、コマンドラインが大文字か小文字かは区別されません。 ボーレートは2,000,000を使用してください。
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
DEVICE_ID | デバイス番号の指定 | 0 | 23 | 0埋め,16進数表現,2byte |
VALUE | デバイス出力値の指定 | -2048 | 2047 | 0埋め,16進数表現,3byte |
examples
デバイス10に1000を出力したい場合、送信するコマンドラインは以下の通りです。
$an0a3e8
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
DEVICE_ID | デバイス番号の指定 | 0 | 23 | 0埋め,16進数表現,2byte |
VALUE | デバイス出力値の指定 | -2048 | 2047 | 0埋め,16進数表現,3byte |
examples
デバイス4の初期値に-100した値を出力したい場合、送信するコマンドラインは以下の通りです。
$ad04f9c
Attention!
後方互換性のために$MPも利用可能ですが、非推奨扱いです。
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 読み出しスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
examples
スロット4のモーションを再生したい場合、送信するコマンドラインは以下の通りです。
$pm04
Attention!
後方互換性のために$MSも利用可能ですが、非推奨扱いです。
examples
モーションを停止したい場合、送信するコマンドラインは以下の通りです。
$sm
examples
初期姿勢に移行したい場合、送信するコマンドラインは以下の通りです。
$hp
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 読出しスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
LOOP_COUNT | ループ回数の指定 | 0 | 255 | 0埋め,16進数表現,2byte |
examples
スロット10のモーションを3回再生する関数をプッシュしたい場合、送信するコマンドラインは以下の通りです。
#pu0a03
examples
関数をポップしたい場合、送信するコマンドラインは以下の通りです。
#po
examples
インタプリタを初期化したい場合、送信するコマンドラインは以下の通りです。
#ri
Attention!
非推奨扱いです。version 2.xでは廃止予定なので、基本的に後述の>MH,>MFを使用してください。
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 書き込みスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
NAME | モーション名の指定 | --- | --- | 空白埋め,20byte |
FUNC | 関数の指定 (*1) | 0 | 255 | 0埋め,16進数表現,2byte |
ARG0 | 制御機能に渡す引数0 (*1) | 0 | 255 | 0埋め,16進数表現,2byte |
ARG1 | 制御機能に渡す引数1 (*1) | 0 | 255 | 0埋め,16進数表現,2byte |
FRAME_LENGTH | フレーム総数の指定 | 1 | 20 | 0埋め,16進数表現,2byte |
TRANSITION_TIME_MS | 遷移時間の指定 | 32 | 65535 | 0埋め,16進数表現,4byte |
VALUE[DEVICE_ID] | デバイス出力値の指定 (*2) | -32768 | 32767 | 0埋め,16進数表現,4byte |
(*1) 関数の種類と引数の意味は下表の通りです。
"FUNC"の値 | 機能 |
---|---|
0 | --- |
1 | loop,"ARG0"から"ARG1"までのフレームを無限ループで再生します。 |
2 | jump,再生終了後、"ARG0"のモーションを再生します。 |
(*2) デバイスの個数は現状24個で、全てサーボモータです。
example:
以下のようなモーションをインストールするとします。
タグ | 値 |
---|---|
SLOT | 0 |
NAME | Test |
FUNC | 0 |
ARG0 | 0 |
ARG1 | 0 |
FRAME_LENGTH | 2 |
TRANSITION_TIME_MS | 100 |
OUTPUT[EVEN] | 0 |
OUTPUT[ODD] | -1 |
その際、送信するコマンドラインは以下の通りです。(改行は実際には必要ありません。)
>in
00Test 00000002
0064
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
0064
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 書き込みスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
NAME | モーション名の指定 | --- | --- | 空白埋め,20byte |
FUNC | 関数の指定 (*1) | 0 | 255 | 0埋め,16進数表現,2byte |
ARG0 | 制御機能に渡す引数0 | 0 | 255 | 0埋め,16進数表現,2byte |
ARG1 | 制御機能に渡す引数1 | 0 | 255 | 0埋め,16進数表現,2byte |
FRAME_LENGTH | フレーム総数の指定 | 1 | 20 | 0埋め,16進数表現,2byte |
細かい仕様については、">IN"と同様です。
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 書き込みスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
FRAME_ID | 書き込みフレームの指定 | 0 | 19 | 0埋め,16進数表現,2byte |
TRANSITION_TIME_MS | 遷移時間の指定 | 32 | 65535 | 0埋め,16進数表現,4byte |
VALUE[DEVICE_ID] | デバイス出力値の指定 | -32768 | 32767 | 0埋め,16進数表現,4byte |
細かい仕様については、">IN"と同様です。
example:
関節設定を初期化したい場合に、送信するコマンドラインは以下の通りです。
>js
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
DEVICE_ID | デバイス番号の指定 | 0 | 23 | 0埋め,16進数表現,2byte |
VALUE | 初期値の指定 | -2048 | 2047 | 0埋め,16進数表現,3byte |
example
デバイス0の初期値を100に設定したい場合、送信するコマンドラインは以下の通りです。
>ho00064
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
DEVICE_ID | デバイス番号の指定 | 0 | 23 | 0埋め,16進数表現,2byte |
VALUE | 最大値の指定 | -2048 | 2047 | 0埋め,16進数表現,3byte |
example
デバイス0の最大値を100に設定したい場合、送信するコマンドラインは以下の通りです。
>ma00064
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
DEVICE_ID | デバイス番号の指定 | 0 | 23 | 0埋め,16進数表現,2byte |
VALUE | 最小値の指定 | -2048 | 2047 | 0埋め,16進数表現,3byte |
example
デバイス10の最小値を-1に設定したい場合、送信するコマンドラインは以下の通りです。
>mi0afff
examples
関節設定をダンプしたい場合、送信するコマンドラインは以下の通りです。
<js
その際、以下のような書式のJSONが出力されます。
[
{
"max": <integer>,
"min": <integer>,
"home": <integer>
},
...
]
タグ | 役割 | 最小値(dec) | 最大値(dec) | フォーマット |
---|---|---|---|---|
SLOT | 読出しスロットの指定 | 0 | 89 | 0埋め,16進数表現,2byte |
example
スロット0のモーションをダンプしたい場合、送信するコマンドラインは以下の通りです。
<mo00
その際、motion.jsonと同様な形式のJSONが出力されます。(詳細) ただし、"device"に対応する値はstringではなく、 device_map.jsonで定義されているようなIDのinetegerです。
examples
バージョン情報をダンプしたい場合、送信するコマンドラインは以下の通りです。
<vi
その際、以下のような書式のJSONが出力されます。
{
"device": <string>,
"codename": <string>,
"version": <string>
}