/

リモコンアプリのインタラクティブモード

インタラクティブモードによる設定変更
インタラクティブモードでアプリの詳細設定を行うことができます。

ここではリモコンアプリ(App_IO)に固有の機能を説明します。共通機能については、TWELITE APPS マニュアル のトップページを参照してください。

表示例

次のような画面を表示します。

--- 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アプリケーションID0x6772010732bit
i論理デバイスID120親機121,子機1-100,IDなし子機120,未設定0
c周波数チャネル1611-26
x再送回数と送信出力3
再送回数01-9回、0はデフォルト:2回
送信出力30-3
t子機間欠1秒モードの間隔1000100-64000ms
y子機間欠10秒モードの間隔02-10000s, 無効0
f子機連続0.03秒モードのサイクル324/8/16/32回毎秒
dホールド/長押しモードの対象000000000000右からI1-I2, 有効1
Dホールド/長押しモードの時間100020-64000ms
oオプションビット0x00000000その他の詳細設定
bUART代替ボーレート38400BPSピンで有効化
pUARTパリティ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 I2I12 と並びます。

例えば 000000001010 を指定すると、I2I4にホールドモードを適用できます。任意のピンを対象とした場合、対象としていないポートからは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️⃣
0x00000010ACKつき送信の有効化0️⃣
0x00000020定期送信の無効化0️⃣
0x00000100リモコン長押しモードの有効化0️⃣
0x00000200C1/C2チャネル切り替えの無効化0️⃣
0x00000400Ixの入力を反転0️⃣
0x00000800Ixの内部プルアップを停止0️⃣
0x00001000子機:8入力4出力/親機:8出力4入力0️⃣
0x00002000子機:6入力6出力/親機:6出力6入力0️⃣
0x00003000子機:0入力12出力/親機:0出力12入力0️⃣
0x00010000子機の受信を強制的に有効化0️⃣
0x00020000入出力変化時のUART出力の停止0️⃣
0x00040000C2のウォッチドッグ出力を有効化0️⃣
0x00400000Oxの出力を反転0️⃣

b:UART代替ボーレート

BPSピンをGNDへ接続して起動した場合に選択される代替ボーレートを38400bpsから上書きします。

値は9600/19200/38400/57600/115200/230400から選択できます。他の値を指定すると、誤差が生じる可能性があります。

B:UARTパリティ

N: 無し、O: Odd(奇数)、E: Even(偶数)のいずれかを設定します。ストップビットは1のみ、ハードウェアフローは設定不可です。

C:暗号化

暗号化機能の有無を指定します。

AES128bitの暗号化を有効とするには、1を指定してください。

K:暗号鍵

暗号化に用いる鍵を入力します。16文字のテキストを指定します(バイナリ列は指定できません)。

オプションビットの詳細

オプションビットの値の各ビットに紐付いた設定を解説します。

0x00000001:低レイテンシモード

低レイテンシモードで入力状態の監視と無線送信を行います。

ボタン監視の時間を短縮し、送信遅延を最小にします。また、連続モードでは入力の判定に割り込みを使用しますが、チャタリングの影響を受けやすくなります。間欠モードでは、入力状態の確定までの時間を短縮します。

子機のみ有効です。

0x00000002:低レイテンシモード(スリープ割り込み)

間欠モード時にスリープ復帰要因がIxのHiからLoへの割り込みであったとき、割り込み要因のポート情報を速やかに送信します。

特に子機間欠10秒モードにおいて、定期起床を無効としたとき、ボタンの押し下げを検出するためにホールドモードと合わせて利用します。

子機のみ有効です。

0x00000010:ACKつき送信の有効化

子機から ACK を有効とした通信を行います。親機が ACK を返した時点で送信は終了します。

複数台の親機やすべての中継機は利用できませんが、親機と安定して通信できる環境では効率のよい通信を実現できます。

子機間欠10秒モードの場合、BPSピンが出力ピンとして設定されるため、子機側のボーレートの上書きはできません。

0x00000020:定期送信の無効化

子機連続モードにおける1秒おきの定期送信を無効化します。

0x00000100:リモコン長押しモードの有効化

ホールドモードの代わりに、リモコン長押しモードを適用します。

0x00000200C1/C2チャネル切り替えの無効化

C1/C2ピンによるチャネル切り替え機能を停止します。

0x00000400Ixの入力を反転

入力が Hi のとき1を、Lo のとき0を送信します。

0x00000800Ixの内部プルアップを停止

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出力の停止

入出力変化時のメッセージ出力を停止します

0x00040000C2のウォッチドッグ出力を有効化

C2ポートからウォッチドッグ出力を行います。

アプリケーションループでIOを制御し、約32Hzの矩形波を出力します。

モジュールのハングアップに備えて、自動復帰のために外部のリセット回路を接続し、モジュールを強制的にリセットする際に使用します。

0x00400000Oxの出力を反転

受信した入力ポートの状態が 0 のとき Lo を、1 のとき Hi を出力します。