So-net無料ブログ作成
検索選択

プッシュバックシーンのリアル化 その③(SIOC) [SIOC]

キャビンアナウンスはFS Keeperを購入しようと思ってましたが、先日fuji3さんから「piyochanさんが作ったのがあるじゃない!!」と、ご助言をいただきまして、SIOCで実現する方向で勉強しはじめました。

SIOCプログラムを提供してくださったpiyochanさん、気づきを与えてくださったfuji3さんありがとうございます。

早速、piyochanさん作成のプログラムを確認しますが、全然わからなーい!(^^;

ので、基礎からじっくり勉強することに。
以下のURLとpiyochanさんのプログラムを見ながらまずは、シンプルなプログラムを組んでみました。
http://www.lekseecon.nl/howto.html#sound


■プログラムの流れ
1.FSUIPCからプッシュバックステータス(オフセット$31F0)を取得する。
2.プッシュバック中だった場合、指定したwavファイルを再生する。

流れとしては非常にシンプルなので、これをプログラミングしてみます。


■プログラム
Var 9000, name SoundPlay, Link SOUND
 ⇒sioc.iniのサウンドモジュールを呼び出す。(Soundモジュールを呼び出し、SoundPlayに入っている数字の番号に設定されている音源を再生する)

Var 9001, name StatusPushback, Link FSUIPC_IN, Offset $31F0, Length 4
 ⇒FSUIPCのオフセット$31F0の値をStatusPushbackに入れる。
{
IF &StatusPushback <> 3
 ⇒もしStatusPushbackが3でなかったら、(プッシュバック中だったら)
{
&SoundPlay = 1
   ⇒SoundPlay変数に1を入れる。
}
}


■SIOC.ini
SIOCのinitialファイルでは、音源番号と音源ファイル名を宣言しておきます。

[************** SOUND MODULE ***************]
Sound_disable=No
Volume=100
[ #1 ]
Sound=03_aisatsu2.wav,-1,-1,-1
⇒音源番号1が呼び出されたら、このwavファイルを再生する。


という、非常にシンプルなプログラムを実行すると以下のような感じになりました。



piyochanさんのプログラムを拝見する限り、恐らくその他にも状況を判断するためのパラメーターを組む必要がある(再生中は他のを鳴らすなとか、飛んでる最中はダメとか)と思うのですが、おおよそ組み方はわかりました。

せっかくなので、勉強がてらその他状況ごとの音声再生についても自分で組んでみようと思います。



Opencockpits SIOCとProsim設定 [SIOC]

OpencockpitsのカードとSIOCの間での設定までできたので、次はSIOCとProsim間の設定を行います。

スイッチによる入力は、SIOC上で入力されるスイッチの番号とSIOCで通信する番号を関連付けた1行をSIOCに追記し、Prosim側で受け取るSIOC番号を指定するだけで設定できます。

例えば、MASTERカードの1番にスイッチを接続し、IOCP9000番でProsimに情報を提供するには、以下のような1行を追加。

Var : 9000 ユニークな任意の数字
Link : IOCARD_SW スイッチ宣言
Device : 2 デバイス番号
Input : 1 スイッチを接続した番号

sw_sioc.png

Prosim側はその9000番をどこのスイッチに割り当てるかを設定。
chronotest.png

これで、Masterカードに取り付けたスイッチでProsimを操作することができるようになります。
設定時の動画はこちら。


LEDの場合はスイッチと逆でProsimから出力された情報をSIOCで受領してMasterカードに接続されたLEDを点灯させるという感じで、設定の流れは同じですね。

これまでSIOCは避けてたところがありますが、いざやってみると本当によくできたソフトウェアで設定が非常に簡単です。

この基本を押さえておけば、応用次第でいろんな入出力を設定できます。

・・・ということで、IRSモジュールの設定に入っていきたいと思います。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。