Quansheng UV-K1(8) / K5(8) 受信専用カスタムファームウェア
本プロジェクトは、F4HWN氏によるカスタムファームウェア(ベースはEgzumer氏、およびDualTachyon氏のオープンソースコード)をフォークし、日本国内向けに「受信専用化」したカスタムファームウェアです。
最大の特徴はファームウェアレベルでの送信抑制です。
PTT(送信ボタン)を押しても電波が一切出ないよう、ファームウェアの根本から送信機能を完全に抑止しています。
アマチュア無線の資格をお持ちでない方の広帯域受信機(レシーバー)としての利用や、誤操作による不意の電波発射を防ぎ、国内で比較的安心してUV-K1/K5を楽しめることを目的としています。
受信専用化とちょっとした機能追加のために以下のような修正を行っています。
- メニュー項目から送信に関する項目を削除
- Powerやマイク、送信に関する項目を削除しました。
- メニューの文言や一部メニューアイテムの修正
TxODirメニューはDirとしました。TxOffsメニューはOffsetとしました。Compndメニューのサブメニューを、OFFとRXのみとしました。BLTxRxメニューはBLRxとし、サブメニューをOFFとRXのみとしました。TxLockメニューはLockedから変更できないようにしました。- 拡張メニューの
F Lockは、どの値を設定しても必ずDISABLE ALLに戻るようにしました。
- PTTボタンの再利用(F1やF2と同様の機能割り当て)
- 送信の使い道がなくなってしまうため、任意の機能を割り当てられるようにしました。これに伴い、割り当て可能リストから送信に関する項目を削除しています。
- メニューの中に
PTTshtという項目を新設し、PTTを短押ししたときの振る舞いを変更できるようにしました。(※CHIRPのスクリプトの修正をしていないため、本体のメニューからのみ変更可能です。)
- テンキー・ショートカットからの送信機能の削除
F + 6 (H/M/L)、7の長押し(VOX)は使用できません。- デフォルトでは
* SCANボタン長押しでスキャン開始だったものを、短押しでスキャンを開始するように変更し、操作性を向上させました。 6の長押しにScnRngへのショートカットを割り当てました。VFOがメモリモードでもメモリの周波数をコピーしてScnRngモードに遷移します。再度長押しすると復帰します。
- ScanRangeSelector
- スキャンレンジ(いわゆるプログラムスキャン)をするには、VFO A/B 両方に周波数をセットしてから開始するのが煩雑なので、一覧から選択できるようにしました。チャンネルメモリ2つを一組として開始、終了の周波数をセットして、任意のスキャンリストに登録します。メニューのSRangeから、スキャンリストの番号を指定します。F1, F2 への機能割り当てで、SCANRANGE SELを割り当ててください。アクションピッカーから呼び出すこともできます。表示された一覧から、MENUボタンで決定すると。通常のScnRngに周波数をセットした状態になるので、そのままスキャンを開始してください。
- 画面表示(UI)の最適化
- ステータスバーの
CL表示を抑止しました。 - 周波数の下に表示されるステータスから、出力(パワー)に関する表示を抑止しました。
- ステータスバーの
- 内部処理の徹底した送信ブロック
- 見た目のUIだけでなく、内部のコア処理でも送信に関わる機能を徹底して抑止しています。
📻 FMラジオ局名の表示
もともとこちらがメインで作成した機能で、今でも個人的に重宝しています。
FMラジオの周波数は表示されるものの、とてもすべてのFM局の周波数は覚えていられないので登録できるようにしてみたものです。
任意のメモリチャンネルに、表示したいFM局名と周波数を登録してください。
このとき、FM局表示用のチャンネルは特定のScanListに所属させてください。
メニューから FMName を選択し、所属させた ScanList の番号を選択してください。
(指定したScanListの最初の100個までを局名として識別します)
FMラジオのメモリモードで一致する周波数を表示する際、局名も併せて表示されます。
図:FM局名の登録
図:ScanList に所属させる (この例では 9 番を指定しています)
図:FM局名を持つScanListを指定する
📜 謝辞
本プロジェクトは、多くの先駆者たちの素晴らしいオープンソース活動のおかげで成り立っています。
- DualTachyon氏: すべての基盤となる最初のオープンソースファームウェアを公開してくれたことに深く感謝します。
- Egzumer氏: 受信感度の向上(AM Fix)やスペクトラムアナライザーなど、現在のカスタムファームウェアの魅力的な機能の多くを実装してくれました。
- F4HWN氏 (@armel / @muzkr): PY32F071 MCU(UV-K1やK5 V3)への移植、美しいUI、数々の洗練された新機能(Fusion等)を開発してくれた本家のリポジトリに敬意を表します。
⚠️ ご注意(免責事項)
- 本ファームウェアを書き込む前に、本家の「UVTools2」などを使用して、必ず実機のバックアップ(CalibrationデータのDump)を取ることを強くお勧めします。
- 本ファームウェアを書き込むことによってハードウェアに障害が発生したとしても、一切の保証はできません。書き込みは自己責任でお願いいたします。
- 本ファームウェアを用いることで、確実に送信を抑止できているかどうかの物理的な測定器等による実証は行っておりません。完全に送信しないことを保証するものではありません。
- ソースコードをご確認の上、ご使用の際はご自身の責任の範囲でお願いいたします。
🐳 コンパイル(ビルド)したい方へ
本ファームウェアは、Windows 11 PCにDockerおよびWSL2をインストールし、VSCodeで編集・コンパイルしています。
リポジトリ内に含まれるビルドスクリプト(compile-with-docker.sh)を使用すれば、ローカル環境を汚さずにビルドが可能です。
私自身はいろいろ環境を整えて最初のコンパイルが通るまでに半日くらいかかっちゃいましたが、難易度はそんなに高くありません。C言語ができる方なら、どなたでもコンパイルして自分のUV-K1に書き込むことができるようになります。ぜひチャレンジしてみてください!
댓글 0
로그인하고 댓글을 남겨 보세요.