更新: 2026-08-31 19:54
← LJ資料目録に戻る

M5S3LJ2510 · ハード折り返し試験

DMX TX→RX ループバック試験 取扱説明書

⚑ 現場運用ドキュメント

DMX出力(TX)を外部ケーブルで自機の入力(RX)へ折り返し、送った値と受け取った値が ズレなく一致するかを確認する試験。PC・LightJockeyが無くてもM5本体の画面だけで 合否判定できるのが要点。timecode_frame25ms.lj2x(DMXの値そのものに 時刻を埋め込んだ専用データ)を使うと、フレーム単位のタイミングずれまで検出できる。

何を確認するか

DMX配線・M5本体のTX/RX回路・USB経由のデータ受け渡しを通しで、値が化けたり遅れたりしていないか

いつ使うか

新規個体の受入検査、現場での配線トラブル切り分け、ファーム更新後の回帰確認

何が要るか

M5S3LJ2510本体、DMX-BASEユニットのTX-RXを繋ぐ折り返しケーブル、USB接続したPC(データ投入時のみ)

★なぜ「一度パスすれば終わり」ではないか DMXは給電環境の影響を受ける

⚑ 最重要: USB接続そのものがDMXのノイズ源になりうる

DMXは差動信号だが、PC本体のUSB電源スイッチングノイズがDMXの差動ラインへ回り込み、 誤動作の原因になることが本プロジェクトの他機種(CoreS3+PWR-485)で実測・再発確認済み (プロジェクト内の既知トラブルとして記録済み)。M5S3LJ2510自体も 本試験ではデータ投入・トリガのためPCとUSB接続した状態で動かしており、 同じリスクを抱えている点に注意。

典型的な症状パターン

TXが出たり止まったりする / TX HzやRX Hzが安定しない・ 徐々に下がる / 受信側も巻き込まれて信号ロスする / 試験時は問題なくても、 時間が経ってから不安定になる(電源投入直後は正常、というのが典型)。

対処・予防策

ノートPCで作業する場合はACアダプタ(充電器)を外してバッテリー駆動にする (充電器自体がノイズ源になりうる)。据置PCや充電が必須の場合は USBアイソレーター(セパレーター)でDMXライン側をPCから電気的に分離する。 いずれも困難なら、機器側はACアダプタ/バッテリー給電単独とし、 書込み・データ投入時だけUSBを挿し、直後に抜く運用にする。

→ だからこそループバック試験は設置・給電構成を変えるたびに再実施する価値がある。 「机上でPC直結・試験は合格」だけで安心せず、現場の実給電構成(ACアダプタ有無・ 同時に繋ぐUSB機器・ケーブル長)で改めて確認するのが本試験の本来の使い方。

★もう一段上の検証 LJシミュレーターとの同時比較 = システム総合確認

M5単体のTX→RXループバックは「M5本体・配線が正しいか」の確認にとどまる。 これに加えてWindows11の「LJシミュレーター」アプリを同時に動かし、その出力と M5の実測結果を突き合わせることで、LJの本番データ→計算→M5実機再生→実測という チェーン全体(システム総合)を検証できる。

LJシミュレーターとは

実LJ実機を使わずに「LJが出すはずの正しいDMX値」をソフトウェアだけで計算する Windowsアプリ。LJ本体との完全再現試験(W2)に合格済み — 自作シーケンスをLJ実機に 再生させた結果とバイト単位で一致することを確認済み。

何と何を比べるか

①LJシミュレーターが計算した「意図した値」と、②M5がループバック経由で 実測した「実際に出た値」。本ドキュメントの試験(timecode_frame25ms.lj2x)は 合成データだが、実際のLJショーデータ(real_show.lj2x)でも 定常区間100%一致(11567/11567サンプル)を実機検証済み。

なぜ重要か

DMX配線・M5本体だけでなく、LJデータの解釈・変換・USB転送・再生タイミングの 全経路が実機で正しく動くことの証明になる。今後の音楽・映像同期の発展には 必須の下地。

→ 現状はM5単体のタイムコード試験(本ドキュメントの手順)とLJシミュレーター照合 (実LJショーデータでの同期試験)は別々に実施しているが、いずれ同時実行での 比較確認まで発展させる計画。音楽・映像との同期精度を追い込む土台として、 この「DMXが化けず・遅れず届く」という基礎検証がまず固まっていることが前提になる。

手順

1

物理ループバック配線

DMX-BASEユニットのDMX OUT(TX)とDMX IN(RX)をXLR等のDMXケーブルで直結する。

2

試験データをUSB経由でアップロード

PC側から拡張Label210(BEGIN)→211(CHUNK)×N→212(COMMIT)の順で timecode_frame25ms.lj2xを送る。PKG_STATUS応答が ok=1であることを確認。

⚠ アップロードは必ずRX有効化(手順3)より前に行うこと。先にRXを有効化すると COMMITが失敗することがある(実機で確認済みの既知の制約)。
3

RX受信を有効化 → 再生開始

Label 8(RX_ON_CHANGE_REQ)でRXを有効化し、続けて Label 214(REMOTE_TRIGGER)で再生を開始する(GPIO配線不要、 ソフトウェアだけで開始できる)。

4

M5画面が自動でタイムコード試験表示に切り替わる

受信データのマジックバイト(ch1=0xA5, ch2=0x5A)をM5側が自動検出し、 通常のch1-8バーグラフから「TIMECODE TEST」表示へ自動で切り替わる。 操作は不要 — 折り返し配線とデータさえ正しければ自動的に出る。

5

合否を目視確認

CHECKSUMが緑のOK、d(dec-bin)が ほぼ0ms付近で推移していれば正常。

✓ 時々 CHECKSUM NGや大きめのd(dec-bin)が 一瞬出るのは、USB-CDCの帯域上限による間引き(想定内、下記トラブルシューティング参照)。 常時NGが続く場合のみ配線・機体を疑う。

LCD画面シミュレーター 実機と同じ 320×240 等倍フレームバッファ + 実フォント(GLCD 5×7)で再現

tool_cs/LcdSimulator と同じ方式: 実ファームのビットマップフォントをそのまま移植・ 等倍FB(320×240、1ドット=1画素)・整数倍拡大(ニアレストネイバー、ぼかし無し)。 実機カメラ照合(LcdCompare)にそのまま使えるよう等倍PNGを出力できる。

拡大:
表示モード
再生状態

自動切り替えの実写確認 実機カメラ撮影(操作不要・自動で切り替わる)

ループバック配線とデータさえ正しければ、M5側で一切操作せずマジックバイト検出だけで 下記のように自動的に表示が切り替わる。同じ個体・同じカメラ位置で撮影した実写2枚。

切替前 — 通常表示(既定)

起動直後、RXはoff・ch1-8バーグラフは全て0。 WAITING TRIGGERの状態。

切替前: 通常のch1-8バーグラフ表示、RX off

切替後 — TIMECODE TEST(自動検出)

タイムコード試験データをアップロード→トリガ後、RXが ONになりマジックバイトを検出。ch1-8バーグラフの位置に自動で デコード表示が現れる(CHECKSUM OK=緑、RUNNING状態)。

切替後: TIMECODE TEST表示、CHECKSUM OK、RUNNING状態

画面の見方

1

ヘッダー

機種名とホスト接続先(DmxUsbProIF、USB CDC/Serial経由)。

2

TX / RXカード

DMX送受信レート(Hz)。右上ドットは緑=送出中/シアン=受信有効/灰=停止。 RXカードのdropはUSB送信バッファが埋まって捨てたフレーム数(下記トラブルシューティング参照)。

3a

ch1-8バーグラフ(通常時)

受信した先頭8chを棒グラフ化。緑(0-84)/黄(85-169)/赤(170-255)で強さを色分け。

3b

TIMECODE TEST(マジックバイト検出時)

ch11-13(10進 分:秒.センチ秒)を大きく、 ch14-15(2進ミリ秒)・Scene番号・10進2進の差分・ch19チェックサム判定を表示。 これがループバック試験の核心表示。

4

状態バッジ + プログレスバー + 経過時間

タイムテーブル再生の内部状態(WAITING TRIGGER→ RUNNING→DONE)。ch1-8/TIMECODE TEST欄が「実際にDMX線に出た値」、 こちらが「M5が再生しているつもりの内部状態」— 両者が一致していれば正しく動いている証拠になる。

DMXフォーマット早見表 汎用のDMXモニターで見るときはこの表と突き合わせる

ch内容備考
1マジックバイト 0xA5試験データかどうかの判定用。これが無ければ通常DMX/黒みと判断
2マジックバイト 0x5A同上
3基準値 255Grand Master相当。255でなければ以降の値は信用不可
4基準値 128同上
5基準値 16同上
11経過時間・分(10進)ch11-13で「分:秒.センチ秒」
12経過時間・秒(10進)
13経過時間・1/100秒(10進)
14経過ミリ秒 u16 LE・下位byte10進(ch11-13)とは独立した別系統の時刻表現
15経過ミリ秒 u16 LE・上位bytech14+ch15×256 = 経過ms
16Scene/フレーム番号 u16 LE・下位byte0起点
17Scene/フレーム番号 u16 LE・上位byte
19チェックサム= ch11〜18の総和 & 0xFF。不一致 = 受信データが化けている(補間中/破損)
6固定値 1(推定: フォーマットversion)仕様書に明記なし、実データからの推測
7-8フレーム間隔ms u16 LE(推定)25ms版試験データで実測25と一致
9-10総エントリ数 u16 LE(推定)401フレーム版で実測401と一致

ch1-5・11-17・19が正式仕様(実機で100%一致検証済み)。ch6-10は独自の推測で未確定 — 判定にはch19チェックサムだけで足りる。

トラブルシューティング

CHECKSUM NGが時々出る

USB-CDC(115200baud)は519byteのフレームを送るのに約45ms必要だが、DMX受信は約40Hz(25ms間隔)で 更新される。帯域が足りず送信バッファが埋まった分は正しく間引かれる(データ破損ではない)。 RX行のdrop数がこれに対応する。常時NGでなければ正常。

d(dec-bin) が常に大きい

10進(ch11-13)と2進(ch14-15)の値が本来のフレームでも数ms程度食い違うことがある (生成側 LjTimecodeMap.RenderAt のサンプリング特性、調査中)。 ch19チェックサムがOKなら受信自体は正しいので、この差分は参考値として見る。

TIMECODE TESTに切り替わらない

ループバック配線の未接続・断線が最有力。次にRX(Label8)有効化忘れ、アップロードの COMMIT失敗(手順2の警告参照)を疑う。TXカードのHzが動いているのにRXカードが offのままなら配線を確認する。

CHECKSUM NGが続く(常時)

間引きではなく実障害の可能性。DMXケーブル・コネクタの接触不良、 あるいはM5本体のTX/RX回路(半田・コネクタ)を疑う。他の折り返し試験機と 差し替えて切り分ける。