ここでは超簡単!標準アプリ(App_Twelite)に固有の機能を説明します。共通機能については、TWELITE APPS マニュアル のトップページを参照してください。
TWELITE がスリープしている間はインタラクティブモードを使用できません。
Mxピンの設定を子機連続モードあるいは親機・中継機モードとしてください。
表示例
次のような画面を表示します。
--- CONFIG/TWELITE APP V1-08-2/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-10000ms |
y | 子機間欠10秒モードの間隔 | 10 | 2-10000s |
f | 子機連続0.03秒モードのサイクル | 32 | 4/8/16/32回毎秒 |
z | PWMxの周波数 | 1000 | 1-64000Hz、カンマ区切りで個別設定 |
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へ接続して起動した場合に選択される代替ボーレートを38400bpsから上書きします。
値は9600/19200/38400/57600/115200/230400から選択できます。他の値を指定すると、誤差が生じる可能性があります。
BPSピンを開放して起動した場合、この設定は適用されません。115200bpsに固定されます。
ボーレート変更によってインタラクティブモードが使用できない事態を防ぐための仕様です。
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→PWM1DI1→PWM2DI2→PWM3BPS→PWM4
DIxの割り当て変更PWM1→DI1PWM4→DI2SDA→DI3DI4→DI4(変更なし)
BPSの割り当て変更SCL→BPS
SCL/SDAを無効化SCL:なしSDA:なし
00100000:起動後2秒間DOxを落とす
起動後またはリセット後にDOxを2秒間 Low 状態とします。
DOx へ接続した LED を起動時に点灯させることができます。
00400000:DOxの出力を反転
DOxの出力を反転します。
初期状態とは異なり、片方の DI が Low レベルになると、もう片方の DO は High レベルとなります。
00800000:DOxの内部プルアップを停止
DOxの内部プルアップ(約50kΩ)をすべて停止します。