FT-991AにはKeyer Memoryがあって、50文字までのテキストを記憶しておき送出できる。 コンテストの時などには便利な機能だ。
このメモリーはtextとmessageという種類があって、それぞれ5個づつの記憶領域がある。 textは、タッチパネルを使って文字列を入力する。 messageは、パドルを操作して書き込む。 タッチパネルのキーは小さいし、クリック感がないので入力しずらい。 パドルで打ち込む方は、へっぽこオペレータでは、途中で失敗して何度も繰り返さないと入力できない。
という訳で、昨日のCW-FT8切り替え器にmemory keyerの制御機能を追加した。
メインフォームをloadするときに、FT-991Aのメモリから内容を取り出して、textBoxに表示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//textBox1だけ表示 //keyer memoryの内容取得してtextBoxへ textBox1.Text = getKM("1"); //memoryの内容が空だったらPLAYボタンを無効化 if (textBox1.Text == "") button3.Enabled = false; else button3.Enabled = true; //Keyer Memoryの内容をTextBoxへ num:keyermemoryの番号 戻り値:keyermemoryの内容 public string getKM(string num) { spwrite("KM" + num); var buff = spread().TrimEnd('}').Substring(3); return buff; } |
textBoxの内容が変更されたら、Playボタンを無効にする。
textBox1のみ表記
1 2 3 4 |
private void textBox1_TextChanged(object sender, EventArgs e) { button3.Enabled = false; } |
textBox1の内容を変更後、enter keyで確定。 FT-991Aのキーヤーメモリーに転送。 PLAYボタンを有効に。
1 2 3 4 5 6 7 8 |
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { spwrite("KM1" + textBox1.Text + "}"); button3.Enabled = true; } } |
PLAYボタンを押した時の動作。 ここで、textの再生に対応する番号では何故か再生できない。 meesegeの対応する番号を送出すると再生できる。 マニュアルの誤表記か?
1 2 3 4 |
private void button3_Click(object sender, EventArgs e) { spwrite("KY6"); } |
もう一つ不具合が..。 通常はタッチパネルのCHボタンをタッチすると再生して、再生途中に再度タッチすると停止するが、CATでは途中で停止するコマンドは用意されていない。
コンテスト等でコンテストナンバー送るつもりが、CQ出したりするとカッコ悪いことになる。 CATで再生しても、タッチパネルのCHキーにタッチすると停止するみたいなので、緊急時にはそうするしかなさそう。