相手端末からの状態通知:0x81

TWE-Lite DIP

相手端末の状態通知を受けた時にUARTにもその情報が常に出力されます。

データはポートの値に変化が有った場合と定期的(約1秒周期)に送受信されます。TWE-LITE DIPの外部に接続したマイコン等で受信データを解釈することができます。

:7881150175810000380026C9000C04220000FFFFFFFFFFA7 
:7881150175810000380026FF000C02220000FFFFFFFFFF73 <約1秒おきに受信される
:788115017581000038002743000C03220000FFFFFFFFFF2D
:788115017581000038002785000C05220000FFFFFFFFFFE9
:7881150178810000380027D3000C05230000FFFFFFFFFF97
:788115017881000038002813000C02230000FFFFFFFFFF59
:78811501758100003800284F000C02230000FFFFFFFFFF20
:788115017581000038002899000C04230000FFFFFFFFFFD4
 ^1^2^3^4^5^^^^^^^6^7^^^8^9^^^a^b^c^de1e2e3e4ef^g
 
データフォーマット
 1: 送信元の論理デバイスID (0x78 は子機からの通知)
 2: コマンド(0x81: IO状態の通知)
 3: パケット識別子 (アプリケーションIDより生成される)
 4: プロトコルバージョン (0x01 固定)
 5: LQI値、電波強度に応じた値で 0xFF が最大、0x00 が最小
 6: 送信元の個体識別番号
 7: 宛先の論理デバイスID
 8: タイムスタンプ (秒64カウント)
 9: 中継フラグ(中継済みなら1)
 a: 電源電圧[mV]
 b: 未使用
 c: DI の状態ビット。DI1(0x1) DI2(0x2) DI3(0x4) DI4(0x8)。1がOn(Lowレベル)。
 d: DI の変更状態ビット。DI1(0x1) DI2(0x2) DI3(0x4) DI4(0x8)。1が変更対象。
 e1~e4: AD1~AD4の変換値。0~2000[mV]のAD値を16で割った値を格納。
 ef: AD1~AD4の補正値 (LSBから順に2ビットずつ補正値、LSB側が AD1, MSB側が AD4)
 g: チェックサム

 

利用例:

チェックサムの計算方法

データ部の各バイトの和を8ビット幅で計算し、2の補数をとります。つまりデータ部の各バイトの総和+チェックサムバイトを8ビット幅で計算すると0になります。チェックサムバイトをアスキー文字列2文字で表現します。

例えば 00A01301FF123456 では 0x00 + 0xA0 + ... + 0x56 = 0x4F となり、この2の補数は0xB1 です。(つまり 0x4F + 0xB1 = 0)

※ ver1.6.5 以降では、チェックサムを省略し替わりに X を入力できるようになりました。(例 :780100112233X)