Meridim : Meridim配列の概要



Meridim配列は16bit(2byte)を1要素とした可変長の配列で、
ロボットの状態データやコマンドをコンパクトに格納することができます。
使い勝手のために基本形の長さを[90]と定めており、これをMeridim90と呼びます。
Meridim配列の長さはユーザーが自由に設定できますが、Ethernetの1パケット(1フレーム)に収まるデータ量が1472バイトであることから、目安として Meridim[700] 程度を上限と想定しています。
このシステムの目的はマイコンでのリアルタイム処理であるため、要素数はできるだけコンパクトな方がよいでしょう。

以下にMeridim90を例として、配列の概要を説明します。

Meridim90 配列番号 配列番号キー 説明
index [0] MRD_MASTER マスターコマンド
index [1] MRD_SEQENTIAL シーケンス番号
index [2]-[4] MRD_ACC_X,Y,Z 加速度センサ値
index [5]-[7] MRD_GYRO_X,Y,Z ジャイロセンサ値
index [8]-[10] MRD_MAG_X,Y,Z 磁気コンパス値
index [11] MRD_TEMP 温度センサ値
index [12]-[14] MRD_DIR_ROLL,PITCH,YAW DMP推定方向値
index [15] MRD_CONTROL_BUTTONS リモコンボタン
index [16] MRD_CONTROL_STICK_R リモコン右スティックxy
index [17] MRD_CONTROL_STICK_L リモコン左スティックxy
index [18] MRD_CONTROL_L2R2ANALOG リモコンL2R2アナログ
index [19] MRD_MOTION_FRAMES モーション設定のフレーム数
index [20]-[49] 左系統サーボのコマンドと値
index [50]-[79] 左系統サーボのコマンドと値
index [80]-[87] MRD_USERDATA_xx ユーザー定義用
index [88] MRD_ERROR_CODE エラーコード (index[MSG_SIZE-2])
index [89] MRD_CHECKSUM チェックサム (index[MSG_SIZE-1])