Skip to content

Releases: Tralsys/BIDSSMemLib

BveEX対応、バグ修正

22 Dec 15:32
31eb611
Compare
Choose a tag to compare

AtsEXがBveEXになったため、こちらも改称しました。

併せて、ArrayExtenderとの併用でクラッシュしてしまう不具合も修正しました。ご迷惑をおかけしました🙇

BIDSSMemLib AtsEX版リリース🎉

28 Dec 10:48
0de44a4
Compare
Choose a tag to compare

BIDSSMemLibは、今まで車両データのATSプラグインにBIDSSMemLibプラグインを追加することで機能を実現していました。
ただ、この方法だと車両への改造が必要になってしまうため、あまり使いやすい状態ではありませんでした。

そこで、今回AtsEX 拡張機能プラグイン版を作成しました!
これを使用することで、車両へのプラグイン導入やそれに加えたBVEへの入力デバイスプラグイン導入・適用が不要になります!

インストール方法

AtsEXを導入したうえで、<BVE_INSTALL_DIR>/Input Devices/AtsEx/1.0/Extensions に、TR.BIDSSMemLib.AtsEX.dllTR.BIDSSMemLib.AtsEX.deps を配置してください。

未実装機能

現時点では、以下の機能が未実装です。

  • キー入力機能
  • カント高さ (高さではなく角度で入っている)
  • 勾配情報

その他

このプラグインを使用しても、BIDS_ServerやcaMon等の他のプログラムについては特に更新を行うことなく継続して使用が可能です。

SMemLib class change to static one

03 Jan 18:31
Compare
Choose a tag to compare
Pre-release

特に新機能の追加等はありません. ちょっと(?)内部構造を変更したためにバージョンを上げました.

BVE5, BVE6, openBVEへの対応も変わりありません. プロトコル自体は弄っていないので, "アップデートしないとこの機能が使えない"とかいうのは特にないはずです.

BIDSを使用したソフトウェアの開発に必要なライブラリ群は, nuget.orgのほうに上げてあります. "TR.BIDSSMemLib.rw"への参照を設定してあげれば大抵のことは何とかなってしまうので, ぜひご活用ください.

Add BVE6 Support

27 Aug 15:34
8ca9c7f
Compare
Choose a tag to compare

https://github.com/TetsuOtter/BIDSSMemLib/releases/tag/x64support01 の正式リリースになります.

このリリースでは, 現時点で本リポジトリ( https://github.com/TetsuOtter/BIDSSMemLib )に含まれるすべてのプロジェクトのバイナリが提供されています. また, それぞれのプロジェクトについてAnyCPU, x86, x64それぞれのファイルが用意されています.

対象別ダウンロードファイル案内

  • BVE5ユーザーおよびopenBVEユーザーは, x86版をダウンロードしてBVE5にインストールを行ってください.
  • BVE6ユーザーは, x64版をダウンロードしてBVE6にインストールを行ってください.
  • ソフトウェア開発者は, それぞれのプロジェクトの特性に応じて適切なものを使用してください.
    運転状況データの共有を共有メモリで行っているため, BVE側のTargetPlatformを気にする必要はありません.
    通常はAnyCPU版を用いることをお勧めします.

デバッグを行いたい場合は, FullPack版をダウンロードしてください.

ライセンス

すべてのファイルはMIT Licenseの下で自由に扱うことができます.

詳細な使い方

詳しいことはwikiに書こうと思っていますが, 主にやる気の都合上, いつになるかわかりません. 聞かれれば答えますので, 何かあればTwitter(@Tetsu_Otter)までお願いします.

Add BVE6(x64 platform)Support

20 Jun 21:37
Compare
Choose a tag to compare
Pre-release

#6 に記載の通り, BVE6rc版公開に伴いx64ソフトウェアからもBIDSSMemLibを使用できるようにしました.

あくまでx64対応のみの実施であり新機能の実装とかはしてないので, その点ご了承ください.

以下, readme.md記載の事項です.

TR.BIDSSMemLib.bve5

Published : 2020/06/21
License : The MIT License
Version : 1.0.0.1 (protocol v202)
(C) 2020 Tetsu Otter

How to install

本プラグインは, InputDeviceとしてはBVE5.8以降およびBVE6以降にのみ対応し, AtsプラグインとしてはAtsプラグインに対応する現時点で公開されているすべてのバージョンにて使用可能であると思われます.

Input Device

  1. インストールしたいBVEの実行ファイルがあるフォルダを開きます.
  2. BVEの実行ファイルと同じフォルダにある「Input Devices」フォルダを開き, そこにダウンロードした「TR.BIDSSMemLib.bve5.|TargetPlatform|.dllをコピペします.
    なお, "|TargetPlatform|"について, BVE6以降であれば"x64"に, BVE5.8以降であれば"x86"にそれぞれ置き換えて考えてください.
  3. BVEを起動し, ウィンドウ内の適当な場所で右クリックし, 設定画面を開いてください.
  4. 「入力デバイス」タブにて「BIDS Project」と表示された行の左端にあるチェックボックスにチェックを入れてください.
    これで特にエラーが出なければインストール成功です.

Ats Plugin

※注意! : 以下の作業は「車両への改造」にあたる可能性があります. というか可能性どころじゃなく完全に「改造」です. 著作者より改造を許可されたデータでのみ以下の操作を行うようにしてください...と私からは言っておきます. 決して改造を推奨する意図はありませんので. 以下の作業をめぐって車両作者様とトラブルになったとしても, 私は一切の責任を負いません. ご承知おきください.

  1. インストールしたい車両のVehicleファイルを開きます.
  2. Atsセクションに記述された保安装置へのパスを, 適当な場所にコピーしたBIDSSMemLibへのパスに変更します.

以上です. …が, まぁこれをしたら元の保安装置が使えなくなるので, Rock_On氏のDetailManagerを使用することを推奨します.

ちなみに, BVE4系およびBVE5系では「TR.BIDSSMemLib.bve5.x86.dll」を, BVE6系では「TR.BIDSSMemLib.bve5.x64.dll」を, それぞれ使用してください. そこ, BVE6系向けなのにファイル名にbve5って付いてるとか言わない.

FYI

特に機能追加とかはしてません. まぁ内部で使用してる実装はかなり変わってますが, ユーザーさんはそこまで気にする必要はないでしょう.
今のところ, BVEサイドにきちんとBIDSSMemLibをインストールしさえすれば, BIDS_Serverを始めとするBIDS v202に対応する各ソフトを更新する必要はありません.

ではでは.

v202公開

15 May 09:29
8b96327
Compare
Choose a tag to compare

概要

openBVE. 入力機能に対応した, BIDSSMemLib v202です.
v202bと比較して, BVE5側に関しては保安装置プラグインサイドと入力デバイスプラグインサイドで同じファイルを用いて通信機能を提供できるようになりました.
通信機能を分割し, より柔軟に扱えるようになりました.

機能 (End User向け)

BIDSDataChecker

BIDS Shared Memoryにて共有されたデータを表示させます. 列車位置や速度, 各種圧力等の基本的な情報, openBVEからの情報, Panel/Soundの値等の表示に対応しております.

BIDSSMemInputTetser

BIDS Shared Memoryを経由して, BVE5/openBVEに対して操作命令を出力します.

BIDSSMemLib.bve5

BVE5の保安装置プラグインおよび入力デバイスプラグインとして使用するアセンブリです. 操作命令の入力を除き, 情報のBVE側への反映には対応しておりません.

BIDSSMemLib.obve

openBVEの入力デバイスプラグインとして使用するアセンブリです. 操作命令の入力を除き, 情報のBVE側への反映には対応しておりません. 将来的に保安装置プラグイン側でも使用できるように検討中です.

機能 (Developer向け)

BIDSSMemLib.rw

BIDS Shared Memoryに対する操作機能を提供します. 実装されたメソッドを通じて, 簡単に共有メモリにアクセスができます. 値の更新を検知してイベントを発火させる機能も実装しております.

BIDSSMemLib.structs

BIDSで使用する構造体を定義しています. このほか, IAtsPIに定義された型も使用します.

BIDSSMemLib

BIDSSMemLibシリーズ(bve5, obve, rw, structs, SMemCtrler, SMemIF)に実装された機能全てを搭載した全部盛りプロジェクトです. 念のために用意しておりますが, 通常は使用しません.

TR.SMemCtrler

任意の型を用いて使用できる, 共有メモリを管理するクラスです. 値の更新を自動で検知してイベントを発火させる機能のほか, SMemを使用せずにデータを管理する機能のみを提供するモードも実装しています.

TR.SMemIF

任意の型を用いて, 共有メモリからの読み取りおよび書き込みを行います. net35以下のバージョン向けにDllImportを用いた実装(但し一部機能に制限があります), およびnet40以降向けにSystem.IO.MemoryMappedFiles.MemoryMappedFileクラスを用いた実装の双方を提供しております.
基本的に, SMemCtrlerから操作されることを想定しております.

TargetPlatformについて

今回は, x86向けにビルドしたものを公開いたします. それ以外のアセンブリに関しては, 各自でビルドするようお願いいたします.

Licenseについて

MITライセンスの下で配布させていただきます.

さいごに

何か要望やバグ等ございましたら, お気軽にIssueやTwitterのリプライにてお知らせください.

入力サイドインターフェース ベータ版公開

26 May 07:17
Compare
Choose a tag to compare

BVEを外から操作するためのインターフェースが完成した気がするので、とりあえず公開します。

使い方などは、同梱のreadmeを参照してください。

v202 Beta Release

13 May 08:08
Compare
Choose a tag to compare
v202 Beta Release Pre-release
Pre-release

openBVEへの対応やLinux等への対応を含めた、v202のベータリリースです。

主な変更内容

  • 外向けの変化
    • ~Changedイベントを追加
    • 全部盛りのライブラリのほかに、専用ライブラリを追加
      • 全部盛り : TR.BIDSSMemLib.dll
      • BVE5のATSプラグイン専用 : TR.BIDSSMemLib.bve5.dll
      • openBVEのInput Device Plugin専用 : TR.BIDSSMemLib.obve.dll
      • 書込機能を省略した読込専用 : TR.BIDSSMemLib.reader.dll
      • .Net Standardを用いた全部盛り : TR.BIDSSMemLib.Standard.dll
    • openBVEへの対応のため、OpenD構造体を追加
    • Panel/Sound情報に対し専用の構造体を用意することで、256要素でない配列に対応
      • これの影響で、BIDSSharedMemoryData構造体のPanel ArrayとSound Arrayは廃止となりました
    • BIDSpp.dllの統合
      • ATSプラグインの開発をC#で行えることが判明したため、それを用いて.Net Frameworkを用いた実装をすべてのライブラリで共有しています。
      • 統合に当たって、Robert Giesecke氏とDenis Kuzmin氏がMITライセンスにて配布しているDllExportというライブラリを使用しております。
        BIDSSMemLib.dllとBIDSSMemLib.bve5.dllに対しては、DllExportに対するライセンスが追加されます。ご注意ください。
    • .Net Standardのライブラリを追加
      • .Net Coreを用いたソフトウェアを開発する際などに用いることができます。
  • 内部の変化
    • .Net FrameworkのMemoryMappedFileを使用するように実装を変更
    • 書き込み側と読み込み側を同じライブラリとすることで、バグ発生の抑止やメンテナンス性の向上を狙っています。
    • 構造体, イベントなど、種類ごとにソースファイルを分割することで、メンテナンス性を向上

添付ファイル

ベータリリースにて配布するファイルは、以下の通りです。

  • BIDSSMemLib_v202b.zip / BIDSSMemLib_v202b.7z
    • TR.BIDSDataChecker.exe
    • TR.BIDSSMemLib.reader.dll
    • TR.BIDSpp.dll
    • TR.BIDSSMemLib.bve5.dll
    • TR.BIDSSMemLib.obve.dll
      以上

License

すべてのファイルはMITライセンスの下で自由に使用することができます。
改造等したものを配布する場合は、著作権表記を必ず忘れないように記載してください。

質問等ございましたら、@[email protected]までお願いします。