k3ng keyer製作しました(3):カスタマイズ2つ

k3ng keyer製作後、せっかくなのでカスタマイズしている。
 1)Winkeyにしたい → 完了
 2)練習専用機にしたい → 送信練習カスタマイズ中、受信練習不可(要検討)
このArduinoNanoによるk3ng keyerのファームバージョンは「HARDWARE_NANOKEYER_REV_D」であり、もともと機能が簡易にされている。何分、ArduinoNanoのプログラム領域がすくないのが
課題。

1)Winkeyにしたい
 これは、「keyer_features_and_options.h」内の2つの変更で動作した。Winkeyは2つの
 バージョンが入っているようだが、エミュレーションを選択。
[keyer_features_and_options.h]
59 #define OPTION_WINKEY_2_SUPPORT :コメントアウト(//を追記)
9 #define FEATURE_WINKEY_EMULATION :アンコメント(//を外す)
   ※数字は行番号ですが、私の場合です。
 PCを接続して、動かすことができるようになった。PC側はCtestwinを使用。これはこれで便利。
 プログラム容量いっぱいなのに、コンパイルして容量が変わらない。?だが、次項2)の
 カスタマイズで謎が解けた。

2)練習専用機にしたい
 先ずは、プログラム容量を削減に取り組む。メインプログラム「k3ng_keyer」とヘッダファイル「*.h」(主に設定が入っている)の削減可能な個所を、
   ひたすら:コメントアウト→コンパイル→書込→動作確認   を繰り返す。
 私にとって使わない機能や固定してもよい機能の削減=簡単なKeyerで
   → あまり容量削減にはならなかった。
 思い切ってWinkey機能をバッサリ切る=PCがあれば練習はPCでできるので
   → 効果大、23%削減できた。
 この状態であれば、そこそこのプログラム追加があっても入ると思う。(Winkey機能を使わない場合
 でもメインプログラムの中にコンパイル対象のプログラムとして存在しているようだ。バッサリと
 コメントアウト。)
 ついでに、使っていないヘッダファイル「*.h」を削除。次に送信練習用に設定
   ※番号は行番号ですが、私の場合です。
   ※Winkey機能のコメントアウトは多数なので記載してません。Winkey機能コメントアウトをしなくても
    動くと思うけど、以下参考に!
 以下、参考。

【k3ng keyer winkey停止】
[keyer_features_and_options.h]
59 #define OPTION_WINKEY_2_SUPPORT :コメントアウト(//を追記)
9 #define FEATURE_WINKEY_EMULATION :コメントアウト(//を追記)

【ヘッダプログラム削除(.h)】
keyer_features_and_options_nanokeyer_rev_b.h
keyer_features_and_options_open_interface.h
keyer_features_and_options_open_test.h
keyer_pin_settings_nanokeyer_rev_b.h
keyer_pin_settings_open_interface.h
keyer_pin_settings_test.h
keyer_settings_nanokeyer_rev_b.h
keyer_settings_open_interface.h
keyer_settings_test.h

【送信練習】
[keyer_features_and_options_nanokeyer_rev_d.h]
32 #define FEATURE_ALPHABET_SEND_PRACTICE

[keyer_pin_setteings.h]
69 #ifdef FEATURE_ALPHABET_SEND_PRACTICE
70 #define correct_answer_led 10 :0から10へ変更
71 #define wrong_answer_led 11 :0から11へ変更
72 #endif //FEATURE_ALPHABET_SEND_PRACTICE

[keyer_pin_setttings_nanokey_rev_d.h]
32 #define correct_answer_led 10 :追加
33 #define wrong_answer_led 11  :追加

これで、コマンドボタンを押してコマンドモードに入ってSを打つと送信練習になる。キーでA~Zまで順番に打っていくと、正なら緑LEDが点灯し次の文字を打ち込み、誤なら赤LEDが点灯した再打ち込み。Zまで打ったら終わりかと思ったら、Aから送信練習は続く。終了はコマンドボタンで。

残念ながら、受信練習はNG。Keyerのバージョンによっていろいろありそう。このバージョンでは、そもそものプログラムが入っていないような、Keyer単体での練習方法できないような、未解明です。(5文字受信練習、コールサイン受信練習、PC接続受信練習(?)等...)

送信練習機へのカスタマイズと受信練習の導入は続く