受信専用のしくみ
RxJa は「送信できない」ことをいちばん大事にしています。このページでは、PTT を押したときに何が起きるか、どうやって送信を止めているか、元の F4HWN から何を消したかを説明します。
重要
送信を止めていても、技適のない無線機が技適を取ったことにはなりません。また、作者はまだ実機で「電波が出ていないこと」を測って確かめていません(SDR などでの確認は今後の課題です)。
PTT を押すと
- 画面の周波数の行に 「送信禁止」 と表示されます(日本語データを入れる前は
TX DISABLE)。 - 「ピピッ」と短いビープが 2 回鳴ります(メニュー一覧 の「操作音」が OFF なら鳴りません)。
- 送信の準備(周波数・出力の設定)も、送信の終わりの処理もしません。受信はそのまま続きます。
- PTT を離して約 2.5 秒たつと、元の表示に戻ります。
ただし、次のときは「送信禁止」を出さずに、PTT が別の働きをします(元の F4HWN と同じ動きで、送信とは関係ありません)。
| そのときの状態 | PTT を押すと |
|---|---|
| チャンネル・周波数のスキャン中 | スキャンが止まり、見つけたチャンネル・周波数にとどまる |
トーン探し(F → *)、周波数キャッチ(F → 4)の最中 |
探すのをやめる |
| FM ラジオの自動選局の最中 | 選局をやめて、そこを鳴らす |
| スペクトラムの画面 | 詳細モニターを開く(→ スペクトラム) |
| キーロック中で、「ロック対象(SetLck)」に PTT が入っている | 「ピピッ」と鳴り、「F長押しで解除」と出る |
| FM ラジオを聞いているとき | 「送信禁止」が出て、2.5 秒後に FM ラジオの画面に戻る |
詳しくは キー操作 の「PTT」。
3 段階で止めている
どこか 1 か所に抜けがあっても電波が出ないように、3 つの層で止めています。
| 層 | 場所(ソース) | していること |
|---|---|---|
| 1. 入口 | App/functions.c の FUNCTION_Select |
「送信状態」への切り替えを受け付けない。ほかの処理がどんな経路で送信に入ろうとしても、ここで何もせずに戻る |
| 2. 送信処理 | App/radio.c の RADIO_PrepareTX / RADIO_SetTxParameters / RADIO_SendEndOfTransmission |
PTT を押したときは「送信禁止」を表示してビープを鳴らすだけ。送信用のレジスタ設定や、送信の終わりの信号(ロジャー音など)を出さない |
| 3. 無線チップ | App/driver/bk4829.c |
無線チップ BK4829 に書き込む値のうち、パワーアンプを動かすビット(REG_30 の PA ゲイン有効)を常に 0 に、PA のバイアス(REG_36)を常に 0 にする。さらに PA を有効にする GPIO(ピン 29)も立てない |
3 つめの層はとくに重要です。通常の送信だけでなく、フォックスハント、追加アプリ(オーバーレイ)、パソコンから UART でレジスタを直接書き込む機能など、どの経路もいずれは BK4829 への書き込みを通るので、ここで必ず止まります。
消した・隠した機能
送信にかかわる機能は、ビルドの設定(RxJa プリセット)で丸ごと外すか、メニューから隠しています。
ビルドから外した機能
| 機能 | 元の F4HWN での内容 |
|---|---|
| VOX | 声で自動送信 |
| 1750Hz トーン | レピーター起動用のトーン送信 |
| DTMF 呼び出し | DTMF での呼び出し・応答の送信 |
| AirCopy | 無線で設定をほかの機にコピー(電波を出す) |
| PMR / GMRS / FRS / MURS | 海外の簡易無線チャンネルのプリセット |
| RescueOps | 消防など救助隊向けのモード(AirCopy などとセット) |
| BEAM | 表示中の VFO/チャンネルの設定を、電波でほかの無線機へ送る機能 |
| フォックスハント・ビーコン | 自動で電波を出す機能 |
| オーバーレイアプリ | 追加アプリ(送信するものがあるため) |
メニューから隠した項目
送信のときだけ意味がある設定は、メニューに出てきません。消したのは次の 24 項目で、RxJa のメニューは全部で 53 項目です(一覧は メニュー一覧)。
| 英語名 | 内容 |
|---|---|
Power |
送信出力 |
TxDCS / TxCTCS |
送信の DCS / CTCSS |
TxODir / TxOffs |
送信周波数のずらす向き / 幅(オフセット) |
BusyCL |
使用中のチャンネルでは送信しない |
TXLock |
チャンネルごとの送信禁止 |
TxTOut |
送信の時間制限 |
Mic / MicBar |
マイク感度 / マイク入力のバー表示 |
Roger |
送信の終わりのロジャー音 |
RP STE |
レピーターのテール音消し |
UPCode / DWCode |
送信の始め / 終わりに出す DTMF |
PTT ID |
PTT ID の送信 |
D ST / D Prel |
DTMF 送信の側音 / 前置き時間 |
VOX |
声で自動送信 |
SetPwr |
出力を「USER」にしたときの出力(20mW〜5W) |
SetPTT |
PTT の押しかた(押している間 / 押すたびに切り替え) |
SetTOT / SetEOT |
送信の時間切れ・終わりの知らせ方 |
F Lock |
バンドごとの送信の許可 |
350 En |
350MHz 帯の有効化 |
これらの値は、元の F4HWN から RxJa に替えても設定の中に残っています(見えなくなるだけで、使われません)。
サイドキーに割り当てられない機能
サイドキー(F1 / F2)に割り当てる機能のうち、次のものは選んでも 「N/A」 と表示され、何もしません。
- POWER(送信出力の切り替え)、POWER HIGH(高出力)
- PTT(サイドキーでの送信)
- VOX、1750(トーン送信)
- REMOVE OFFSET(オフセット解除)
- BEAM、FOX HUNT、BEACON
そのまま残っているもの(押しても意味がない)
- F → 6、または 6 の長押し(送信出力の切り替え)は、元のキー割り当てのまま残っています。押すと保存されている出力の値が変わりますが、送信しないので意味はありません。
- F → 7、7 の長押し(元は VOX の切り替え)は、何もしません(「ピッ」と鳴るだけ)。
*の短押しで DTMF の入力モードに入り、ピポパの文字を打てますが、送信されることはありません(8 秒で自動的に抜けます)。- 「ロック対象(SetLck)」の「キー+PTT」「キー+機能+PTT」は選べます。PTT をロックしておくと、キーロック中に PTT を押しても「送信禁止」が出ません。
- 受信ログ には、送信の記録(TX)は残りません。ログ画面の「TX」の絞り込みは、いつも空です。
- チャンネルデータの中の送信周波数・送信トーンなどの値は、CHIRP などで書き込めば保存されます(使われないだけです)。
チャンネルに送信の設定が入っていても大丈夫?
大丈夫です。CHIRP などで送信周波数・出力・トーンの入ったチャンネルを書き込んでも、RxJa は受信の設定だけを使います。送信の設定は 3 つの層のどこかで必ず捨てられます。
ソースで確かめたい人へ
RxJaプリセットはCMakePresets.jsonにあり、ENABLE_RX_ONLYとENABLE_JAPANESEを有効にしています。ENABLE_RX_ONLYで検索すると、止めている場所がすべて見つかります(App/functions.c、App/radio.c、App/driver/bk4829.c、App/app/action.c、App/app/app.c、App/ui/menu.c、App/main.c)。