« IRLPノード構築のお手伝い | トップページ | IRLP*Me »

2011年7月16日 (土)

IRLPネイティブのIDプログラム

2011年6月中旬から,IRLPシステムそのものにIDを送信する(CWや音声等で自ノードコールサインを自動送信する)プログラムが追加されました。IRLPの自動アップデート機能により,世界中の全てのノードに追加されているはずです。

IDプログラムは何年も前から最も要望の多かったプログラムで,過去にも色々な局がアドオンプログラムを開発してきました。まぁ,やっとIRLPシステムに入ったか,という若干時期はずれの感もありますね。私自身はKK7AV開発のcwtimerというプログラムが気に入って使っています。

さて,今回ネィティブで追加されたIDプログラムですが,プログラム自体は

$SCRIPT/interval_id

です。IDの種類は,自動生成のCWと,自由なwavファイルを選べます。

使う前に,$CUSTOM/rc.irlpファイルと$CUSTOM/environmentファイルを以下のように編集します。(両ファイルともに,rootで編集する必要があります。)

$CUSTOM/rc.irlp

以下を追加。ファイル中のどこでも良いですが,一番最後が良いでしょう。

if [ "$USE_INTERVAL_ID" = "YES" ] ; then
echo -n "Starting the Interval ID script... "
killall interval_id >/dev/null 2>&1
sleep 3
/bin/su - -c "$SCRIPT/interval_id" repeater >&/dev/null 2>&1 &
echo "(put in background) done!"
fi

上を追加することで,$CUSTOM/environmentファイルの中で,USE_INTERVAL_ID=YESとすると,ノード起動時にinterval_idプログラムをバックグラウンドで自動実行します。

$CUSTOM/environment

以下を追加。ファイルのどこでも良いですが,
  #==== you should not have to edit anything below =============
の直前(上)が良いでしょう。

export USE_INTERVAL_ID=YES
export VOICE_ID_FILE="/home/irlp/custom/voice_id.wav"
export ID_PTT=AUX1
export ID_INTERVAL=600
export ID_MIX=YES
export MORSE_TEXT="VE7LTD"
export MORSE_SPEED=FAST
export MORSE_PITCH=800
export MORSE_VOLUME=30

  • USE_INTERVAL_ID=YESにすると,このIDプログラムを使用します。NOなら使用しません。
  • VOICE_ID_FILEに,実際に存在するwavファイルを指定すると,そのファイルを再生します。ここにファイルが指定されていても,実在しなければCWが自動生成になります。
  • ID_PTTには,PTTオンの為にPTT端子を使うか,AUX1端子を使うかを指定します。お勧めはAUX1端子です。しかしAUX1端子を使う場合には,PTT端子をAUX1端子が電気的にショートされていなければなりません。
  • ID_INTERVALは,ID間隔を秒で指定します。
  • ID_MIX=YESは,ノード無線機が何か送信している時でも,その信号に重ねてIDを送出します。サウンドカードがmixer機能をサポートしていなければなりません。もし,サウンドカードがmixer機能をサポートしていないにもかかわらず,YESにするとID送出時に"/dev/dsp: Device or resource busy"のようなエラーが出ます。その場合にはNOにします。
  • MORSE_TEXTには,CWで送出するコールサインを指定します。ここに指定が無い場合には,環境変数の$CALLSIGNが使われます。
  • MORSE_SPEEDにはCW送出速度を,SLOW (5wpm), MEDIUM(8wpm), FAST(15wpm), FASTEST (30wpm)から指定します。指定が無い場合,指定が無効の場合にはFASTになります。
  • MORSE_PITCHには,CWトーン周波数を300~3000Hzの範囲で指定します。指定無い場合,指定が無効の場合には800が使われます。
  • MORSE_VOLUMEには,CW音量を1~100%の範囲で指定します。指定無い場合,指定が無効の場合には,30が使われます。

ID_PTTについて補足します。お勧めはAUX1ですが,DB9コネクタ内でPTT端子とAUX1端子を電気的にショートする必要があります。隣同士のピンをショートするだけで簡単にできますから,もしAUX1を他の用途に使っていなければお勧めです。このプログラムだけでなく,多くのIDプログラムでもAUX1を使うことが推奨されています。

それでは,なぜPTT端子ではなくAUX1端子が良いのでしょうか。

PTT端子とAUX1端子を電気的にショートすることによって,プログラムはPTT端子オン(keyコマンド)だけではなく,AUX1端子をオンにする(aux1onコマンド)ことで無線機をkeyupすることができます。

PTT端子はIRLPシステムそのものが無線機をkey/unkeyするために使っています。もしIDプログラムも同じPTT端子を使ってID送出したらどうなるでしょうか。

ノードが他ノードにコネクトされており,自ノードが送信中の場合を考えます。その時IRLPは前述のようにPTT端子を使って無線機を送信状態にしています。そこでIDのタイミングが来てIDが送出されるとします。ID送出のためにPTT端子オンにしても,すでにオンになっています。これは問題ありません。しかし,

  1. ID送出中に,コネクト先の相手が話すのをやめ受信に移った。(IRLPシステムがPTTオフ)
  2. コネクト先の相手がまだ話しをしているのに,ID送出が終了した。(IDプログラムがPTTオフ)

いずれの場合もPTTはオフになり,無線機は送信をやめてしまいます。1.の場合には,IDが途中で終了してしまいますし,2.の場合には相手の話が途中で切られてしまいます。

つまり,2つのプログラムが一つのPTTを勝手にオン,オフしまうことで不都合が生じてしまうわけです。

そこでPTT端子はIRLPシステムがコントロール,AUX1端子は他のアドオンプログラムがコントロールするようにすることで Wired ORとなり,両方がオフの時のみ無線機PTTがオフにできます。このようにすることで,上記のような他方によってもう片方が切られてしまうような状況を回避できるわけです。

|

« IRLPノード構築のお手伝い | トップページ | IRLP*Me »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: IRLPネイティブのIDプログラム:

« IRLPノード構築のお手伝い | トップページ | IRLP*Me »