インタラクティブモード
インタラクティブモードでは、モード設定ピン(M1~M3)では設定できない詳細な各種設定が可能です。
ここでは超簡単!標準アプリ(App_Twelite)固有の機能を説明します。共通機能については、インタラクティブモード(共通機能) を参照してください。
インタラクティブモードに入ると以下のような画面が表示されます。
--- 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 | - | 同じアプリケーションID同士のみ通信可能です。
異なった値を設定することにより、同一の周波数チャネルを複数のグループで使用することが可能です。 値は32ビットで任意に設定できます。 通信させたい端末は全て同じアプリケーションIDに設定する必要があります。 |
b | UARTボーレート | 38400 | 9600、19200、38400、57600、115200、230400が設定可能です。他の値も設定可能ですが、オシロスコープ等を用いて誤差を検証した上で使用してください。 BPS端子をGND(電源のマイナス側)に接続して電源投入した場合に設定が反映されます。接続しない場合は設定値は使用されず115200bps(8N1)固定です。 |
p | UARTパリティ | N | N: 無し、O: Odd(奇数)、E: Even(偶数)を設定します。ストップビットは1で固定。ハードウェアフローは設定不可です。 |
c | 周波数チャネル | 18 | チャネル (11~26) を選択します。複数チャネルを指定した場合は チャネルアジリティにより電波干渉の回避に役立ちます。最大3チャネルまで指定可能です。例えばチャネル 13 とチャネル 22 を使用する場合は 13,22 と入力します。 ※ すべての親機・子機で同じチャネル設定にしてください。 |
x | 送信出力と再送回数 | 03 | XYの2桁で指定します。 X : 再送回数で0 がデフォルト2回、1-9 が指定の回数、F が再送なし Y : 送信出力を指定します。 3が最強で2,1,0と1段階小さくなるたびに -11.5db 出力が低下します。出力を制限し電波の有効伝達範囲を小さくしたい場合に使用します。ただし、伝達可能距離は環境(ノイズ・遮蔽物など)に影響を受けます。 ※ 理論上の伝達距離は 6db 出力が小さくなるたびに 1/2 になりますので、1段階小さくすることで見通し・環境ノイズ無しでの伝達距離は約1/4になります。 例えば 43 を指定すると再送4回、電波出力最強となります。 |
f | 子機連続0.03秒モードの送信回数 | 32 | 毎秒の送信回数を4、8、16、32回に設定できます。 |
t | 子機間欠1秒モードの間欠時間 | 1000 | 間欠時間を指定単位[ms]で設定できます。100msから10000msの範囲で設定してください。 0を設定した場合タイマーでの起床を行わず、DIをHiからLoに変化させることにより起床するモードになります。LoからHiの変化では起床しませんのでご注意下さい。 1ms単位での設定が必要な場合はこのモードを使用してください。 モードの設定はモード設定ビットで行います。 |
y | 子機間欠10秒モードの間欠時間 | 10 | 間欠時間を指定時間[秒]設定できます。2秒から10000秒の範囲で設定してください。 0を設定した場合タイマーでの起床を行わず、DIをHiからLoに変化させることにより起床するモードになります。LoからHiの変化では起床しませんのでご注意下さい。 長時間の設定をする場合はこのモードを使用してください。 モードの設定はモード設定ビットで行います。 |
i | 論理デバイスID | 自動 | 子機の論理デバイスIDを設定します。1~100までの値を設定できます。121で親機、122で中継機に設定できます。 |
z | PWM周波数 | 1000(1kHz) | 1~64KHzまでの範囲で1Hz単位で設定できます。PWM1〜4に個別の値を指定できます。個別に設定する場合はカンマで区切って指定してください。(PWM1,PWM2,PWM3,PWM4) 値を一つだけ入力した場合はPWM1〜4全てに同じ値を設定します。 |
o | オプションビット | 0x00 | 各種詳細設定ができます。16進数で設定し、各ビットを設定します。複数同時設定も可能です。オプションビットの説明は以下をご参照下さい。 |
S | 設定値の保存 | - | 設定を保存し、TWELITEを再起動します。 |
R | 初期値に設定を戻す | - | 設定を初期値に戻します。続けてSキーによる設定の保存を行ってください。 |
論理デバイスIDの設定
論理デバイスIDは各端末の識別をするために使用します。
※起動時のメッセージで割り振られた論理デバイスID(LID)を確認できます。
初期状態で使う場合
初期状態での各論理デバイスIDの割り振りは以下の通りです。
親機は0(0x00)、中継機は122(0x7A)、子機はモード設定ビットの値に応じて自動的に設定されます。(例:M1=M2=Gの時は123(0x7B))
モード名 | 論理デバイスID |
---|---|
親機 | 0(0x00) |
中継機 | 122(0x7A) |
子機連続モード | 120( 0x78) |
子機連続0.03秒モード | 123(0x7B) |
子機間欠1秒モード | 124(0x7C) |
子機間欠受信1秒モード | 125(0x7D) |
子機間欠10秒モード | 127( 0x7F) |
初期状態で使用する場合は子機が複数ある場合は親機の操作により全ての子機が同じように振る舞います。
任意の値を設定する場合
複数の子機を個々に独立して操作したい場合は、それぞれの子機に個別の論理デバイスIDを付けることにより固体識別をします。
任意の値を使用する場合は設定変更モード(インタラクティブモード)で子機に1(0x01)~100(0x64)までの値を割り振れます。
親機 0(0x00)と中継機 122(0x7A)は固定で変更はできません。
設定方法
論理デバイスIDを変更する場合はi(小文字)をタイプすると以下のメッセージが表示されます。
Input Device ID (DEC:1-100):
10進数で1~100の数値を入力してリターンキーを押してください。
S(大文字)をタイプして設定を保存して再起動してください。
※設定値を変えただけでは内容は反映されません。”S”コマンドで必ず設定を保存して再起動してください。
M1、M2、M3の配線無しでの親機、子機、中継機の設定
モード設定ビット(M1、M2、M3)を配線せずに親機や中継機に設定できます。配線の省略やMONOSTICK-モノスティックの使用時に利用できます。
- IDを121に設定すると、M1、M2、M3 の設定をせずに、親機にできます。
- IDを122に設定すると、M1、M2、M3 の設定をせずに、中継機にできます。
オプションビットの設定
オプションビットの各ビットで各種詳細設定が行えます。各ビットを立てると機能が有効になります。ビットを設定した時の振る舞いを記述します。
設定ビット (16進) |
説明 |
---|---|
00000001 | 低レイテンシモードに遷移します。送信時の遅延が短くなります。詳細は後述します。 |
00000002 | 1秒毎の定期送信を停止します。(間欠モード時は無効) |
00000004 | 1秒毎の定期送信と連続モード時のUART出力を停止します。(間欠モード時は無効) |
00000010 | ADCを利用しない場合にVCCへの配線を省略できます。ADCポートが未接続の時にこの設定をしない場合はADC値が不定になり、頻繁なADC変化として不要なパケットが送信されてしまいます。(間欠モードでは無効) |
00000020 | ADCの計測値を報告せず 0xFFFF (未使用ポート) 扱いとして無線送信します。 |
00000040 | ADCの生の値を元にPWM出力します。0-1800mVでフルスケールするようになり、2000mV以上は未使用ポート扱いになります。未設定の時は可変抵抗器用に調節した値になります。計算式は以下の通りです。 デューティー(%)= 115 X 電圧 / (電源電圧 / 2)ー 5 (100以上は100、0以下は0 ) |
00000100 | 押しボタン中のみ送信を行う。詳細は後述します。(間欠モード時は無効) |
00000800 | DI1-4の内部プルアップ(約50kΩ)を全て停止します。 |
00008000 | 子機に中継機能を付加します。設定がなければ最大1ホップの中継を行います。(間欠モード時は無効) |
00001000 | 最大中継ホップ数を2とします。(間欠モード時は無効) |
00002000 | 最大中継ホップ数を3とします。(間欠モード時は無効) |
00010000 | PWM波形を反転し、AIに最大値を入力するとLoになります。(間欠モード時は無効) |
00020000 | 電源投入、リセット後のPWMピンをLoにします。ハードウエアの仕様上、起動直後の約1msecはHiになります。(間欠モード時は無効) |
00080000 | PWM ポートの出力先を変更します。PWM2、PWM3にトランジスタ等を接続して動作が不安定な場合はこの設定をしてください。 PWM1-4 => DIO11,12,13,17 (TWELITE DIP のシルク 11,12,13,17) DI1-4 => DIO5,8,15,16 (TWELITE DIP のシルク 5,8,15,16) BPS => DIO14 (TWELITE DIP のシルク 14) I2C => 無効 |
00100000 | 起動時に2秒間、DOがLoになります。この機能を使い起動時にLEDを点灯して知らせることができます。ハードウエアの仕様上、起動直後の約1msecはHiになります。(間欠モード時は無効) |
00400000 | DO1〜4の出力を全て反転します。ハードウエアの仕様上、起動直後の約1msecはHiになります。 |
00800000 | DO1〜4の内部プルアップを全て停止します。 |
短い遅延で(低レイテンシ)でDI変化を検出、送信する
低レイテンシモードは、送信側の DI 入力を検知してから速やかにパケット送信を行い、より短い遅延(レイテンシ)で受信側の DO を変更するモードです。
本オプションの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の1ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000001 となります。送信側のみの設定で構いません。
標準の設定では DI が Lo に変化してから約30ms~70ms で受信側の DO が変化します。この遅延は比較的ゆっくりとした入力変化で安定動作させるために以下のように設定されています。
- ボタンを使用する場合のチャタリングの影響を最小化するため、20ms以上同じ値が続いた場合に送信する
- 無線パケットの送信で衝突を避けるため送信開始をランダムに遅延させる
低レイテンシモードでは上記の処理を省略・簡素化します。標準設定の遅延時間が問題になる場合は低レイテンシモードを使用して下さい。
低レイテンシモードでは、
- HiからLoへの検出は割り込みにより検出します。割り込み検出後は一定期間(約100ms)は割り込み検出を無視します。
- LoからHi への検出は、1ms 毎の DI 値判定が5回連続(標準では 4ms を5回)で Hi になることで検出されます。
- DI 状態の変化検出時は、送信遅延および再送遅延を設定せずに無線パケット送信を行います。
- 代表的な遅延は、送信側 DI HiからLo が受信側 DO HiからLo になるまで約3~5ms。LoからHi は約10ms です。
- 遅延は無線パケット送受信の失敗などを理由に大きくなることが有ります。
- スリープ動作時にも、IO状態確定を短縮し、起床から送信までの時間を短縮します。
ADC変化に伴うパケット送信を抑制する
アナログ入力 AI 変化を検出したタイミングでパケット送信を行います。しかし、AI が未接続の場合その入力は安定しないため計測都度値が変化し、意図しないパケットが送信されることになります。本オプションは AI 値変化からパケットを送る処理を無効化します。この設定により使用していないAI(アナログ入力)端子をVCC(電源の+側)に接続する必要が無くなり、配線が省略できます。
本オプションの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の5ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000010 となります。送信側のみの設定で構いません。
DI が Lo になっている時にパケットを連続送信する
例えばモータなどをリモコンで制御をする際に、リモコンのボタンを押している間だけ動作し、電波が届かなくなったら自動で止めたい場合に使用できます。
本モードの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の9ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000100 となります。送信側、受信側双方で設定してください。
- DI のいずれかが Lo 状態の時は、秒32パケットで送信を行います。
- DIの全てが Hi に戻った時は、その後1秒間、秒32パケットで送信(Hiに戻った事を確実に伝達するため)を行います。
- 受信側が受信パケットにより Lo 状態を設定してから、0.5秒間パケットを受信しない状態が続けば、DO を全て Hi に戻します。PWMは値が保持されます。
設定情報の初期化
設定内容によっては、操作が困難になる場合があります。(ボーレートを設定したが、ターミナルソフトが対応しないボーレートだった等)その場合は以下の方法で初期化してください。
- 別のアプリを改めて書き込み、そのアプリ上で初期化操作を行う 。(インタラクティブモードで 'R' キーを押して、次に 'S' キーを押すと初期化します)