モータ制御のコマンドは、正転、逆転などモータの動作ごとのコマンドと、レスクロを簡単に動かすための、前進や右折・左折などの専用コマンドに分ける。モータの動作ごとのコマンドは、2byte目にどのモータに対する命令であるかを示す引数をとる。具体的には、各モータに対応するbitが1であれば処理の対象となるようにした。割り当ては次のとおりである。なお、2byte目が0であれば全てのモータが対象となる。
b2 | b1 | b0 |
モータ3(アーム) | モータ2(右クローラー) | モータ1(左クローラー) |
もし接続するモータの数を増やしたい場合は、このプロトコルを拡張し、プログラムを変更する事で、8つまでサポートすることが可能である(ただしマイコンから制御信号を伝える線路があることが前提である)。 モータ制御のコマンドを表6.1と表6.2に示す。表中で、16進表示で「X」と書かれた部分は引数に該当し、「-」と書かれた部分はどのような値が入っても良いことを表す。
1byte目 | 2byte目 | 16進表示 | 機能 | |||
上位4bit | 下位4bit | 上位4bit | 下位4bit | 上位 | 下位 | |
0001 | 0001 | モータの指定 | 0x11 | 0xXX | 正転 | |
0001 | 0010 | 0x12 | 0xXX | 逆転 | ||
0001 | 0011 | 0x13 | 0xXX | ブレーキ | ||
0001 | 0100 | 0x14 | 0xXX | 停止 |
1byte目 | 2byte目 | 16進表示 | 機能 | |||
上位4bit | 下位4bit | 上位4bit | 下位4bit | 上位 | 下位 | |
0001 | 0101 | - | 0x15 | 0x-- | 前進 | |
0001 | 0110 | - | 0x16 | 0x-- | 後退 | |
0001 | 0111 | - | 0x17 | 0x-- | 右折 | |
0001 | 1000 | - | 0x18 | 0x-- | 左折 | |
0001 | 1001 | - | 0x19 | 0x-- | 右回転 | |
0001 | 1010 | - | 0x1A | 0x-- | 左回転 | |
0001 | 1011 | - | 0x1B | 0x-- | 右後ろ | |
0001 | 1100 | - | 0x1C | 0x-- | 左後ろ |