インタラクティブモード(超簡単!標準アプリ)
ここでは超簡単!標準アプリ(App_Twelite)に固有の機能を説明します。共通機能については、TWELITE APPS マニュアル のトップページを参照してください。
TWELITE がスリープしている間はインタラクティブモードを使用できません。
Mx
ピンの設定を子機連続モードあるいは親機・中継機モードとしてください。
表示例
次のような画面を表示します。
--- CONFIG/TWELITE APP V1-01-1/SID=0x8201001f/LID=0x78 ---
a: set Application ID (0x67720102)
i: set Device ID (--)
c: set Channels (18)
x: set Tx Power (03)
t: set mode4 sleep dur (1000ms)
y: set mode7 sleep dur (10s)
f: set mode3 fps (32)
z: set PWM HZ (1000,1000,1000,1000)
o: set Option Bits (0x00000000)
b: set UART baud (38400)
p: set UART parity (N)
---
S: save Configuration
R: reset to Defaults
コマンド
設定項目 | 初期値 | 備考 | |
---|---|---|---|
a | アプリケーションID | 0x67720102 | 32bit |
i | 論理デバイスID | 自動 | 子機1 -100 ,親機121 ,中継機122 |
c | 周波数チャネル | 18 | 11 -26 |
x | 再送回数と送信出力 | 03 | |
再送回数 | 0 | 1 -9 回、0 は初期値の2回、F は無効 | |
送信出力 | 3 | 0 -3 | |
t | 子機間欠1秒モードの間隔 | 1000 | 100 -10000 ms |
y | 子機間欠10秒モードの間隔 | 10 | 2 -10000 s |
f | 子機連続0.03秒モードのサイクル | 32 | 4 /8 /16 /32 回毎秒 |
z | PWMx の周波数 | 1000 | 1 -64000 Hz、カンマ区切りで個別設定 |
o | オプションビット | 0x00000000 | その他の詳細設定 |
b | UART代替ボーレート | 38400 | BPS ピンで有効化 |
p | UARTパリティ | N | 8-(N /O /E )-1 |
各コマンドの詳細を次に示します。
a
:アプリケーションID
通信を行う端末はすべて同一の値とします。論理的にネットワークを分離します。
i
:論理デバイスID
複数の子機を識別する必要がある場合に設定します。
子機の場合は1
-100
の任意の値へ、親機の場合は121
へ、中継機の場合は122
へ設定してください。
121
または122
へ設定すると、親機または中継機モードへ切り替えできます。このときMx
ピンの設定は必要ありません。超簡単!標準アプリでは、動作モードによって論理デバイスIDの初期値が異なります。
c
:周波数チャネル
通信を行う端末はすべて同一の値とします。物理的にネットワークを分離します。
x
:送信出力と再送回数
電波の送信出力と、パケットを追加で送信する回数を指定します。
t
:子機間欠1秒モードの間隔
子機間欠1秒モードの間欠時間を1秒から他の値へ上書きします。単位はミリ秒です。
0
を設定した場合は、タイマによる定期的な起床を無効化します。このときDIx
の立ち下がりエッジにより起床しますが、立ち上がりエッジでは起床しません。
y
:子機間欠10秒モードの間隔
子機間欠10秒モードの間欠時間を10秒から他の値へ上書きします。単位は秒です。
0
を設定した場合は、タイマによる定期的な起床を無効化します。このときDIx
の立ち下がりエッジにより起床しますが、立ち上がりエッジでは起床しません。
f
:子機連続0.03秒モードのサイクル
毎秒の送信リクエストの数を32回から4
/8
/16
回へ上書きします。再送回数は含みません。
z
:PWMx
の周波数
値を一つ指定した場合は、すべてのPWMポートの周波数を上書きします。カンマ区切りで指定した場合は、PWM1
-PWM4
に個別の値を上書きできます。
o
:オプションビット
32bit の数値を指定します。各ビットに紐付いた設定を有効化できます。
対象ビット | 設定項目 | 初期 | 送信 | 受信 | 連続 | 間欠 |
---|---|---|---|---|---|---|
0x00000001 | 低レイテンシモード | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000002 | 定期送信の無効化 | 0️⃣ | ✅ | ✅ | ||
0x00000004 | 定期送信とUART出力の無効化 | 0️⃣ | ✅ | ✅ | ||
0x00000010 | AIx の変化による送信の無効化 | 0️⃣ | ✅ | ✅ | ||
0x00000020 | AIx の値の無効化 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000040 | PWMx の計算式を変更 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000100 | ボタン押下時のみ送信 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00000800 | DIx の内部プルアップを停止 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00008000 | 子機へ中継機能を付与 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00001000 | 子機中継時の最大中継段数を2とする | 0️⃣ | ✅ | ✅ | ✅ | |
0x00002000 | 子機中継時の最大中継段数を3とする | 0️⃣ | ✅ | ✅ | ✅ | |
0x00010000 | PWMx の波形を反転 | 0️⃣ | ✅ | ✅ | ||
0x00020000 | 起動後PWMx を落とす | 0️⃣ | ✅ | ✅ | ||
0x00080000 | 代替ポート割り当て | 0️⃣ | ✅ | ✅ | ✅ | ✅ |
0x00100000 | 起動後2秒間DOx を落とす | 0️⃣ | ✅ | ✅ | ||
0x00400000 | DOx の出力を反転 | 0️⃣ | ✅ | ✅ | ✅ | |
0x00800000 | DOx の内部プルアップを停止 | 0️⃣ | ✅ | ✅ | ✅ |
b
:UART代替ボーレート
BPS
ピンをGND
へ接続して起動した場合に選択される代替ボーレートを38400
bpsから上書きします。
値は9600
/19200
/38400
/57600
/115200
/230400
から選択できます。他の値を指定すると、誤差が生じる可能性があります。
BPS
ピンを開放して起動した場合、この設定は適用されません。115200
bpsに固定されます。
ボーレート変更によってインタラクティブモードが使用できない事態を防ぐための仕様です。
p
:UARTパリティ
N
はパリティ無し、O
は奇数、E
:は偶数を示します。
データビットは8、ストップビットは1で固定されます。ハードウェアフローは設定できません。
オプションビットの詳細
オプションビットの値の各ビットに紐付いた設定を解説します。
00000001
:低レイテンシモード
低レイテンシモードは、DIx
の変化を検知してから速やかに送信を行うことで、受信側の遅延を短縮します。
低レイテンシモードの動作
初期状態ではDIx
がDOx
へ反映されるまでに30-70ms程度の遅延が生じます。低レイテンシモードでは、チャタリングや無線パケットの干渉を避けるための処理を簡略化することで、遅延を3-10ms程度に短縮します。
- 立ち下がりエッジの検出には割り込みを利用します
- 検出後、約100msの間は新たな検出を行いません
- 立ち上がりエッジの検出には定期的な判定を利用します
- 1msおきに5回連続でHighである場合に送信します
- (初期状態では4msおきに5回連続でHighである場合に送信します)
- 検出時は送信および再送の遅延を設定しません。直ちに無線パケットを送信します
- 代表的な遅延は、
DIx
の立ち下がりの場合に約3-5ms、立ち上がりの場合に約10msです - 実際の遅延は送受信の失敗などを理由に変化します
- 間欠モードにおいても、本体の起床から送信までの時間を短縮します
00000002
:定期送信の無効化
連続モードにおける1秒おきの定期送信を無効化します。
00000004
:定期送信とUART出力の無効化
子機:連続モードにおける1秒おきの定期送信を無効化するほか、受信データのUART出力を停止します。
00000010
:AIx
の変化による送信の無効化
子機:連続モードにおいて、AIx
の入力が変化した際の送信を無効化します。
開放されたAIx
ポートは不定の値を報告するため、正気状態でアナログ入力を利用しない場合はVCC
へ接続する必要があります。このオプションを設定すると、VCC
への接続を省略できます。
00000020
:AIx
の値の無効化
ADCの計測値を使用せず、未使用ポート(0xFFFF
)扱いとしてパケットを送信します
00000040
:PWMx
の計算式を変更
初期状態ではボリューム用に調節した出力を PWMx
へ適用します。
このオプションはこれを無効化し、1.8V 以下の入力に対してフルスケールの出力を行います。
デューティ比の計算式
デューティ比 \(duty\)は、入力電圧\(V_{input}\)と電源電圧\(V_{cc}\)を使って、(1) のように表すことができます。
このオプションを有効化すると、代わりに (2) を適用します。
なお、2.0V 以上の入力は未使用扱いとなります。
00000100
:ボタン押下時のみ送信
DIx
の入力が Low であるときにパケットを連続送信します。
例えば、モータを遠隔制御する際に利用します。リモコンのボタンを押している間にモータを回転させ、電波が途切れた場合に停止させることができます。
連続送信の動作
DIx
のいずれかが Low のときは、1秒につき32回送信しますDIx
のすべてが High へ遷移してから1秒間は引き続き32回送信しますDOx
のいずれかが Low へ遷移してから0.5秒間パケットを受信しなかった場合は、DOx
をすべて High へ戻します。PWMx
は保持します
00000800
:DIx
の内部プルアップを停止
DIx
の内部プルアップ(約50kΩ)をすべて停止します。
00008000
:子機へ中継機能を付与
子機:連続モードにおいて中継機能を付与します。最大中継段数は1です。
00001000
:子機中継時の最大中継段数を2とする
00008000
:子機へ中継機能を付与の設定時に、最大中継段数を2へ変更します。
00002000
:子機中継時の最大中継段数を3とする
00008000
:子機へ中継機能を付与の設定時に、最大中継段数を3へ変更します。
00010000
:PWMx
の波形を反転
PWMx
の出力波形を反転します。
AIx
へ最大値を入力すると PWMx
は Low となります。
00020000
:起動後PWMx
を落とす
起動後またはリセット後にPWMx
の出力を Low 状態とします。
00080000
:代替ポート割り当て
代替ポート割り当てを有効化します。
PWM2
/PWM3
へトランジスタ等を接続すると、動作が不安定となる場合があります(詳細)そうした場合に利用してください。
代替ポート割り当ての内容
PWMx
の割り当て変更DI3
→PWM1
DI1
→PWM2
DI2
→PWM3
BPS
→PWM4
DIx
の割り当て変更PWM1
→DI1
PWM4
→DI2
SDA
→DI3
DI4
→DI4
(変更なし)
BPS
の割り当て変更SCL
→BPS
SCL
/SDA
を無効化SCL
:なしSDA
:なし
00100000
:起動後2秒間DOx
を落とす
起動後またはリセット後にDOx
を2秒間 Low 状態とします。
DOx
へ接続した LED を起動時に点灯させることができます。
00400000
:DOx
の出力を反転
DOx
の出力を反転します。
初期状態とは異なり、片方の DI が Low レベルになると、もう片方の DO も Low レベルとなります。
00800000
:DOx
の内部プルアップを停止
DOx
の内部プルアップ(約50kΩ)をすべて停止します。