DCC-EXのコマンドステーションであるEX CommandStation (EX-CS)にはファームウェアに列車情報(Roster)を登録できます。Rosterを登録しておくと、アドレスやファンクションにラベルをつけることができ、EngineDriverなどのアプリから参照すると車両操作がラベルでできるようになり、非常に便利です。登録作業をするのにファームウェアごと書き込む必要があることだけが面倒なのですが、一度書き込んでしまえば後は簡単に利用できます。
公式情報はこちら : https://dcc-ex.com/big-picture/stage2.html#gsc.tab=0
登録方法
Rosterの登録は myAutomation.h
ファイル上で行います。このファイルは本来は自動制御のためのものなのですが、列車を自動制御するに当たり列車情報があると便利ということでここで列車情報を登録する形になっているようです。
まずは myAutomation.h
ファイルを作ります。自分が販売しているRM-CSO3の場合、 myAutomation.h
はすでに存在しているため追記する形となります。
書き方
実際の登録方法は以下の形になります。
ROSTER(999,"Loco Name","F0/F1/*F2/F3/F4/F5/F6/F7/F8")
- 999 : デコーダアドレス(ショート・ロングを区別する必要はありません)
- “Loco Name” : スロットルアプリに表示される名称。EngineDriverの場合は日本語も利用可能です。
- “F0/F1/….” : ファンクション名称および設定。スラッシュで区切られるごとにファンクション番号が進みます。名称にアスタリスク (*) をつけると押してる間だけタイプのファンクションになります。
一行あたりに一つの列車を登録することができます。一つの列車には一つのデコーダが登録できる形になります。ここで登録した名称がそのままスロットルアプリ側に表示できるため、特にファンクションの名称を登録しておくと車両ごとのファンクションのリストを見ながら操作する…みたいなことが不要になるので非常に便利です。
登録例
OpenSoundにあるSmileSoundDecorder用のキハ40を登録する場合の例です。
ROSTER(3, "キハ40", "ライト/サウンド/*警笛/室内灯/ATS-S/EB/ATC/音量/ジョイント音//フランジ音/*ブザ/*ドア1/*ドア2")
アドレスと列車名については特段の問題はないと思いますので、ファンクションの設定について詳細を説明します。
前述の通り、ファンクション設定は半角スラッシュ区切りで表現し、F0から始まってF28まで設定可能です。ここでは F0
を「ライト」と表示するように設定しています。その流れで F1
を「サウンド」、F2
を「警笛」と表示するようにしています。この時、「警笛」はアスタリスク*からスタートしているため、スロットルアプリでは「押している間だけ」タイプのファンクションとして登録されます。OpenSoundを含め大半のサウンドデコーダの警笛はファンクションが有効な間だけなり続ける挙動になっており、好きな長さで鳴らすことが出来ます。そのため、ON/OFFする操作よりも「押している間だけ」のほうが操作しやすくなるためこのようなオプションをつけています。その後も同様に設定が進みますが、「ジョイント音//フランジ音」とスラッシュが連続している部分が有ります。これは誤記ではありません。ジョイント音が F8
でフランジ音が F10
に割り当てられており、 F9
は割当がありません。割当がないファンクションについては例のように表示を記入しないことで表現します。スロットルアプリ側では割当がないファンクションについてはボタンすら表示されなくなり、誤操作を減らしてくれます。
以上のように割当があるファンクションについて表示名を割り当てることで操作画面に表示されるようになります。もし適当な名前が思い浮かばないようであれば F10 などのファンクション番号をとりあえず記入しておくのでも問題ないと思いますがRoster機能を使う旨味が減ってしまうので何らかの適当な名前を入れておくのが良いと思います。ただし、あまり長い表示名はボタンに収まらなくなるので様子を見ながら使いやすそうな長さに適宜縮めて利用するのが良いと思います。
RM-CS03に登録する場合
RM-CS03には標準で本体ボタンを非常停止として使うための記述が myAutomation.h
に既に記載されています。Rosterを追加するときはその記述の前に追記するだけで問題ありません。
ROSTER(3, "キハ40", "ライト/サウンド/*警笛/室内灯/ATS-S/EB/ATC/音量/ジョイント音//フランジ音/*ブザ/*ドア1/*ドア2")
AUTOSTART
START(0)
DONE
SEQUENCE(0)
AT(39)
PRINT("EMO STOP")
POWEROFF
AT(-39)
FOLLOW(0)
空行は無視されるだけなので、みやすさのために適宜挿入すると便利でしょう。また、このファイル自体はC/C++言語として処理されるため、コメントを記入したい場合は //
から文末までがコメントとなります。
書き込み
myAutomation.h
の準備が終わったらマイコンに書き込む必要が有ります。書き込み方法は取説のファームウェアの項目を参照してください。
EngineDriverから使う
EngineDriverの基本的な使い方については、使い方説明のページを参照してください。
Rosterに登録した情報をEngineDriverから利用するには、列車選択画面を開き、アドレス入力方法を Server Roster
にします。
すると下部にRosterに登録した列車情報の一覧が表示されるので、それをタップして選択します。
するとスロットル画面のファンクション番号表示の部分がRosterに登録した表示名に変更されます。また、割当なしにしたF9と、最後に登録したドア2以降も非表示になっていることがわかります。