- ブロック間の通信はシリアル通信を採用しています。
- 受信(RxD)と送信(TxD)の2本の信号線で通信
- 個々のブロックに含まれる情報
- UID
- 全てのブロックでユニーク(唯一無二)
- 上位byte, 下位byteの順に送信する (UID_H(1B) -> UID_L(1B))
- RoleID
- ブロックの種類
- UID
- 各ブロックはコマンドを送受信することで、ブロックの情報を伝搬させる。
- 最終的にブロックの全情報はコアブロックに集約される。
| コマンド | 内部名 | 意味等 | プロトコル |
|---|---|---|---|
| 0x0- | 設定 | ||
| 0x01 | COM_RST | ブロックを初期状態にリセットする | 0x01 |
| 0x81 | COM_CFG | ブロックを設定モードにする | 0x81 |
| 0x82 | COM_APL | 設定の内容を適応・保存する(モードの変更、IDの変更など) | 0x82 |
| 0x91 | COM_SET | ブロックの設定を変更する | ※下記「COM_SET」を参照 |
| 0xA- | ブロック探索 | ||
| 0xA0 | COM_ASK | 接続方向に接続されているブロックにIDを尋ねる | 0xA0, 送信元RoleID(1B), 自UID(2B) |
| 0xA1 | COM_RET | 接続方向以外の3方向にIDを知らせる | 0xA1, 送信元RoleID(1B), 送信元UID(2B), 自RoleID(1B), 自UID(2B) |
| 0xA2 | COM_SWC | 分岐/繰り返しブロックの探索方向を変更する | 0xA2, 対象UID(2B), 0x01(True)/0x00(False) |
| 0xD- | データ転送 | ||
| 0xD0 | COM_DAT | コアブロックにデータを転送する | 0xD0, 自UID(2B), データタイプ(1B), データ(1B) |
| 0xD1 | COM_TXD | 指定されたIDにデータを転送する | 0xD1, UID(2B), データタイプ(1B), データ(1B) |
- blocks.md を参照
| データタイプ | 意味 | データの内容 |
|---|---|---|
| 0x01 | LEDの点灯/消灯 | 0x01(点灯) / 0x00(消灯) |
- プロトコル
- 0x91, 種別(1B), ... (各種別ごとに異なる)
| ID | 種別 | 内容 | プロトコル |
|---|---|---|---|
| 0x01 | MODE | 内部モードを変更する | 0x91, 0x01, 新モード(1B) |
| 0x02 | ID | ブロックのRoleID, UIDを変更する | 0x91, 0x02, 新RoleID(1B), 新UID(2B) |
| モード | 内部名 | 意味 |
|---|---|---|
| 0x01 | PRODUCTION | 通常動作モード |
| 0x11 | CONFIG | 設定用モード |
| 0x12 | DEBUG | デバッグモード(受信待機中にLEDが点滅する等) |