BIDS_Server(v011b)公開のお知らせ
とうとう7月も終わりに近づき、大抵の小中学校や高校は夏休みに入ったのではないでしょうか?高専や大学はまだもう少しあるんですかね。
てか、まだ梅雨が明けないんですね。去年が早すぎただけっぽいですが。(参考 tenki.jp)
さてさて。。。今回は(今回も)ソフトウェアのベータ版公開のお知らせです。最近アルファ版かベータ版しか公開してない気がする…
今回のベータ版は「BIDS_Server」です。
BIDS_Serverとは
BVEからBIDS Shared Memory経由でデータを読み取り、専用の通信モジュール(mod)を用いて外部にそれを送信するためのソフトウェアです。Command Line User Interfaceを採用しております。
同一方式による複数接続に対応するため、接続はListで管理されます。また、一部機能に関しては複数スレッドを活用した並列処理を採用しており、処理遅延を軽減させる工夫を施しております。
使い方
はじめに
- ダウンロードしたファイルを解凍する
- readmeファイルを開き、注意事項やライセンスを確認する
- BIDS_Server_v011bフォルダを適当な(任意の)場所にコピーする
- 移動させたBIDS_Server_v011bフォルダを開き、「BIDS_Server.exe」ファイルと、「mods」フォルダが存在することを確認する
以上が使用前準備です。なお、シリアル通信に関しても通信モジュールとして提供しているため、「mods」フォルダに「TR.BIDSsv.serial.dll」ファイルが存在しない場合、シリアル通信が利用できません。誤って消去してしまわないようご注意ください。
使用時
- BIDS_Server.exeを実行する
- 「lsmods」コマンドを実行し、使用したい通信モジュールのモジュール名を確認する(任意)
- 該当するモジュール名(シリアル通信モジュールの場合は「serial」)を入力し、オプションを設定したのちにEnterを押して確定させる。
なお、各モジュールのBuild in解説に関しては、「man (モジュール名)」を実行することで表示させることができます。
例として、COM9ポートを用いてシリアル通信を開始する場合の画面表示を以下に示します。
通信終了の方法は、以下の通りです。
- lsコマンドを実行し、接続の名前を確認する(任意)
- 「close (接続名)」を実行し、通信を終了する。
なお、closeコマンドをオプションなしで実行した場合、有効なすべての接続が切断されます。
ソフトウェア自体を終了したいときは、「exit」コマンドを実行してください。なお、exitコマンドを実行すると、自動ですべての接続が切断されます。
通信を開始し、終了する流れを以下に示します。
なお、exitコマンド実行後は、「Please press any key to exit…」とあるように何らかのキーの押下によって完全なソフトウェアの終了がなされます。
通信モジュール開発について
TR.IBIDSsv.dllに定義されたIBIDSsv Interfaceを継承するクラスに機能を実装することで、開発者は自由に通信モジュールを開発することができます。
BIDS_Serverでモジュールを選択する際には、ファイル名をピリオドで区切った内の後ろから2番目を指定します。
例 : 「TR.BIDSsv.serial.dll」であれば、「serial」がモジュール名
なお、拡張子が「dll」でないファイルは読み込み対象外となりますので、ご注意ください。
詳細については、仕様の確定後に解説いたします。
注意事項
- Beta Releaseであるため、不具合がある可能性があります。
- 通信モジュールは自由に開発することができますが、仕様が固まっているわけではないため、将来的に仕様が変更される可能性があります。
- 複数の接続を作ることができますが、各接続の名前はきちんと設定してください。BIDS_Serverは名前の重複を自動で修正しません。
- Byte Arrayによる情報の送受信機能は実験段階です。特に、Byte ArrayのAutoSend機能に関しては、未実装扱いとさせていただきます。
動作要件
.Net Framework 4.7.2が動作するOSであれば、すべての機器で動作するものと思われます。BIDS_Server, TR.BIDSsv.serial.dllとも、ターゲットフレームワークとして.Net Framework 4.7.2を指定しております。
ライセンス
本ソフトウェアはMITライセンスの下で自由に使用することができます。
未搭載機能
以下に、将来的に実装を予定しているものの現時点で実装を行っていない機能を示します。
- 設定ファイルによる、接続の自動起動
- Byte ArrayのAutoSend機能(仮実装中)
ダウンロード
内容物
今回同梱するすべてのファイルは、MITライセンスの下で自由に使用することができます。
- BIDS_Server.exe
- ソフトウェア本体です。
- TR.BIDScs.dll
- C#からBIDS Shared Memoryを扱いやすくするために開発中のライブラリです。
- TR.BIDSSMemLib.CtrlIOcs.dll
- BVEに対する操作を記録するためのShared Memory領域にアクセスするためのライブラリです。
- TR.BIDSSMemLib.rw.dll
- BVEから出力される情報群のためのShared Memory領域に読み書きを実行するためのライブラリです。
- TR.BIDSSMemLib.structs.dll
- BIDSSharedMemoryで使用する、汎用的な(ライブラリ間で共有する必要のある)構造体を定義/実装しています。
- TR.BIDSsv.dll
- 通信モジュールを管理/制御するためのライブラリです。
- (開発者向け)このライブラリを使用することで、GUIを持つソフトウェアの開発も行えます。
- TR.IBIDSsv.dll
- 通信モジュールの規格(インターフェース)を定めたライブラリです。
- mods/TR.BIDSsv.serial.dll
- 通信モジュールの一つで、シリアル通信を実装しています。
公開場所
諸事情により、ファイル群はTech Otterにて公開しております。GitHubでの公開ではありませんので、ご注意ください。
なお、ソースコードに関してはGitHub上で公開しております。
追記① : BVE側のライブラリ群について書くのを忘れてました。BVE5の入力側と出力側, openBVEの出力用PIそれぞれこちら(GitHub)で公開しておりますので、ご利用ください。
更新履歴
2019年 7月24日 新規公開(v011b), 追記①
ディスカッション
コメント一覧
まだ、コメントがありません