Dropbox

LEDの色とVTXチャネルを同時に設定するLuaスクリプト

WTW四国ではタイニーレースにおいてLEDの装着と周波数毎に決められた色で発光させることをレギュレーションに取り入れています。これにより観戦者のレースへの理解度が深まることは間違いありません。

3波でのレースにおいてはVTX周波数とLEDの色の対応付けを行うことが容易でした。それが4波になって、この関連付けが不可能なチャネルの組み合わせが出てきました。そのためVTXチャネルとLEDの色を別々に設定する必要があり事前準備も実際の使用にも煩雑さが生じました。

そこで長い間、温めていたアイデアを実装いたしました。準備作業は比較的簡単で済みます。またレースの現場では送信機のLuaスクリプト上のワンアクションでVTXとLEDの設定が行えるものです。

Luaスクリプトはhttps://github.com/nkozawa/Led4Vtxで公開しています。以下の説明はGitHubサイトにあるREADMEにほんの少しだけ追加の情報を付け加えたものでほぼ同じです。

[ ドローンの設定 ]

LEDストリップ画面で機能にカラーを設定し、何かしら任意の色でLEDが光るようになれば準備完了です。

CLIで変更する場合は以下のコマンドを使用します。
https://github.com/nkozawa/Led4Vtx/blob/main/LED_Simple_Color.txt

プリセットも用意しました。

[ 二つのスクリプト ]
フルスペックなLed4Vtx.luaと簡易版のLed4VtxLite.luaがあります。

< Led4Vtx.lua >
単体ではLEDの色の設定しか出来ません。VTXチャネルの設定はEasyVTXchのお気に入り機能を使用します。EasyVTXchでお気に入りを登録した後でLed4VtxでLEDの色の長押しでお気に入り登録を行います。そうすると自動的にEasyVTXchでお気に入りしたVTXチャネルがLEDの色のお気に入りと関連付けられます。

導入はLed4Vtx.luaを送信機のSCRIPTS/TOOLSにコピーします。もしすでに古いバージョンのLed4Vtx.luacが存在する場合は削除してから新しいLed4Vtx.luaをコピーして下さい。

< Led4VtxLite.lua >
画面での設定を一切省いたものです。頻繁に設定を変更する場合には全く不向きです。予め設定してあるled4vtxlite.favが必要となります。現在四国のレース設定である、E2=赤、E1=緑、F3=青、F5=黄に設定したファイルをGitHubで提供しています。
もし変更が必要であればled4vtxlite.favを編集します。

E2,Red
E1,Green
F3,Blue
F5,Yellow

内容は見ての通りです。使用出来る色名はRed, Orange, Yellow, Green, Cyan, Blue, Violetです。

導入はLed4VtxLite.luaとled4vtxlite.favをSCRIPTS/TOOLSにコピーします。もしすでに古いバージョンのLed4VtxLite.luacが存在する場合は削除してから新しいLed4VtxLite.luaをコピーして下さい。

[ 注意点 ]
– 現在のバージョンでは素早くLED、VTXチャネルを切り替えようとすると正しく動きません。連続して操作する場合は少し時間をあける必要があります。
– このプログラムを実行するとBetaflightのカラーパレットが全て変更されます。もし元の状態に戻す必要がある場合は下のCLIコマンドを実行して下さい。
https://github.com/nkozawa/Led4Vtx/blob/main/defaultPalette.txt

EACHINE ROTG01 PRO 受信機 x 4 => HDMI x 1

EACHINE ROTG01 PROで受信したVTXからの映像4台分を一つのHDMI画面にまとめてみようという試みです。つまりはHawkeye Four EyesあるいはHDZero Event VRXの真似をしようということです。

[ 目的 ]
TinyViewPlusNGFPVTrackSideの入力として使用するためです。

TinyViewPlusのMac版ではROTG01 PROを4台接続することは出来ますが、どの受信機が何番目に出てくるかが全く制御できません。レースの現場ではとても使用できるものではありませんでした。Four EyesやEvent VRXで一つの映像にまとめたものをTinyViewPlusNGでそれを分割することがMacにおける唯一の解です。
– FPVTrackSideでは今の所、複数のROTG01 PROを接続しても一つの画像しか得られません。そのため画面分割を使用するしかありません。Windows版は複数ROTG01 PROが使用できるように改善される見込みです。
– そもそもPCのUSBポートが少なくて4台もROTG01 PROを接続できない。そのためFour Eyesを使えるようにということでTinyViewPlus-NGが出来たそうです。

[ ハードウェア ]
– ROTG01 PROという受信機でUVC (USB Video Class)を持ったものを4台。他の似たような受信機も使用できると思います。
– Raspberry Pi4BとRaspberry Pi5でテストしました。 (メモリーはおそらく小さめでも大丈夫です)
– microHDMIケーブル。Raspberry PiのHDMIコネクターはとても小さいやつです。
– HDMI to USB変換器、私が使っているのは「GUERMOK USB 3.0 HDMI to USB C オーディオ キャプチャ カード」というやつです。似たようなものでも性能的に問題がある製品もあるようなので要注意です。

USB-AにROOTG01 PROを接続します。システムが立ち上がってからUSBを挿入していくと、その順番でデバイス番号が割り当てられます。電源投入前に全て接続しておけば、USBコネクターとデバイス番号がいつも同じ関係に出来ます。HDMIコネクターは二つあるどちらでも稼働できるようにシステムを構成しています。
電源はRaspberry Pi用に販売している容量の少し大きいものを使用しています。
必要性はよくわかりませんがRaspberry Piには冷却ファンを付けています。この構成で12時間以上連続稼働可能でした。

[ ソフトウェア ]
githubでraspi4eyesを公開しました。導入手順も詳しく書いてますので、実際の導入にあたってはgithubをご覧ください。導入にあたっていくつかの選択肢があります。それについて書いておきます。

< Raspberry Pi Desktop上で動かす >
README.mdに書いてある手順に従ってください。

< 軽量化システムを構築する >
Rasoverry Piのシステムは容量小さめのMicroSDカードに収まります。専用のシステムを構築するのが良いと思います。Desktopを使わない「Cageを使用したヘッドレス環境での起動手順」というのを用意しています。私はRaspiberry Pi4BにOSはRaspberry Pi OS Lite (64-bit)を新規に導入して専用システムを構築しました。
またOSの起動時に自動的にraspi4eyesが立ち上げる設定についても、この手順書に書いてあります。
軽量化システムのメモリーの様子です。

               total        used        free      shared  buff/cache   available
Mem:         3886904      399860     3189784       65496      424224     3487044
Swap:              0           0           0

< ターンキーシステム化 >
いきなり電源オフしても壊れないようにします。使用後にいちいちログインしてシャットダウンするのはあまりカッコの良いものではありません。使用する時は、必要な接続を行い電源を入れるだけ。使用後は電源をいきなり止めて仕舞えば良いという構成にすれば使い勝手がとてもよくなります。最近のRaspberry OSではとても簡単に実現できます。「ターンキーシステム化のための Overlay File System 設定手順

< noise_threshold >
raspi4eyesの機能の一つに砂嵐画面を検知して黒い画面に切り替えるというものがあります。これはHDZero Event VRXの同様の機能を真似してみようと実装しました。それを制御するための項目がconfig.jsonの中の”noise_threshold”です。規定値として0.4が入っています。受信機の特性や環境によっては砂嵐が時々見えてしまうかも知れません。その時はこの数値を少し増やしてみてください。私はある一つの受信機のために数値を0.42に変更しました。おそらく0.5くらいまでは増やしても大丈夫そうです。


< adjust.json >
砂嵐画面を出さないと困ることがひとつあります。それはROTG01 PROの周波数調整を行う時です。微調整はドローンからの画像が出ているときにすれば良いですが、最初に設定する時は砂嵐画面を出しておきたいです。そのためには先の”noise_threshold”を0にすれば良いです。これを0にしたconfigファイルadjust.jsonを用意しています。これをconfig.jsonの代わりに使用すれば良いです。DISPLAY=:0 .venv/bin/python raspi4eyes.py --config adjust.jsonあるいはcage -s -- .venv/bin/python raspi4eyes.py --config adjust.jsonのように使用します。

[ TinyViewPlusNG ]
fpv.xmlをこんなふうに設定しました。

<camera>
    <name>USB3 Video</name>
    <camnum>4</camnum>
    <description>4:3</description>
    <grab>
        <width>1920</width>
        <height>1080</height>
    </grab>
    <crop>
        <x>0</x>
        <y>0</y>
        <width>1920</width>
        <height>1080</height>
    </crop>
    <draw>
        <aspectRatio>4:3</aspectRatio>
    </draw>
    <fourCamHorizontal>0</fourCamHorizontal>
</camera>

[ FPVTrackSide ]
最初、4:3の解像度を選ぶべきと思っていましたが、どれが最適かよくわかっていないです。いろいろ試してみて下さい。レートは60Hzが良いと思います。
Video Inputの設定でChannel Splitsを2 x 2にすると画面を4分割してくれます。

DJI Avata 360の動画をDaVinci Resolveでグリグリ編集する

空飛ぶ360度カメラ、DJI Avata 360、とりあえず良さそうなところをゆったり飛ばして後からどこを見せるかを考えれば良いというシチュエーションによっては最強のツールです。

そのため従来の編集作業に加えてグルグル回すという作業が必要になります。そのためのツールとしてDJI Studioという動画編集アプリケーションとAdobe Premiere用のプラグインがありました。それに加えて待望のDaVinci Resolve用のプラグインDJI Reframeもついに提供されました。pkgファイルをダウンロードして導入すれば準備完了です。

最初にDJI StudioとDJI Reframeプラグイの違いについて書いておきます。

DJI Studioではあらかじめプログラムされた動きが用意されているので、簡単にグリグリ出来ます。また、目標を設定して追従させるインテリジェントトラッキングという機能はDJI Studioにしかありません。自分で細かく動きを決めるキーフレームという機能もあります。普通に軽く編集するだけならDJI Studioで十分です。

Premiereは持っていないので分かりませんがDaVinci ResolveのDJI Reframeで行えることはDJI Studioのキーフレームの機能だけです。キーフレーム間の変化量はDaVinci Resolveの方が自由度が高いです。なんと言っても、その他の多彩な動画編集機能と同時に使えることが最大の強みです。

簡単に手順を紹介します。

[ DJI StudioでDaVinci Resolve向けにExportする ]

DJI Studioに元の動画ファイルを読み込んでタイムラインを作成し「エクスポート/パノラマ動画/DaVinci Resolveフォーマット」を実行します。かなり時間がかかるので予め必要な部分だけに編集しておくのが良いと思います。

[ DaVinci Resolveに動画を読み込む ]

動画を読み込みタイムラインを作成したところです。360度全てが映り込んだ画面が表示されます。

[ DJI Reframeを適用する ]

「エフェクト/OpenFX/フィルター」にDJI Reframeがあります。それをタイムラインにドラッグ・ドロップします。するとプレビュー画面が変わります。

[ パラメーターを表示する ]

赤丸で囲った四角のアイコンをクリックしてパラメーターを表示します。これは表示しなくても編集作業は出来ますが、出しておいた方が格段にわかりやすくなります。

[ 横回転させてみる ]
360度の編集を横回転を例として紹介します。目標はタイムラインの35秒から左にパンを始めて40秒で360度回転して終了するというものです。

まずインスペクタでエフェクト/OpenFXを出しておきます。タイムラインの現在位置を35秒のところにしてインスペクタのPanの右の方にある小さな菱形をクリックします。すると菱形が赤くなりキーフレームが記録されます。これを起点とします。

40秒のところに移動して先ほどと同様にPanの小さな菱形をクリックし、ここを終点とします。そしてPanの数値を360とします。タイムラインのパラメーターを見るとどこにキーフレームを打ったが明確に分かります。

これで回転動作が出来ました。タイムラインを再生させて確認します。

この要領でTiltやRotate, FOVなどを組み合わせていきます。

このままだと二つのキーフレームの間の数値の変化は一定速度です。これを例えば最初はゆっくりでだんだん加速するみたいなこともできます。

パラメーターの左横のカーブしたアイコンとPanの左端のカーブアイコンをクリックした状態です。これで表示されるグラフを変更すると数値変化の具合を調整できます。

最後に複数の動作を組み合わせた例を紹介しておきます。

VTXバンド、チャネルを表示するEdgeTXのウィジェットを作りました

このELRSVTXウィジェットはExpressLRSもしくはEasyVTXchでVTXのチャネルを変更した時にのみ有効です。

[ 導入 ]
ELRSVTXのリリースページから最新版のELRSVTX.zipをダウンロードして展開したものをEdgeTX送信機のSDカードのWIDGETS下にコピーします。コピー後は以下のような配置になります。

/WIDGETS/ELRSVTX/main.lua

ウィジェットの配置方法、設定方法についてはここでは説明しませんので、別途調査してください。

[ 技術的背景 ]
送信機上でExpressLRS LuaスクリプトあるいはEasyVTXch Luaスクリプトを使用してVTXチャネルの変更を行うとELRS TXモジュールを経由してドローンのVTXチャネルを変更していることは容易に想像できると思います。実際に使用していると、一度変更を実施すると、別のドローンを接続した際にスクリプトでの操作を行わなくても前回設定したVTXチャネルが新たに接続したドローンにも反映されることに気づくと思います。また送信機のオフオンを行っても前回設定したVTXチャネルを覚えています。

このVTXチャネル設定はEdgeTXが覚えているわけではなくELRS TXモジュールが記憶していることがelrs.luaを解析することによりわかりました。

さらにいうならばExpressLRS Luaスクリプトを起動すると以下のメニューが出ますが、これらの項目は全てELRS TXモジュールに格納されている文字列、設定項目です。

このメニューの中にVTX Admin (F:4:1)という部分があるので、このスクリプトを起動すればELRS TXモジュールが記憶しているVTXチャネルはわかります。ただ面倒です。そこでこのデータを取得し表示するウィジェットを作成すれば、送信機の電源投入直後に確認できて便利であるというのが、このウィジェットの目的です。

私的Betaflightプリセット、github編

公式のプリセット設定ガイドではguthub上で開発およびテストを行う方法が紹介されています。この方法で自分だけのプリセットを作ることが出来ます。

ただしgithubの仕組みについてある程度の知識が必要です。当然、githubのアカウントも必要です。また、仕組み上URLを知る人全てに公開することにもなります。gitによる履歴管理が出来るのが大きなメリットでもあります。なんでもgitで管理したい人には超お勧めです。

githubを使用しない方法は別の記事で解説しています。

以下、私的プリセットの作り方ですがgithubの操作が出来ることを前提としています。

本家のリポジトリは以下のURLです。
https://github.com/betaflight/firmware-presets

手順は、概ねこのリポジトリのreadmeに書かれている通りです。
– 自分のgithubアカウントにfirmware-presetsをforkします(readmeではcloneすると書かれている)。
– PCに自分のアカウントのfirmware-presetsをcloneします。
– 独自のbranchを作成する。
– presers以下にBetafliightバージョン、カテゴリー別に分類されてプリセットファイルが配置されているので、既存のファイルに倣って自分のプリセットファイルを作成します。#$で始まるヘッダーは見ればわかる内容なのでそれなりに真似をします。それ以下は基本的にはCLIコマンドを並べるだけです。オプションによる選択肢付きの記述例は私のLEDプリセットをご覧ください。
自分のものと関係のないプリセットは削除してしまうのが良いと思います。
– 以下のコマンドを実行する。(Node.jsが導入されていることが必要です)

node indexer/indexer.js
node indexer/check.js

AI任せで生成したPython版のインデックス作成ツールもあります。実行方法は以下の通り。

python3 -m python_indexer.indexer

– [readmeにはないステップ] “.gitignore”を編集し”/index.json”と”/index_hash.txt”取り除く。
– 自分のgithubのbranchにpushする。

プリセットソースに自分のgithub URLとbranch名を設定すれば使えるようになります。具体的な手順は「BetaflighのLED設定を行うプリセットを作りました」をご覧ください。

私的Betaflightプリセット、webサーバー編

私的Betaflightプリセット、Visual Studio Code+Live Server編」の続きとして書きます。実際はサーバー上で全ての作業を完結させることも可能ですが、ここではPC上で作成したデータを使用することにします。

どこかにwebサーバーをお持ちの方は上の記事で作成したfirmware-presetsフォルダーをサーバーにアップロードすればほぼ完成と言っても良いです。サーバーは家庭内、インターネット上、どちらでも大丈夫と思います。私自身は家庭内で常時稼働しているNAS上のwebサーバーを使用しています。インターネット上のサーバーでも変わりはないと思いますが、私の考慮が足りないこともありますので稼働するに当たって何か問題があってまご容赦願います。

Betaflight Configuratorがアプリ版の場合は問題ありませんが、2025.12以降のweb版を使用する場合は”firmaware-presets/.htaccess”に以下の一行を設定する必要があります。

Header set Access-Control-Allow-Origin: https://app.betaflight.com

私の場合、NAS上で稼働していたwebサーバーがNginxであったため上の設定が正しく反映できませんでした。Apacheに入れ替えて正しく機能するようになりました。

あとはローカルの時と同様にプリセットソースにサーバーのURLを設定すれば使えます。

まだ環境的には完成していませんが、MacBook Air上でプリセットを作成、NASに同期、家庭内では常時稼働のNASをプリセットソースとして使用。出先ではVSCodeのLive Serverをプリセットソースとして使用するという方式で運用することにしました。

私的Betaflightプリセット、Visual Studio Code+Live Server編

プリセットを自分で持つためには何かしらBetaflight Configuratorにデータを提供するための仕組みが必要です。その基本要素はwebサーバーです。ここでは自分のPC上にwebサーバーを持つ手段としてVisual Studio Codeの拡張機能を使用する方法を紹介します。これが一番手軽な方法と思います。

以下の手順はmacOS, Windows 11共に確認しています。Windowsの場合はPython3の導入(とても簡単)が必要です。

[ Visual Studio Codeの導入 ]
とても使いやすく多機能なテキストエディターです。もし持っていなければ導入しておいて損はないと思います。導入は難しくないのですし情報も多く見つかると思いますので導入手順は省略します。

[ Live Server拡張機能の導入 ]
– Visual Studio Code、以下VSCodeと表記、で”表示/拡張機能(View/Extensions)”を開く
– “Live Server”を検索しインストールする

– 続いて歯車アイコン/設定(Settings)を開きます

– [重要] Corsという設定を探してチェックを入れます、Betaflight Configuratorのwebアプリ版では必須です

これでローカルのwebサーバーを起動する準備ができました。

[ firmware-presetsのダウンロード ]
– 本家のfirmware-presetsもしくは私のfirmare-presets udonのページを開きます
– Codeボタンを押してDownload ZIPを行います
– ダウンロードしたZIPファイルをどこかに展開します

[ プリセットの作成 ]

展開したZIPファイルの中のpresetsフォルダー以下にファームウェアのバージョンを記したフォルダー、その下にカテゴリーのフォルダーがあり、そこにプリセットを置きます。自分自身だけのプリセットデータを置くので、既存のデータは全部消します。

ここでは例として私のタイニー用のモード設定のプリセットを作ってみます。
– パス名はpresets/2025.12/other/TinyMode.txtとします
– 内容は下のようにしました。

#$ TITLE: My Mode settings for TinyWhoop
#$ FIRMWARE_VERSION: 2025.12
#$ CATEGORY: OTHER
#$ STATUS: COMMUNITY
#$ KEYWORDS: tiny, mode
#$ AUTHOR: KozakFPV

#$ DESCRIPTION: My Mode settings for TinyWhoop

# aux
aux 0 0 0 900 1300 1 0
aux 1 1 1 1700 2100 0 0
aux 2 13 2 1300 1700 0 0
aux 3 28 1 900 1300 0 0
aux 4 28 4 900 1700 0 0
aux 5 35 2 900 1300 0 0

上の方の#$の部分は見様見真似で大丈夫と思います。下の方の実際のコマンドは既存のdiff allから必要な部分をコピーしたものです。

[ index.jsonの生成 ]
公式なやり方ではNode.jsの導入が必要です。以下のようなコマンドでindex.jsonを作成、更新します。

node indexer/indexer.js
node indexer/check.js

Node.jsを導入したくない場合、Pythonでも実行できるようにしました。
indexerのスクリプト群をGeminiにお願いしてPythonのコードに変換してみました。私のudonリポジトリーのpython_indexerにアップロードしています。最近のmacOSならば最初から導入されているPython3で次のコマンドでindex.jsonが作れます。ただし、色々なケースでのテストは出来ていないので結果の保証はありません。

python3 -m python_indexer.indexer

[ Live Serverの起動 ]
– VSCodeを開きます
– メニューから「ファイル/フォルダーを開く…(File/Open Folder…)」で”firmware-presets”フォルダーを選択する
– VScodeの右下の「Go Live」をクリックしてサーバーを起動する

[ Betaflight Configuratorのプリセットを使う ]

– 機体を接続してBetaflight Configuratorのプリセットを開く
– 「プリセットソース…」ボタンを押す
– 「新しいソースを追加」でNameは任意の文字列、Urlにhttp://127.0.0.1:5500を指定し「有効にする」を押す、既存のプリセットソースを無効にすると最初は分かりやすいかもしれません

– 必要に応じてカテゴリーやキーワード、作者などから検索して自分のプリセットを見つけて開く
– 「CLIを表示」して中身を確認し「選択」を押す
– 「保存して再起動」を押してプリセットを適用する

以上で完了です。チェックボックスを付けてCLIを選択できるようにすることも出来ます。このあたりは既存のプリセットを見てやり方を真似すると良いでしょう。

自分用のBetaflightプリセットを持つススメ

複数のFPVドローンを作っていると毎回自分なりの設定、しかも全く同じ設定を施していくことになります。レース機などで全く同じハードウェアならばdiff allを移していくだけでも良いですが、レートだけ同じものを使いたいとかモード画面だけをコピーしたいという場合、必要な部分をdiff allから抜き出して保管しておくという手法を利用されている方も多いと思います。

この記事はそう言ったdiff allから必要情報を抜き出すことが出来る人を対象に書いていきます。実際のところdiff allのデータは簡単に理解出来る部分も多くあります。これを機会にdiff allを眺めていただくのも良いかと思います。

必要なデータをCLIで読み込ませるだけでも目的を達成できます。それに対してプリセットを利用するメリットは注釈付きで一元管理出来ることです。また、場合によってはチェックボックスを表示して内容を選択してから適用するような仕組みも実装出来ます。

実際の私設プリセットの様子は「BetaflighのLED設定を行うプリセットを作りました」をご覧ください。これはLED設定のCLIコマンドをプリセット化したものです。いかなる設定でもCLIさえ決まればプリセット化出来ます。しかも私的なものであれば細かい内容を考えなくとも試すことが出来ます。実際にやってみるとなかなか便利です。お勧めします。

実装の方法をいくつかのパートに分けて紹介していきます。

私的Betaflightプリセット、Visual Studio Code+Live Server編 / とりあえず一番お手軽
私的Betaflightプリセット、webサーバー編 / 自前のサーバーを持っている人向け
私的Betaflightプリセット、github編 / gitを使っている人、gitに挑戦したい人向け

Betaflightプリセットのススメ

Betaflight Configuratorのプリセット画面を活用されていますか?

プリセットとは様々な設定をややこしいことを考えることなく適用するための仕組みです。VTXテーブルのような基本設定から達人のレートを取り入れたいみたいなマニアックな物まで色々あります。色々たくさんありすぎて意味不明な設定画面と見られている面もあるかと思います。

私が常用している二つの公式プリセットを紹介したいと思います。

[ VTXテーブル ]
当初、VTXテーブルはどこからか設定ファイルを探してきてVTX画面で読み込むという物でしたがTBS UnifyとかOVX300などの有名どころであればプリセットの適用で設定できます。

選択するとオプションを選ぶものもあります。

どのような設定がされるかはCLIを表示すれば確認できます。

[ ELRSリンク ]
ELRSのパケットレートに応じたプリセットを適用することにより適切なFeed Forwardが設定できます。この効果を自分自身で確認できたことはありません。おまじない的に設定しています。最近のOscar Liangの記事によると、これをちゃんとしないと振動が出るとも書かれています。

以上はBetaflightから公式に提供されている物です。私が個人的に提供しているLED設定もあります。
BetaflighのLED設定を行うプリセットを作りました

といった具合でプリセットはなかなか便利です。というこの記事は実はまえふりで、自前の設定をプリセット化すると便利だよという内容でブログを書こうと狙っています。

S1ポッドでLEDを決まった色にする設定

元々S1スイッチでLEDの色を変更しようというアイデアは調整次第で微妙な色を出そうという物でした。レースでへ決められた色を出すためには少々無理がありました。それをEdgeTXの設定でなんとかしようという試みです。

ELRSの設定によってはS1の挙動がカクカクするため黄色がちゃんと出ないという問題がありますが、それもこの設定で解決します。

ELRSのSwitch ModeがWideの場合はAUXがスティックと同様に細かい値を取ることが出来ますが、Switch ModeをHybridにするとデータ量を節約するためにAUXでは段階的な値しか取ることが出来ません。

[ 前提 ]
Betaflightの設定は「4波対応-プロポのポット(S1, S2)でLED色を変更する」で行います。

[ EdgeTXの設定 ]
Jumper T15でS1スイッチをAUX7として使用する場合の設定した時の画面です。他機種でもおそらく同様の設定が使用できるものと想像します。

全てモデルの設定の中で行います。
– CURVES

LEDという名前で上の通りの設定を作りました。グラフの意味は横軸(X)がS1の回転を現します。縦軸(Y)は実際にchannelに出力される値です。それぞれ中心を0とした+/-100で表現されています。Betaflightの受信機タブで表示される数値で言い換えるとS1が左端にある時は1000で、徐々に右に回していくと1250になり、中央付近では1500、右端に行くと2000が出力されます。

– INPUTS

s1という名前のINPUTSを作りました。SourceにS1、CurveをCstmとして上で作成したLEDを指定しました。

– MIXES

T15の標準設定ではCH10までは埋まっていると思います。そこでCH11を新設することにしました。これはBetaflighの受信機タブではAUX7に相当します。
Sourceに上で作成したledを指定するだけで完了です。