USB(仮想UART)経由のプロトコル

この章を読みやすいHTMLページで表示します。

「インターフェースとプロトコル」の「USB(仮想UART)経由のプロトコル」の章を、HTMLページとして再現したものです。不明な点がありましたら、次を開いてください:この章だけの元のPDF(56〜85ページ)(左上にも固定表示)。目次:全章。

ストリーミング用の「Marvelmind」プロトコル

次に記載されているすべてのパケットは、該当セクション(UART用)に記載のもので、USB(仮想UART)経由でも利用できます。

なお、これらのデータは、Mini-TX、および「UART Cable for Mini-Rx」を使用しないMini-RXでも利用できます。

Marvelmindデバイスが要求を受信すると、ストリーミングは5秒間停止します。対象となる要求:このプロトコルによる要求。

ユーザーデバイスとのデータ読み書きのプロトコル

次に記載されているすべてのパケットは、該当セクション(UART用)に記載のもので、USB(仮想UART)経由でも利用できます。

なお、これらのデータは、Mini-TX、および「UART Cable for Mini-Rx」を使用しないMini-RXでも利用できます。

NMEA0183通信プロトコル

次に記載されているすべてのパケットは、該当セクション(UART用)に記載のもので、USB(仮想UART)経由でも利用できます。

なお、これらのデータは、Mini-TX、および「UART Cable for Mini-Rx」を使用しないMini-RXでも利用できます。

Marvelmindデバイスが要求を受信すると、ストリーミングは5秒間停止します。対象となる要求:このプロトコルによる要求。

USBインターフェース経由のモデムとのデータ交換プロトコル

このプロトコルは、Dashboardソフトウェアと、次の章で説明するMarvelmind APIで使用されています。

モデムは、CDCクラスのUSBデバイスとしてUSBホストに接続します(Windowsでは仮想COMポート、LinuxではttyUSBまたはttyACM)。

このインターフェースでは実際のRS-232は使用しないため、ホスト側で設定するシリアルポートのパラメーター(ボーレート、ビット数、パリティなど)は任意で構いません

データはバイナリ形式です

USB経由で接続したデバイスの「ネットワークアドレス」:0xff

複数バイトの数値は下位バイトから送信されます(リトルエンディアン形式)

最新の座標パックの読み出し(ファームウェアV5.13以降)

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x4110

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

0xc004

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x64

3

100 (0x64)

100バイト

データ構造(下記参照)

103

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

データフィールドのフォーマット(100バイト)

オフセット

サイズ(バイト)

説明

0

96 (6*16)

モデムが受信した最新6件の座標構造体(下記参照)

96

1

フラグバイト:

ビット0…1:予約

ビット2:1 = ユーザーデータあり(セクション12を参照)

ビット3…7:予約

97

3

予約済み

座標構造体のフォーマット(16バイト)

オフセット

サイズ(バイト)

説明

0

1

デバイスのアドレス

1

4

X座標、mm(int32_t)

5

4

Y座標、mm(int32_t)

9

4

Z座標、mm(int32_t)

13

1

フラグバイト:

ビット0:1 – 有効な座標なし(Dashboardの赤色モード)

ビット1:1 – 固定されたマップ上の一時的なモバイルビーコン(青色モード)

ビット2:1 – ビーコンはモバイルビーコンの測位に使用されている

14

2

予約済み(0)

モデム設定の読み出し/書き込み:モデム設定の読み出し(ファームウェアV5.30以降)

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x5000

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

0x0550

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x30

3

0x30

構造体

データ構造(下記参照)

0x33

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

モデム設定の書き込み

警告!モデム設定を書き込むには、まず設定を読み出し、次のセクションで説明するデータフィールドを設定してから書き込む必要があります。構造体のその他のバイトは変更しないでください。モデムの動作が低下するおそれがあります

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x5000

4

2

uint16_t

アクセスモード

0x0000

6

1

uint8_t

送信データのバイト数

0x30

7

0x30

構造体

データ構造(下記参照)

0x37

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

データコード

0x5000

4

2

uint16_t

予約済み

6

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

モデム設定データの構造

データ構造の多くのフィールドは説明していません。これらのフィールドは変更しないでください!Dashboardプログラムからシステムを調整するために使用されており、許可なく変更するとモデムの動作が低下するおそれがあります

オフセット

サイズ(バイト)

型

説明

0

20

20バイト

説明なし

20

1

int8_t

気温の設定値Vt(符号付き)。

温度は(Vt+23)°C

21

1

uint8_t

マップ座標がX=0、Y=0となるべきビーコンのアドレス

22

4

4バイト

説明なし

26

1

uint8_t

マップ座標がX>0、Y=0となるべきビーコンのアドレス

27

1

uint8_t

マップ座標がY>0となるべきビーコンのアドレス

28

1

uint8_t

制御フラグ:

ビット0:説明なし

ビット1:1 – モバイルビーコンの移動のフィルタリングを有効化

ビット2:説明なし

ビット3:1 – 高分解能モード(座標をcmではなくmmで出力)

ビット4:説明なし

ビット5:1 = マップ全体をミラーリング

ビット6:1 = 省電力モード(省電力は、すべてのサブマップが固定されている場合にのみ機能します)

ビット7:説明なし

29

2

2バイト

説明なし

31

1

uint8_t

N:モバイルビーコンの座標を取得する最大頻度を決定

F(N)= 2^(N-1) Hz、N= 0…4、

F(5)= 12 Hz、F(6)= 16 Hz、F(7)= 16+(最大)

32

16

16バイト

説明なし

サブマップ設定の読み出し/書き込み

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

サブマップ設定の読み出し(ファームウェアV5.30以降)

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x60XX(XXはサブマップの番号)

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x50 (80)

3

80

構造体

データ構造(下記参照)

83

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

サブマップ設定の書き込み(ファームウェアV5.30以降)

警告!サブマップ設定を書き込むには、まず設定を読み出し、次のセクションで説明するデータフィールドを設定してから書き込む必要があります。構造体のその他のバイトは変更しないでください。モデムの動作が低下するおそれがあります

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x60XX(XXはサブマップの番号)

4

2

uint16_t

アクセスモード

0x0000

6

1

uint8_t

送信データのバイト数

0x50 (80)

7

80

構造体

データ構造(下記参照)

87

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

データコード

0x5000

4

2

uint16_t

予約済み

6

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

サブマップ設定データの構造

データ構造の多くのフィールドは説明していません。これらのフィールドは変更しないでください!Dashboardプログラムからシステムを調整するために使用されており、許可なく変更するとモデムの動作が低下するおそれがあります

オフセット

サイズ(バイト)

型

説明

0

1

uint8_t

サブマップを構築する際の開始ビーコンのアドレス

1

1

uint8_t

制御ワード:

ビット0:1 – サブマップは固定済み(サブマップを固定)

ビット1:1 – ビーコンがモバイルビーコンより高い位置にある

ビット2…4:説明なし

ビット5:1 – サブマップをミラーリング

ビット6…7:説明なし

2

1

uint8_t

距離の制限:

ビット0…6:距離の手動制限値(ビット7 = 1の場合)

ビット7:0 – 自動制限、1 = 手動

3

13

13バイト

説明なし

16

2

int16_t

サブマップのXシフト、cm

18

2

int16_t

サブマップのYシフト、cm

20

2

uint16_t

サブマップの回転、0.01度単位

22

58

58バイト

説明なし

デバイスのスリープ/ウェイクアップ

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0xb006

4

2

uint16_t

アクセスモード

ウェイクアップの場合:0x0002

その他:0x0001

6

1

uint8_t

送信データのバイト数

0x08

7

1

uint8_t

パスワード、バイト0

0x2d

8

1

uint8_t

パスワード、バイト1

0x94

9

1

uint8_t

パスワード、バイト2

0x5e

10

1

uint8_t

パスワード、バイト3

0x81

11

1

uint8_t

コマンド:

0 – 標準スリープ

1 – ディープスリープ(HWリセットでのみウェイクアップ)

2 – 標準スリープからのウェイクアップ

3…255 – 予約

0…2

12

3

3バイト

予約済み

15

2

uint16_t

CRC-16(付録1を参照)

ウェイクアップコマンドの応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

データコード

0xb006

4

2

uint16_t

予約済み

6

2

uint16_t

CRC-16(付録を参照)

スリープコマンドの応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類(モデムの応答)

0x7f

2

2

uint16_t

データコード

0xb006

4

2

uint16_t

予約済み

6

2

uint16_t

バイト0…5のCRC-16(付録1を参照)

8

1

uint8_t

デバイスのアドレス

0x01…0xfe

9

1

uint8_t

パケットの種類

0x10

10

2

uint16_t

データコード

0xb006

12

2

uint16_t

予約済み

14

2

uint16_t

バイト8…13のCRC-16(付録を参照)

エラー応答のフォーマットは付録2で説明しています。

デバイスのアドレスの設定

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x0101

4

2

uint16_t

アクセスモード

0x0000

6

1

uint8_t

送信データのバイト数

0x02

7

1

uint8_t

データ項目のコード(アドレス)

0x00

8

1

uint8_t

デバイスの新しいアドレス

9

2

uint16_t

CRC-16(付録1を参照)

測定された生の距離の読み出し

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

このコマンドは2つのモードで使用できます:

  • データコード0x4000 – 最新の8件の距離を読み出します。応答フレームには、要求時点での最新8件の測定距離が含まれます
  • データコード0x4001 – すべての距離をフレームごとに読み出します。要求のたびに、応答フレームには保存されている次の8件の測定距離が含まれます。距離テーブル全体の送信が終わると、最初から繰り返します

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x4000 または

0x4001

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x28

3

40 (0x28)

40バイト

データ構造(下記参照)

43

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

データフィールドのフォーマット(40バイト)

オフセット

サイズ(バイト)

説明

0

32 (8*4)

8件の生の距離構造体(下記参照)

32

8

予約済み

距離構造体のフォーマット(4バイト)

オフセット

サイズ(バイト)

説明

0

1

超音波受信器のアドレス

1

1

超音波送信器のアドレス

2

2

デバイス間の測定距離、mm(uint16_t)

ビーコンの状態の読み出し(ファームウェアV5.33以降)

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x0003

4

2

uint16_t

アクセスモード

0x0002

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x20

3

32

32バイト

データ構造(下記参照)

35

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

データフィールドのフォーマット:

オフセット

サイズ(バイト)

型

説明

0

4

uint32_t

リセットまたはウェイクアップからの動作時間(秒)

4

1

uint8_t

R:無線RSSIレジスターの値(受信信号強度インジケーター)。

R>128の場合:RSSI (dBm) = ( (R-256)/2) – 74

R<=128の場合:RSSI (dBm) = (R/2) – 74

5

1

uint8_t

説明なし

6

1

int8_t

測定温度Vt(符号付き)。温度は(Vt+23)°C

7

2

uint16_t

ビット0…11:電源電圧、mV

ビット12…13:説明なし

ビット14:1:電力低下。デバイスはまもなくスリープに入ります

ビット15:1:電力の著しい低下。デバイスはまもなくディープスリープに入ります

9

23

23バイト

説明なし

Marvelmindロボットの制御コマンド

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

ロボット制御コマンド

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

ロボットのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x1000

4

2

uint16_t

アクセスモード

0x0001

6

1

uint8_t

送信データのバイト数

0x10

7

16(0x10)バイト

uint8_t

ロボット制御データ(下記参照)

23

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類(モデムの応答)

0x7f

2

2

uint16_t

データコード

0x1000

4

2

uint16_t

予約済み

6

2

uint16_t

バイト0…5のCRC-16(付録1を参照)

8

1

uint8_t

ロボットのアドレス

0x01…0xfe

9

1

uint8_t

パケットの種類(ロボットの応答)

0x10

10

2

uint16_t

データコード

0x1000

12

2

uint16_t

予約済み

14

2

uint16_t

バイト8…13のCRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

ロボット制御データのフォーマット:

オフセット

サイズ(バイト)

型

説明

0

1

uint8_t

制御モード:

0 – 制御なし(待機モード)

1 – モーター出力制御

2 – 速度制御

3 – 移動プログラムの書き込み

4 – 移動プログラムの一時停止

5 – 一時停止後の移動再開

1

1

uint8_t

操作コード:

0 – 前進

1 – 後退

2 – 時計回りに回転

3 – 反時計回りに回転

4 – 指定時間の一時停止(モード3用)

5 – 移動プログラムを最初から繰り返す(モード3用)

6 – 座標で指定した地点へ移動(モード3用)

7 – 移動速度の設定(モード3用)

2

1

uint8_t

制御バイト1:

モード1の場合:モーター出力、%

モード2の場合:移動速度、%

モード3の場合:プログラムのステップ番号(0から開始)

3

2

Int16_t

プログラム用データ(モード3):

操作コード0または1:移動距離、cm

操作コード2または3:回転角、度

操作コード4:一時停止時間、ms

操作コード6:移動目標のX座標、cm

操作コード7:移動速度、%

5

1

uint8_t

モード3の場合:プログラムの総ステップ数。

6

2

int16_t

プログラム用の追加データ(モード3):

操作コード6:移動目標のY座標、cm

8

2

int16_t

操作コード6:移動目標のZ座標、cm

10

6

6バイト

予約済み(0)

この複雑なコマンドについての補足です。

ロボット制御構造体のバイト0では、主に3つのロボット制御モードを指定します:

  • 出力制御(モード1)
  • 速度制御(モード2)
  • プログラムによる移動(モード3)

モード1とモード2は、主にテスト用です。モード1では、ロボットは選択したモーター出力で前進、後退、左右の回転を行います。モード2でも同じ動作を行いますが、選択した速度を保つように出力を調整します。出力または速度は構造体のバイト2で、移動の種類はバイト1で設定します。

モード4とモード5は、プログラム実行中に移動を一時停止し、一時停止後に移動を再開するための特殊なコマンドです。

複雑な軌跡で移動させるための主なモードは、モード3です。

このモードでは、組み合わせることで軌跡を構成する基本動作のシーケンスを、ロボットにプログラムできます。シーケンスの各項目は、この種類のコマンド1つで送信します。各コマンドには、ロボット制御構造体のバイト2に現在のステップ番号を、バイト5に総ステップ数を含める必要があります。

ロボット制御構造体のバイト1では、基本動作の種類を指定します。基本動作のパラメーターは、「プログラム用データ」(バイト3…4)と「プログラム用の追加データ」(バイト6…7)のフィールドで指定します。

つまり、次の基本動作を使用できます:

  • 指定した距離だけ前進する。
  • 指定した距離だけ後退する。
  • 指定した角度だけ時計回りに回転する。
  • 指定した角度だけ反時計回りに回転する。
  • 指定した時間だけ一時停止する。
  • 移動プログラムを最初の項目から再開する(ループ動作用)。
  • Marvelmindナビゲーションシステムの座標で指定した地点(X、Y)へ移動する。
  • 移動速度を変更する。

ロボットは、基本動作のシーケンスを受信した後にプログラムの実行を開始します。プログラムの実行が終わると、ロボットは停止します。ただし、プログラムに操作コード5(最初から繰り返す)の項目が含まれる場合は、停止コマンドを受信するか新しいプログラムがアップロードされるまで、プログラムがループで繰り返し実行されます。

ロボットの停止

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

ロボットのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x403

4

2

uint16_t

アクセスモード

0x0001

6

1

uint8_t

送信データのバイト数

0x04

7

4バイト

4バイト

予約済み(0)

0

11

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類(モデムの応答)

0x7f

2

2

uint16_t

データコード

0x403

4

2

uint16_t

予約済み

6

2

uint16_t

バイト0…5のCRC-16(付録1を参照)

8

1

uint8_t

ロボットのアドレス

0x01…0xfe

9

1

uint8_t

パケットの種類(ロボットの応答)

0x10

10

2

uint16_t

データコード

0x403

12

2

uint16_t

予約済み

14

2

uint16_t

バイト8…13のCRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

このコマンドは、ロボットの移動や移動プログラムの実行を終了させるだけのものです。ロボットは停止し、新しいコマンドを待ちます。

デバイス制御設定の読み出し/書き込み(ファームウェアV6.01以降)

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

デバイス制御設定の読み出し

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス(ビーコン/モデム)

0x01…0xfe または 0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x1201

4

2

uint16_t

アクセスモード

0x0001

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

モデムに要求を送信した場合は0x03

ビーコンに要求を送信した場合は0x7f

2

1

uint8_t

送信データのバイト数

0x10

3

16

構造体

データ構造(セクション9.3を参照)。

モデム(0xff)に要求を送信した場合のみ有効

11

2

uint16_t

バイト0…10のCRC-16(付録1を参照)

ビーコンに要求を送信した場合は、次のデータを受信します

13

1

uint8_t

デバイスのアドレス

0x01…0xfe

14

1

uint8_t

パケットの種類

0x03

15

1

uint8_t

送信データのバイト数

0x08/0x10

16

16

構造体

データ構造(下記参照)。

32

2

uint16_t

バイト12…22のCRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

デバイス制御設定の書き込み

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス(ビーコン/モデム)

0x01…0xfe または 0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x1201

4

2

uint16_t

アクセスモード

0x0001

6

1

uint8_t

送信データのバイト数

0x10

7

16

構造体

データ構造(下記参照)

23

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

モデムに要求を送信した場合は0x03

ビーコンに要求を送信した場合は0x7f

2

2

uint16_t

データコード

0x1201

4

2

uint16_t

予約済み

6

2

uint16_t

バイト0…5のCRC-16(付録1を参照)

ビーコン(アドレス0x01…0xfe)に要求を送信した場合は、次のデータを受信します

8

1

uint8_t

デバイスのアドレス

0x01…0xfe

9

1

uint8_t

パケットの種類

0x10

10

2

uint16_t

データコード

0x1201

12

2

uint16_t

予約済み

14

2

uint16_t

バイト8…13のCRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

制御設定のペイロードデータのフォーマット

オフセット

サイズ(バイト)

型

説明

0

1

uint8_t

フラグ:

ビット0…5:説明なし。常に0にしてください!

ビット6:0 – 固定ビーコンモード、1 – モバイルビーコンモード

ビット7:予約(0)

1

1

uint8_t

UARTボーレートの設定:

0:500000 bps(デフォルト値)

1:4800 bps

2:9600 bps

3:19200 bps

4:38400 bps

5:57600 bps

6:115200 bps

7…255:予約

2

1

uint8_t

予約済み(0)

3

1

uint8_t

ビット0…3:無線プロファイル:

0:38.4 kbps

1:150 kbps

2:500 kbps

3…7:予約

ビット4…6:無線周波数帯:

0:433 MHz

1:868 MHz

2:915 MHz

3:315 MHz

4…7:予約

ビット7:予約

4

1

uint8_t

UART/USB出力の種類:

0:Marvelmindプロトコル

1:NMEA0183

5

1

uint8_t

NMEA0183モードで送信するNMEAフレームのマスク:

ビット0:1 – $GPRMCフレームを送信

ビット1:1 – $GPGGAフレームを送信

ビット2:1 – $GPVTGフレームを送信

ビット3:1 – $GPZDAフレームを送信

ビット4…7:予約(0)

6

1

uint8_t

このモバイルビーコンからモデムへ送信するユーザーペイロードデータのバイト数(0…32)

7

1

uint8_t

「IMU via modem」モードでモデムへ送信するIMUデータのマスク:

ビット0:IMUフュージョンの位置

ビット1:クォータニオン

ビット2:速度

ビット3:加速度

ビット4:生の加速度計データ

ビット5:生のジャイロデータ

ビット6:生のコンパスデータ

ビット7:0 = IMUフュージョンを送信、1 = 生のIMUを送信

8

1

uint8_t

ビット0…6:テレメトリーのストリーミング間隔(0 = ストリーミングなし)

ビット7:予約(0)

9

1

uint8_t

ビット0:速度の算出にIMUを使用

ビット1…7 – 予約(0)

10

6

6バイト

予約済み(0)

警告!無線で接続されたビーコンの無線プロファイルを変更すると、無線接続が失われます。プロファイルを切り替える必要がある場合は、すべてのビーコンの無線プロファイルを1台ずつ順に切り替えてから、モデムの無線プロファイルを切り替えてください。数秒後には、すべてのビーコンが新しい無線プロファイルで利用可能になります。

ネットワーク内のデバイスリストの読み出し(ファームウェアV6.01以降)

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x31xx(xxはデバイスグループの番号)

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x72

3

1

uint8_t

ネットワーク内のデバイスの総数(K)

4

112

112バイト

ネットワーク内のデバイス情報の構造体0…16個(説明は下記参照)

116

1

uint8_t

予約済み

0x00

117

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

ネットワーク内のデバイスに関するデータのフォーマット(7バイト)

オフセット

サイズ(バイト)

説明

0

1

デバイスのアドレス(0x01…0xfe)

1

1

ファームウェアのメジャーバージョン

2

1

ファームウェアのマイナーバージョン

3

1

ビット0…5:デバイスの種類:

10:車輪型ロボット

12:クローラー型ロボット

22:Beacon HW V4.5

23:Beacon HW V4.5(モバイルビーコンモード)

24:モデム(HW V4.5/4.9)

30:Beacon HW V4.9

31:Beacon HW V4.9(モバイルビーコンモード)

32:Mini-RXビーコン

36:Mini TXビーコン(HW V5.07)

37:Industrial-TXビーコン

41:Industrial-RXビーコン

42:Super-Beacon

43:Super-Beacon(モバイルビーコンモード)

44:Industrial Super-Beacon

45:Industrial Super-Beacon(モバイルビーコンモード)

ビット6:1 – このアドレスのデバイスが複数存在する

ビット7:1 – スリープモード

4

1

ファームウェアの第2マイナーバージョン

ファームウェアバージョンの読み出し

対応ハードウェア:

Super-Beacon:対応

Industrial Super-Beacon:対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):対応

Mini-TX:対応

Mini-TX-2:対応

Modem HW4.9:対応

Beacon HW4.9:対応

Beacon HW4.5:対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

デバイスのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0xfe00

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x08

3

1

uint8_t

ファームウェアのマイナーバージョン

4

1

uint8_t

ファームウェアのメジャーバージョン

5

3

3バイト

予約済み

8

1

uint8_t

デバイスタイプID

9

2

uint16_t

予約済み

11

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

ユーザーデータの読み出し

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

2

uint16_t

パケット内のデータコード

0x0004

4

2

uint16_t

アクセスモード

0x0000

6

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x03

2

1

uint8_t

送信データのバイト数

0x84

3

1

uint8_t

ユーザーデータの総サイズ

4

3

3バイト

予約済み(0)

7

128

uint8_t

モバイルビーコンからのユーザーデータ

135

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

モバイルビーコンからのユーザーデータは、次の構造を持つレコードのシーケンスです:

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モバイルビーコン(hedgehog)のアドレス

H

1

1

uint8_t

モバイルビーコンからのユーザーデータのバイト数

M

2

M

uint8_t

モバイルビーコンHからのMバイトのデータ

デバイス位置の手動書き込み

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

ビーコンのアドレス

0x01…0xfe

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x5003

4

2

uint16_t

アクセスモード

0x0002

6

1

uint8_t

送信データのバイト数

0x20

7

32

構造体

データ構造(下記参照)

39

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

データコード

0x5003

4

2

uint16_t

予約済み

6

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

データ構造のフォーマット:

オフセット

サイズ(バイト)

型

説明

値

0

4

int32_t

X座標、mm

4

4

int32_t

Y座標、mm

8

4

int32_t

Z座標、mm

12

1

uint8_t

説明なし

0xff

13

4

int32_t

説明なし

0

17

4

int32_t

説明なし

0

21

4

int32_t

説明なし

0

25

1

uint8_t

説明なし

0x02

26

6

6バイト

予約済み

0

ビーコン間距離の手動書き込み

対応ハードウェア:

Super-Beacon:非対応

Industrial Super-Beacon:非対応

Modem HW5.1:対応

Super-Modem:対応

Mini-RX(バッジ、ヘルメットなど):非対応

Mini-TX:非対応

Mini-TX-2:非対応

Modem HW4.9:対応

Beacon HW4.9:非対応

Beacon HW4.5:非対応

要求フレームのフォーマット(ホストからモデムへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

パケット内のデータコード

0x4003

4

2

uint16_t

アクセスモード

0x0000

6

1

uint8_t

送信データのバイト数

0x10

7

16

構造体

データ構造(下記参照)

23

2

uint16_t

CRC-16(付録1を参照)

応答フレームのフォーマット(モデムからホストへ)

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

モデムのアドレス

0xff

1

1

uint8_t

パケットの種類

0x10

2

2

uint16_t

データコード

0x4003

4

2

uint16_t

予約済み

6

2

uint16_t

CRC-16(付録1を参照)

エラー応答のフォーマットは付録2で説明しています。

データ構造のフォーマット:

オフセット

サイズ(バイト)

型

説明

値

0

1

uint8_t

1番目のビーコンのアドレス

1

1

uint8_t

2番目のビーコンのアドレス

2

4

uint32_t

ビーコン間の距離、mm

6

10

10バイト

予約済み

0

トップへ戻る