FTdx10を購入してその使い勝手への不満から、VB.NET による CAT制御プログラムを制作しQSOで使ってきましたが、そのプログラムが必要とする仕様についてもう一度考えてみました。
今まで制作したCATプログラムは当初リモート制御的な仕様を考えていたため FTdx10 自体の操作は考えていなかったのですが、使ってみるとリモート制御ではなくリグは目の前にある訳なので、あって便利な機能だけ盛り込めば良いのではないか、と思うようになってきました。
FTdx10 自体の操作では、まずマウスの使用が大変便利です。マウスを使うことによって多くのメニュー操作が2クリックでできるので、この部分は強いてCATプログラムに入れなくても良いと思います(これはヤエス機の特徴といっても良いと思いますが、ヤエスさんはそのために外部ディスプレイ接続ができるようにしているものと思われます)。
しかしパネルで表示されマウスで操作できるメニュー以外は、ダイヤル左上の FUNC SWを押し現れたメニュー表から選んでクリニックあるいはタッチし、さらにその値を変えるために FUNC SWを回す(SWとVRが兼用されている)ことになります。
これが FTdx10 の操作方法の最大の不満になります。まずこの FUNC SW の押しが固く、チョンではなくガシっと押す感じです。次にメニュー表から選んでタッチするとこの表は消え、選んだメニューが右上の周波数表示の下に現れます。ここで FUNC SW・VRを回すとその間のみパネル中央にその値が現れ、はじめて目的のメニューを設定することができます。
さらに現在設定されている値を確認するにも、この FUNC SW をガチっと押さなくてはなりません。つまりこの FUNC SW・VR 操作を別の方法で簡単にできれば使い勝手が改善されることになり、これが目的とするCAT制御プログラムの仕様ではないか、と思われます。
なのでこのメニュー表から「良く使う」、「時々使う」、「一回のみ/使わず」メニューに分類してみました。その分け方は各局長さんで異なると思いますが、当局では以下の様になりました。
- よく使う:スペクトラムスコープのレベル、CW Speed、RF出力
- 時々使う:スペクトラムスコープのCOLOR、CWピッチ、MIC Gain、MONI LEVEL、BK-IN、PROC LEVEL、AMC LEVEL
- 一回のみかほとんど使わない:MARKER、CONTRAST、DIMMER、M-GROUP、MIC EQ、VOX関連、BK-DELAY、DNF
以上よりCATプログラムでの操作メニューは「良く使う」、「時々使う」メニューと、今までのバンド切替、MODE、IPO、R.フィルタ及びメーター切替に限定することにして、一回かほとんど使わないメニューは省略しました。
次にこのCAT制御プログラムの仕様によると FTDX10 自体のマウス使用が前提となり、このままではリグの前に2つのマウスが並ぶことになります。なのでCAT制御プログラムの操作はキーボードでもできるような仕様にしました。
まずプログラムを起動して Enter でリグと接続しますが、もしシリアルポート関連に異常があればエラーメッセージを出して終了します。また終了は ESC です。
次に最初によく使うメニューについては以下のようにキーボードに割り当てました。
- バンド: F1~F10/1.9~50メガ(5メガを除く)
- RF出力: INS・DEL(10~100W)及び 数字の1(10W)~0(100W)
- スペクトラムレベル: PageUP・PageDown
- CW Speed: Home・End(15~25)
あまり使わない CW Pitch、Monitor Level、Mic Gain、AMC Level、Speech Processor Level は、最初に P、L、M、N、K をそれぞれ押した後上下の矢印キーで増減ができるようにしました。なお Break in、Speech Processor ON/OFF は、それぞれ B、J を割り当てています。さらに MODEにはQ、A、Z、IPO には W、S、X、Roofing Filter には E、D、C、を割り当てています。
なおここでは Spectram Color が表示されていますが、通常は表示されず O でON/OFFができます(緑ボタン)。この Spectram Color とメーターは、それぞれ @ と「 のキーを押し左右矢印キーで選択できるようにしました(リグの前に置くのでコンパクトタイプを使用)。
このCAT制御プログラムの改修により、実際の運用ではキーボードをリグの左側に置いて左手で操作できるので使い勝手が大変良くなりました。なおこれを有効にするには、他のプログラムと同様にマウスカーソルがこのプログラム上でオンになっている必要がありますが、これはプログラムのアイコンをクリックしてプログラムが表示された状態になります。
なおバンド切替時にキーボードをパッと見てすぐ分かるように、ファンクションキーの上に百均で買った数字シールを張ってみましたが、これは効果抜群です。
参考のため ファンクションキーの F1 からF10 までを 1.9メガから50メガに割り当てる VB.NET のコードを示します。なおこれには Form1 に SerialPort1 が張付けてあり、かつその BaudRate、PortName、StopBits(=Two)が設定されているものとします。
まずマウスが Form1 をフォーカスしている状態でキーボードの操作を検出するために Form_Load にKeyPreview を書きます。次にキーボードの KeyDown を検出しますが、今ファンクションキーの F1 から F10 までを使う場合、そのキーコードは 112 ~ 121 になります。
以上のコードだけで FTdx10 にバンド切替の指示を送ることができます。なおファンクションキーの F11 と F12 は KeyDown で e.KeyCode を拾えないので10個しか使えません。そこで 5メガバンドは飛ばしています。
このように FTDx10 に各メニューの指示を送信するだけのプログラムは簡単に制作できます。もしプログラム制作にあまりなじみのない方でも VB.NET は他のプログラム言語に比べ簡単で扱いやすいので、是非チャレンジしてみることをオススメします。
一般的にプログラム(アプリケーション)はPCのディスプレイ上で動くモノがほとんどですが、外部の機器をコントロールするこのようなアプリは非常におもしろく、作っていて楽しいプログラムだと思います。