VTXの送信チャンネルと出力パワーを、プロポのスイッチで変更する方法

プロポのスイッチで、VTXのチャンネルを変更する方法は、いろんな方が既に解説されいて、既にやっている方も多いと思います。
ただ、出力のパワーも変更する方法が見当たらなかったので、やって見ようと思います。

プロポはEdgeTXの送信機で説明します。
VTXはSmartAudio対応のものでなければなりません。
今回は、BETAFPVのM03というVTXを使ってやっています。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/9a6235b7-0d9d-4a04-7fce-92ea75c65085.jpeg">

今回のプロポは、ELRSを積んだRadiomaster ZORROです。
他のプロポを持っている方は、スイッチの番号やスライダーの番号は変更して下さい。

スイッチBでチャンネルE1,F1,F4の切り替え、
スライダーS1で出力パワーの切り替えを行うようにしようと思います。
２つのスイッチの値を加算して、１つのチャンネル(AUX8)から出力します。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/b59a8f7a-fe33-bd80-f5a3-31f5e6a3f6cf.jpeg">

下図のように割り当てる予定です。
CLIのVTXコマンで割り当てられる個数が１０個が限界なので、Powerの３を省いてみました。お好みで変更して下さい。
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/94cafb41-f807-3858-a096-385589353684.jpeg">

# プロポの設定
先ずは、プロポの設定をします。
ELRS送信機の場合チャンネルの割り当てには、注意が必要です。
ELRSのSwitch Modeが [Hybrid]の場合

<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/9590d92e-7b82-3ff4-c727-19d2d8fbdeb5.jpeg">

CH1~HC4    は　10bit
CH5(AUX1)　 は　1bit (2値)
CH6(AUX2)~CH11(AUX7) は　3bit（6値）
CH12(AUX8) は　4bit（16値）
というような割り当てに成っています。

今回９個以上の値が欲しいので、使えるチャンネルはCH12(AUX8)だけと成ります。

ということで、CH12にスイッチBとスライダーS1の値をMIXERで出力させます。

プロポのモデル設定のMIXESのページに移動しCH12を編集していきます。

<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/e1b23b64-cfb4-58c4-5393-8543978ddf11.jpeg">

ソースに[SB]を割り当て、ウェイトに[67]、オフセットに[-33]を指定します。
ウェイトが100のときの出力は, -100 ~ 100　の　200幅なので、これを３等分した値が67です。
これを-100から始まるようにオフセットで-33しています。
こうすることによって、スイッチBを動かしたとき出力は-100,-33,34の値になります。

<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/4a563afd-b127-485a-e59d-3cc43e4f7afc.jpeg">

いったん前の画面に戻り、CH12のところに、もう１つ追加します。「Insert after]を選んでください。
<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/1146a6a7-97f4-6eda-0705-bfd2bf120a88.jpeg">
ソースに[S1]、ウェイトに[28]、オフセットに[28]を指定します。するとスライダーを動かしたときの値は、０～56の値を出力します。
（計算上はウェイトは33が正解の気がしますが、これにすると、E1のMAXとF1のMINにした時の値が被るので、少し減らしました。）
そしてMultiplex の所を[Add] にして下さい。
<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/05017b9a-ebdf-5be1-a0b2-e5e93914880b.jpeg">

これで、CH12（AUX8)からは２つの値の合計が出力されるようになりました。

<img width="256" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520758/49f2af7b-faa6-56d2-b650-32f4aa403090.jpeg">

# Betaflight の設定
機体とPCを接続し、Betaflightを起動して、CLIモードにします。
VTXのチャンネルと出力の設定コマンドは、

vtx ＜index＞ ＜aux_channel＞ ＜vtx_band＞ ＜vtx_channel＞ ＜vtx_power＞ ＜start_range＞ ＜end_range＞

＜index＞の所には0~9の通し番号を付けます。（１０個が限界です）
＜aux_channel＞には [ AUX番号 -1 ] を指定します。今回はAUX8なので７を指定します。
＜vtx_band＞ は、A=1, B=2, E=3, F=4, R=5 を指定します。
＜vtx_channel＞ は１～８を指定します。
＜vtx_power＞は１から始まります。０を指定した場合は最小値(25mW)の様です。
＜start_range＞と＜end_range＞で指定した範囲の入力値の時に、上記の設定が反映されます。

バンドとチャンネルの値をどちらも０にすると、パワーのみの変更も出来るようです。

以下のテキストを、CLIにコピペして"save"して下さい。
```
vtx 0 7 3 1 1  900 1100
vtx 1 7 3 1 2 1101 1166
vtx 2 7 3 1 4 1167 1300

vtx 3 7 4 1 1 1301 1433
vtx 4 7 4 1 2 1434 1500
vtx 5 7 4 1 4 1501 1633

vtx 6 7 4 4 1 1634 1766
vtx 7 7 4 4 2 1767 1900
vtx 8 7 4 4 4 1901 2100

save
```

これで、スイッチBでチャンネルの切り替え、スライダーS1で出力パワーを変更できるようになりました。

BetaflightのOSD設定で、VTXチャンネルを表示するようにして置くと、
モニターで切り替わっているのが確認できると思います。

狭い部屋でパワーを上げると、かえってノイズが乗るんですね。
リアルタイムで出力を変更したことが無かったので、気づきませんでした。


以上です。