インタラクティブモード(リモコンアプリ)
ここではリモコンアプリ(App_IO)に固有の機能を説明します。共通機能については、TWELITE APPS マニュアル のトップページを参照してください。
TWELITE がスリープしている間はインタラクティブモードを使用できません。
M3ピンをGNDへ接続していないことを確認してください。
表示例
次のような画面を表示します。
--- CONFIG/APP_IO V1-03-2/SID=0x86300001/LID=0x00 ---
a: set Application ID (0x67720107)
i: set Device ID (--)
c: set Channels (16)
x: set Tx Power (3)
t: set mode4 sleep dur (1000ms)
y: set mode7 sleep dur (0s)
f: set mode3 fps (16)
d: set hold mask (000000000000)
D: set hold dur (1000ms)
o: set Option Bits (0x00000000)
b: set UART baud (38400)
p: set UART parity (N)
C: set crypt mode (0)
K: set crypt key []
---
S: save Configuration
R: reset to Defaults
コマンド
| 設定項目 | 初期値 | 備考 | |
|---|---|---|---|
a | アプリケーションID | 0x67720107 | 32bit |
i | 論理デバイスID | 120 | 親機121,子機1-100,IDなし子機120,未設定0 |
c | 周波数チャネル | 16 | 11-26 |
x | 再送回数と送信出力 | 3 | |
| 再送回数 | 0 | 1-9回、0はデフォルト:2回 | |
| 送信出力 | 3 | 0-3 | |
t | 子機間欠1秒モードの間隔 | 1000 | 100-64000ms |
y | 子機間欠10秒モードの間隔 | 0 | 2-10000s, 無効0 |
f | 子機連続0.03秒モードのサイクル | 32 | 4/8/16/32回毎秒 |
d | ホールド/長押しモードの対象 | 000000000000 | 右からI1-I2, 有効1 |
D | ホールド/長押しモードの時間 | 1000 | 20-64000ms |
o | オプションビット | 0x00000000 | その他の詳細設定 |
b | UART代替ボーレート | 38400 | BPSピンで有効化 |
p | UARTパリティ | N | ストップビットは1固定 |
C | 暗号化 | 0 | 無効0,AES128bit1 |
K | 暗号鍵 | - | 最大16文字 |
各コマンドの詳細を次に示します。
a:アプリケーションID
通信を行う端末はすべて同一の値とします。論理的にネットワークを分離します。
i:論理デバイスID
複数の子機を識別する必要がある場合に設定します。
識別の必要がない、できない場合は120としてください。識別の必要がある場合は、子機は1-100の任意の値に、親機は0あるいは121としてください。
c:周波数チャネル
通信を行う端末はすべて同一の値とします。物理的にネットワークを分離します。
x:送信出力と再送回数
電波の送信出力と、透過モードおよびヘッダ付き透過モードにおいてパケットを追加で送信する回数を指定します。
t:子機間欠1秒モードの間隔
子機間欠1秒モードの間欠時間を1秒から他の値へ上書きします。単位はミリ秒です。
0を設定した場合は、タイマによる定期的な起床を無効化します。このときIxの立ち下がりエッジにより起床しますが、立ち上がりエッジでは起床しません。
y:子機間欠10秒モードの間隔
子機間欠10秒モードの間欠時間を10秒から他の値へ上書きします。単位は秒です。
0を設定した場合は、タイマによる定期的な起床を無効化します。このときIxの立ち下がりエッジにより起床しますが、立ち上がりエッジでは起床しません。
f:子機連続0.03秒モードのサイクル
毎秒の送信リクエストの数を32回から4/8/16回へ上書きします。再送回数は含みません。
d:ホールド/長押しモードの対象
初期状態ではホールドモードの、オプションビット0x00000100を有効としたときはリモコン長押しモードの対象とするポートを選択します。
設定値には、対象とするIxまたはOxのビットマスクを指定します。値は12文字までの0または1で構成します。LSBから順に I1 I2 … I12 と並びます。
例えば 000000001010 を指定すると、I2とI4にホールドモードを適用できます。任意のピンを対象とした場合、対象としていないポートからは50msのパルスを出力します。
ホールドモード
ホールドモードの場合、対象としたポートは次のように振るまいます。
入力(送信)側:Ix
- すべての入力がLoからHiへ戻ったあと、設定した時間にわたり連続して送信します(ホールド解除のため)
出力(受信)側:Ox
- 受信した入力のうち、Loであるものに対しては、設定した時間にわたり出力をLoのままホールドします
- いずれかの出力のホールド中に再び入力がLoの信号を受信した際は、ホールドする期間を延長します
リモコン長押しモード
リモコン長押しモードの場合、対象としたポートは次のように振るまいます。
入力(送信)側:Ix
- いずれかの入力がLoである間、連続して送信します
- すべての入力がLoからHiへ戻ったあと、設定した時間にわたり連続して送信します
出力(受信)側:Ox
- いずれかの入力がLoであるパケットが断絶してから設定した時間が経過すると、出力をHiへ戻します
D:ホールド/長押しモードの時間
初期状態ではホールドモードを、オプションビット0x00000100を有効としたときはリモコン長押しモードのホールド時間や送信間隔といった値を指定することができます。
20-64000 ms の値を指定できます。
ホールドモード
ホールドモードの場合、設定した時間は次のように適用されます。
入力(送信)側:Ix
連続モードでは、すべての入力がLoからHiへ戻ったあとに連続して送信する時間を指定します。
間欠モードでは、いずれかの入力がLoである間の送信間隔を指定します。
出力(受信)側:Ox
出力を維持する時間を指定します。
リモコン長押しモード
リモコン長押しモードの場合、設定した時間は次のように適用されます。
入力(送信)側:Ix
すべての入力がLoからHiへ戻ったあとに連続して送信する時間を指定します。
出力(受信)側:Ox
いずれかの入力がLoのパケットが断絶してからすべての出力をHiへ戻すまでの時間を指定します。
o:オプションビット
32bit の数値を指定します。各ビットに紐付いた設定を有効化できます。
| 対象ビット | 設定項目 | 初期 | 送信 | 受信 | 連続 | 間欠 |
|---|---|---|---|---|---|---|
0x00000001 | 低レイテンシモード | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000002 | 低レイテンシモード(スリープ割り込み) | 0️⃣ | ✅ | ✅ | ||
0x00000010 | ACKつき送信の有効化 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000020 | 定期送信の無効化 | 0️⃣ | ✅ | ✅ | ||
0x00000100 | リモコン長押しモードの有効化 | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00000200 | C1/C2チャネル切り替えの無効化 | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00000400 | Ixの入力を反転 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000800 | Ixの内部プルアップを停止 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00001000 | 子機:8入力4出力/親機:8出力4入力 | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00002000 | 子機:6入力6出力/親機:6出力6入力 | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00003000 | 子機:0入力12出力/親機:0出力12入力 | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00010000 | 子機の受信を強制的に有効化 | 0️⃣ | ✅ | ✅ | ||
0x00020000 | 入出力変化時のUART出力の停止 | 0️⃣ | ✅ | ✅ | ||
0x00040000 | C2のウォッチドッグ出力を有効化 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00400000 | Oxの出力を反転 | 0️⃣ | ✅ | ✅ | ✅ |
b:UART代替ボーレート
BPSピンをGNDへ接続して起動した場合に選択される代替ボーレートを38400bpsから上書きします。
値は9600/19200/38400/57600/115200/230400から選択できます。他の値を指定すると、誤差が生じる可能性があります。
BPSピンを開放して起動した場合、この設定は適用されません。115200bpsに固定されます。B:UARTパリティ
N: 無し、O: Odd(奇数)、E: Even(偶数)のいずれかを設定します。ストップビットは1のみ、ハードウェアフローは設定不可です。
C:暗号化
暗号化機能の有無を指定します。
AES128bitの暗号化を有効とするには、1を指定してください。
K:暗号鍵
暗号化に用いる鍵を入力します。16文字のテキストを指定します(バイナリ列は指定できません)。
オプションビットの詳細
オプションビットの値の各ビットに紐付いた設定を解説します。
0x00000001:低レイテンシモード
低レイテンシモードで入力状態の監視と無線送信を行います。
ボタン監視の時間を短縮し、送信遅延を最小にします。また、連続モードでは入力の判定に割り込みを使用しますが、チャタリングの影響を受けやすくなります。間欠モードでは、入力状態の確定までの時間を短縮します。
子機のみ有効です。
0x00000002:低レイテンシモード(スリープ割り込み)
間欠モード時にスリープ復帰要因がIxのHiからLoへの割り込みであったとき、割り込み要因のポート情報を速やかに送信します。
特に子機間欠10秒モードにおいて、定期起床を無効としたとき、ボタンの押し下げを検出するためにホールドモードと合わせて利用します。
子機のみ有効です。
0x00000001の設定を使用してください。0x00000010:ACKつき送信の有効化
子機から ACK を有効とした通信を行います。親機が ACK を返した時点で送信は終了します。
複数台の親機やすべての中継機は利用できませんが、親機と安定して通信できる環境では効率のよい通信を実現できます。
子機間欠10秒モードの場合、BPSピンが出力ピンとして設定されるため、子機側のボーレートの上書きはできません。
0x00000020:定期送信の無効化
子機連続モードにおける1秒おきの定期送信を無効化します。
0x00000100:リモコン長押しモードの有効化
ホールドモードの代わりに、リモコン長押しモードを適用します。
0x00000200:C1/C2チャネル切り替えの無効化
C1/C2ピンによるチャネル切り替え機能を停止します。
0x00000400:Ixの入力を反転
入力が Hi のとき1を、Lo のとき0を送信します。
0を、 Lo のとき1を送信します。0x00000800:Ixの内部プルアップを停止
Ixの内部プルアップ(約50kΩ)をすべて停止します。
0x00001000:子機:8入力4出力/親機:8出力4入力
入出力ポートの割り当てを「子機:12入力0出力/親機:12出力0入力」から変更します。間欠モードでは間欠受信を行います。
0x00002000:子機:6入力6出力/親機:6出力6入力
入出力ポートの割り当てを「子機:12入力0出力/親機:12出力0入力」から変更します。間欠モードでは間欠受信を行います。
0x00003000:子機:0入力12出力/親機:0出力12入力
入出力ポートの割り当てを「子機:12入力0出力/親機:12出力0入力」から変更します。間欠モードでは間欠受信を行います。
0x00010000:子機の受信を強制的に有効化
連続モードのとき、出力ポートの有無に関わらず強制的に受信を有効化します。
他の端末から受信したデータのUART出力を実現できます。
0x00020000:入出力変化時のUART出力の停止
入出力変化時のメッセージ出力を停止します
0x00040000:C2のウォッチドッグ出力を有効化
C2ポートからウォッチドッグ出力を行います。
アプリケーションループでIOを制御し、約32Hzの矩形波を出力します。
モジュールのハングアップに備えて、自動復帰のために外部のリセット回路を接続し、モジュールを強制的にリセットする際に使用します。
0x00400000:Oxの出力を反転
受信した入力ポートの状態が 0 のとき Lo を、1 のとき Hi を出力します。
0 のとき Hi を、1 のとき Lo を出力します。