fc2ブログ

Entries

ワンコインデコーダのソフト更新


 大みそかは紅白のWebラジオを聴きながら、ワンコインデコーダシリーズのソフト改良をしました。

 アセンブラは久しぶりだったので、シミュレータを活用しながら、なんとかデバックを終了。Webに公開をしました。

asm2.png

 技術交流をさせていただいている、Desktop Station の機器類との動作互換性を高めるべく、
 ・DIRECTモードによるCV設定値の変更機能
 ・F0ファンクション出力の方向変更時の即時反映機能
の追加を行いました。

 今までワンコインデコーダシリーズでは、OPSモードとPAGEモードのサポートをしていました。
OPSモードは走行時とパケット解析と手順がほぼ同一であるため、実装が容易であったことから最初にサポートした書き込み方法です。
 その後、Digitrax製品が当時の市場では多数を占めると判断して、Digitraxの標準であるPAGEモードをサポートしました。
PAGEモードは書き込みCV値とデータのパケットが分かれているので、マイコンへのソフト実装が少々面倒だったのですが、前述のとおり、世の中で普及している機器の操作方法の標準的な使い方で互換性を持たせるべく、実装を行った経緯があります。
 今回、DIRECTモードを実装しましたが、PAGEモードのようにパケットが分割されていないことから実装は比較的簡単でした。
ただ、DIRECTモードとPAGEモードの判別に当初悩んだのですが、DIRECTモードが4バイト命令、PAGEモードが3バイト命令であることに注目して、DCCパケットの4バイト目がゼロか否かを判断することで解決しました。

 F0ファンクション出力はファンクション命令のパケットを受信したことをトリガーに処理をしていましたので、速度方向命令の受信のタイミングでは走行方向とライト、テールの方法が不一致となるケースが発生していました。
 これは、コマンドステーションによりファンクション命令の送出頻度やタイミングが異なることに起因しますが、市販のデコーダが速度方向命令を即時に反映しているので、ワンコインデコーダも同じような挙動となるようにソフトを変更した次第です。

スポンサーサイト



この記事にトラックバックする(FC2ブログユーザー)
https://webnucky.blog.fc2.com/tb.php/66-2f8ce2a7

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する