WATANABE Yuki
WATANABE Yuki
This is not the first time I receive a request for cross compilation support. https://osdn.net/projects/yash/ticket/38274 There are many that need to be resolved to make cross compilation possible. I don't...
拙作プラグインを使ってくださってありがとうございます。 いただいたご要望がかなり詳細なので、どうしようかと思案中です。 そもそもBVEのプラグインとして実現可能なのかどうかが自明ではなさそうです。(特にATOの力行ノッチ段数設定の難易度が高そうです。ブレーキのパネル表示はやりようがありそうですが。) 仮に実現可能だったとして、プラグインの標準機能として搭載すべきかどうかという悩みがあります。特定の車種でしか使えなさそうな機能を足すと他の車種のための機能とかち合う可能性があるので、bve-autopilot には基本的にどの車種でも使えそうな範囲の機能しか入れないようにしています。その範囲に収めきれそうになかった場合にどうするかは別途考えることになります。 とりあえず実現方法の検討をしてみようと思いますが、かなり時間がかかると予想しますので気長にお待ちいただければと思います。
検討メモ: > ブレーキ時はATO使用時と不使用時とで異なる表示をさせ、ATOによる減速・TASCによる減速・手動での減速の区別がつくようにしたい。すなわち、ブレーキ指令表示(設定名:brake)において、ATOによるブレーキ時とTASCによるブレーキ時とで異なる値が表示されるようにしたい。表示優先度は、手動>TASC>ATO パネル表示において `brake` の値を使えば手動ブレーキと自動ブレーキを区別することはできる。(強い方のブレーキが表示される) が、ATOブレーキとTASCブレーキを区別できない。 `tascbrake` を重ねて表示するとATOブレーキとTASCブレーキを区別できる。が、TASCブレーキよりも手動ブレーキの方が強い時でもTASCブレーキ表示が上書きしてしまう。 さらに `brake` を重ねて、今度は手動ブレーキの時のみ表示を上書きする。 これで三種類のブレーキ表示を区別できる。 > Nノッチ時の表示がATO使用有無によって異なり、ATO使用時は「ATO-OFF」、不使用時は「MNU-OFF」 (上記 `brake` や `tascbrake` の後ろ側に) `atoenabled` で惰行指令時の表示を区別できる。 ……とはいうものの、かなり複雑なので本当に実現可能なのかどうか適当な車両データで検証した方がよさそう。 力行についての検討は、また後で。
> `tascbrake` を重ねて表示するとATOブレーキとTASCブレーキを区別できる。 区別できるといったものの、TASCブレーキよりATOブレーキが強い時でもTASCブレーキ表示が上書きしてしまうので厳密には正しくない。
`powerin` と `brakein` が ATO/TASC の状態によらず常に手動指令を出力するように既になっているので、それと同様に状態によらず常に ATO 指令と TASC 指令を出力する設定がそれぞれあってよさそう。ただし、それだけだと実際に手動指令・ATO 指令・TASC 指令のどれが使われているのかに応じて表示を出し分けることができないので、指令が使われている時のみ値を出力するような設定があるとよいか。 例えば `tascbrake` は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしている間でも TASC ブレーキの値を出力するが、 `tascbrakeused` は手動ブレーキや ATO ブレーキが TASC ブレーキを上書きしていない間のみ TASC ブレーキの値を出力する、という感じ。
> ATO使用時の力行ノッチ数を手動時よりもかなり多く設定 > [acceleration]セクションの機能では手動運転時とATO使用時の力行ノッチ数が全く同一であることが前提 ここの制約を緩めて、[acceleration]セクションに多数のノッチを設定したらそれを ATO が考慮する様に変更しようと思います。これでATOの力行ノッチ数を増やせるようになります。 ただし、ノッチが10段以上あるのに手動運転時に P1~P4 とか P1~P5 の範囲しか選べないということだと手動運転時に弱い加速しかできなくなってしまうので、手動マスコン操作に対してプラグインが出力するノッチを変換するようにします。例えばマスコンが P1, P2, P3, P4 の時はそれぞれプラグインの出力ノッチが P3, P8, P11, P15 になるみたいな感じでノッチの値を置き換えます。この置き換える値は autopilot.ini で指定しておく必要があります。
検討メモ (未解決問題): - 参考動画をよく見ると、ATO 運転時と TASC 運転時とで駅停車のためのブレーキ時の表示が違っており、ATO 運転時は「TASC-Bxx」表示にならない。一方 bve-autopilot では駅停車には常に TASC を使用するので動作が合わない。 - bve-autopilot では ATO 運転中に停車駅が近付くと無駄な加速を避けるために TASC が惰行や全速力未満の力行を指示する。これはどう表示に反映されるべき? - 駅停車中に [TASC 緩解条件](https://github.com/magicant/bve-autopilot/wiki/%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%BB%95%E6%A7%98#tasc-%E7%B7%A9%E8%A7%A3%E6%9D%A1%E4%BB%B6)が満たされると TASC ブレーキが緩解するが、ATO のブレーキは引き続きかかっている。このとき「TASC-Bxx」から「ATO-Bxx」に表示が切り替わるのは好ましい動作なのか?
@1581-Ivy3570 出力表示の MNU/ATO/TASC の出し分けへの対応はまだ時間がかかりそうなので、ひとまず力行ノッチの段数を増やす設定のみ [v1.16](https://github.com/magicant/bve-autopilot/releases/tag/v1.16) で対応しました。お試しください。
次回リリース (v1.18) で、ATO が出力している力行とブレーキの指令を手動操作に関係なくとれるようにします。 ([パネル仕様](https://github.com/magicant/bve-autopilot/wiki/%E9%81%8B%E8%BB%A2%E5%8F%B0%E3%83%91%E3%83%8D%E3%83%AB%E5%87%BA%E5%8A%9B%E4%BB%95%E6%A7%98)) bve-autopilot の出力を別のプラグインでさらに加工するという前提になりますが、以下の方法で MNU/ATO/TASC の指令を判別できる想定です。 - ATO の力行が使用されているのか手動力行の方が優先されているのかは `power` と `atopower` が等しいかどうかでわかる - ATO/TASC のブレーキが使用されているのか手動ブレーキの方が優先されているのかは、 `brake` と `brakein` が異なるかどうかでわかる - ATO のブレーキが使用されているのか TASC のブレーキが使用されているのかは、 `atobrake` と...
パパっと直せるかなと思ったらちょっと意外にめんどい