TWE-LITE DIP リリースノート

TWE-Lite DIPTWE-LITE DIP の標準アプリケーションの更新情報 です。

旧バージョンをお持ちの方も最新版に更新することが出来ます。

ファームウェアの更新方法はこちらを参照ください。

変更内容

■ Ver1.3.3 では以下の修正を行いました。

低レイテンシでDI変化を検出、送信するオプション

低レイテンシモードは、送信側の DI 入力を検知してから速やかにパケット送信を行い、より短い遅延(レイテンシ)で受信側の DO を変更するモードです。

本オプションの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の1ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000001 となります。送信側のみの設定で構いません。

標準の設定では DI が Lo に変化してから約30ms~70ms で受信側の DO が変化します。この遅延は一般的な利用で極力問題を減らすために適切に設定されたものです。低レイテンシモードでは下記の処理を省略・簡素化します。

低レイテンシモードでは、

 

ADC変化に伴うパケット送信を抑制するオプション

アナログ入力 AI 変化を検出したタイミングでパケット送信を行います。しかし、AI が未接続の場合その入力は安定しないため計測都度値が変化し、意図しないパケットが送信されることになります。本オプションは AI 値変化からパケットを送る処理を無効化します。

本オプションの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の5ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000010 となります。送信側のみの設定で構いません。

DI が Lo になっている時にパケットを連続送信するオプション

例えばモータなどをリモコンで制御をするような場合、リモコンのボタンを押している間だけ動作し、電波が届かなくなったら自動で止めたいという要求もあります。

本モードの設定はインタラクティブモードで【o: set Option Bits (0x00000000)】の9ビット目を1にします。設定値は他のオプションが設定されていなければ 0x00000100 となります。送信側、受信側双方で設定してください。

 

mode7(10秒スリープ) モードで、タイマー起床しないモード設定を追加

DI の割り込みのみを用いてパケット送信を行いたい場合が有ります。mode7 (M1=G M2=G M3=G) での動作を、タイマー起床無し、DI 割り込み (Hi->Lo) による起床のみ、という振る舞いに変更できます。

本設定はインタラクティブモードで【y: set mode7 sleep dur (10s)】を 0 に設定します。

 

I2Cの処理を追加しました。

I2C のデバイスにアクセスできる UART コマンドを追加しました。この機能で出来るのは例えばI2C対応のセンサーから値を読む等の数バイトの送信、または数バイトの受信です。連続的に処理される複雑なコマンド群の処理には対応していません。

■ 書式
 - 入力フォーマット
   1: OCTET: 無線デバイスのアドレス (0xDB: 自分自身, 0x00 ~ 0x7F, 0x00:親機, 0x78: 全子機)
   2: OCTET: 0x88

   3: OCTET: 要求番号(応答メッセージにそのまま出力される識別子)
   4: OCTET: コマンド (0x1: 書き込み, 0x2: 読み出し)
   5: OCTET: I2Cアドレス (1010100 なら 0x54)
   6: OCTET: I2Cコマンド (最初のコマンドバイト)
   7: OCTET: データサイズ (無い時は 0)
   8: OCTET[N]: データ (データサイズが0のときは、本フィールドは無し)
   9: OCTET: チェックサム

:DB88010123230055
 ^1^2^3^4^5^6^7^9

UART 接続したモジュールに対し (1)、I2C の処理を行う(2)。応答確認用の値(3)は
0x01 で、書き込み(4, 0x01) を実行する。スレーブデバイスのアドレス(5) は 0x23、
続くコマンド(6) も 0x23を送付する。追加的なデータ転送 (7, 8) は無し。
UART コマンドのチェックサム(9) は 0x55 である。

:78880101232300B8
 ^1^2^3^4^5^6^7^8

上記 I2C コマンドを 0x78 アドレスの子機に送付する。
※ 0x78 アドレスの場合複数子機が電波範囲にいる場合は、全子機が応答する。
  特定子機を指定したい場合は 1 ~ 100 のアドレスを設定にて割り付ける。

 ― 出力フォーマット
   OCTET: 無線デバイスのアドレス
   OCTET: 0x89

   OCTET: 要求番号
   OCTET: コマンド (0x1: Write, 0x2: Read)
   OCTET: 0:FAIL, 1:SUCCESS
   OCTET: データサイズ (無い時は 0)
   OCTET[N]: データ (データサイズが0のときは、本フィールドは無し)

送信と同様の応答が戻ります。

■実行例 (SHT21 温湿度センサー)
レジスタの読み込みコマンド(一括)
  E6コマンド後に読み出し
    :7888AB0440E6012A
  レジスタ値は 0x3A
    :7889AB0401013A14

レジスタ書き込み
  E6コマンド+1バイト(0xBB)書き込み
    :7888AB0140E601BB72
  成功
    :7889AB01010052

温度測定
  温度測定開始
    :7888AB0140F30021
  応答(成功)
    :7889AB01010052

  3バイト読み出し
    :7888AB0240000310
  応答 6E107B --> (0x6E10*17572+32768)/65536-4685=2870=28.70℃
    :7889AB0201036E107B55

湿度測定
  湿度測定開始
    :7888AB0140F5001F
  応答(成功)
    :7889AB01010052

  3バイト読み出し
    :7888AB0240000310
  応答 829A18 --> (0x829A*12500+32768)/65536-600=5777=57.77%
    :7889AB020103829A181A
  

UART電文の処理を改善しました。

 

※ マイコンとTWE-LITE間を UART で通信する場合は、UART 専用アプリケーションを推奨します。

その他