/

シリアル通信アプリ 書式モード(アスキー)の 0xDB コマンド

書式モード(アスキー)におけるインタラクティブモードを使用しない設定機能
書式モードでは、インタラクティブモードの代わりに0xDBコマンドを使うことで、UART接続されたデバイスから動的に設定を行えます。

入力の書式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID自身を示す0xDBのみ
1uint8コマンド番号後述の値から選択
2[uint8]パラメータ設定値を示す長さ\(N\)のバイト列(オプション)
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

コマンド番号の一覧

機能
0xF0ACKの有効化
0xF1端末情報の取得
0xF2端末設定の適用
0xF3端末設定の取得
0xF8端末の制御
0xFD端末設定の消去
0xFE端末設定の保存
0xFF端末のリセット

0xF0:ACKの有効化

ACK 応答の要求を行います。

パラメータはありません。

応答の書式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF0のみ
2uint8データ0x01のみ
uint8チェックサム0x34:LRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0xF1:端末情報の取得

アドレス等の情報を表示します。起動時にも出力されます。

パラメータはありません。

応答の書式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF1のみ
2uint32アプリケーションID
6uint32バージョン番号1.4.7なら00010407
10uint8論理デバイスID
11uint32シリアルID
15uint8サイレントモードの状態有効1, 無効0
16uint8ネットワークの状態UP1, DOWN0
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0xF2:端末設定の適用

設定を適用します。

応答の書式

成功した場合
#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF3のみ
2[uint8]設定内容長さ\(N\)の識別子とデータの繰り返し
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')
失敗した場合
#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF3のみ
2uint8エラー0xFFのみ
uint8チェックサム0x33:LRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0xF3:端末設定の取得

設定を取得します。

応答の書式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF3のみ
2[uint8]設定内容識別子とデータの繰り返し
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0xF8:端末の制御

起動時にサイレントモードを有効としていた場合に、これを解除します。

応答の書式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID0xDBのみ
1uint8コマンド番号0xF8のみ
2uint8データ0x11のみ
3uint8状態解除済み1, 未解除0
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

0xFD:端末設定の消去

設定を初期化し、本体をリセットします。

パラメータおよび応答はありません。

0xFE:端末設定の保存

適用した設定を保存し、本体をリセットします。

パラメータおよび応答はありません。

0xFF:端末のリセット

適用した設定を破棄し、本体をリセットします。

パラメータおよび応答はありません。

パラメータの一覧(0xF2/0xF3

0xF2:端末設定の適用 および 0xF3:端末設定の取得 のパラメータは、識別子とデータ(ビッグエンディアン)の繰り返しで表現します。

識別子データ内容
0x00uint32アプリケーションID
0x01uint32周波数チャネルマスク
0x02uint16再送回数と出力
0x03uint8論理デバイスID
0x04uint8役割
0x05uint8中継レイヤ
0x06uint8通信モード
0x07uint32ボーレート
0x08uint8パリティ
0x09uint8暗号化機能
0x0A[uint8]暗号化キー
0x0Cuint16区切り文字
0xFFuint8エラー

0x00:アプリケーションID

アプリケーションIDを指定します。

0x01:周波数チャネルマスク

周波数チャネルのビットマスクを指定します。

使用するチャネルのビットを立てます。例えば、11チャネルを使う場合は1<<11です。

0x02:再送回数と出力

電波の送信出力と、透過モードおよびヘッダ付き透過モードにおいてパケットを追加で送信する回数を指定します。

下位の1バイトのみを使用します。そのうち上位の4ビットが再送回数(0-9)、下位の4ビットが送信出力(0-3)です。例えば、8回再送/出力3 であれば 0x0083です。

0x03:論理デバイスID

論理デバイスIDを指定します。

0x04:役割

子機のみ有効です。以下の値を指定します。通常はネットワーク層を利用しない配送方式を選択してください。

ネットワーク層を利用しない配送方式

  • 0:通常の指定(親機または子機)
  • 1-3:中継子機(論理デバイスIDを1-100 または 120とします)1-3の数値は最大中継段数を指します。最大中継段数まで再送を繰り返す方式のため、中継機の配置や数によっては重複したパケットを中継します。

ネットワーク層を利用する配送方式

  • 11:親機
  • 12:中継機
  • 13:子機

0x05:中継レイヤ

中継レイヤの番号です。中継機は中継レイヤ数の上位(より小さい値)の中継機・親機への接続を試みます。役割12としているときにだけ有効です。

0x06:通信モード

  • 0:透過モード
  • 1:書式モード(アスキー)
  • 2:書式モード(バイナリ)
  • 3:チャットモード
  • 4:ヘッダ付き透過モード

0x07:ボーレート

UART ボーレートを指定します。

0x08:パリティ

以下の設定の組み合わせにおいて、設定値の総和を指定します。

  • Bit
    • 0:8Bit
    • 8:7Bit
  • Parity
    • 0:None
    • 1:Odd
    • 2:Even
  • Stop
    • 0:STOP 1
    • 4:STOP 2

例えば、7-E-1 なら 8+2+0=10(0xA) を指定します。

0x09:暗号化機能

暗号化機能の有無を指定します。

  • 0:無効
  • 1:AES128bit の暗号化を有効

0x0A:暗号化キー

16バイトの暗号化キーを指定します。

インタラクティブモードでは設定できないバイナリ列を格納できます。この場合、インタラクティブモードの表示が崩れる場合があります。

0x0C:区切り文字

区切り文字列の指定を行います(0x00-0xFF)。

サイレントモード

設定方法

インタラクティブモードで以下の設定を行います。

  • r: Role80 を足しておく。例えば、通常の親機や子機なら80とする。
  • m: UART mode を書式モード(A/B)としておく。

動作確認

起動直後に出力される DB F1 応答の内容を確認します。

解除方法

DB F8 要求を行います(アスキー形式::DBF8101D<CR><LF>)。

注意点

  • サイレントモードの再設定はできません。
  • サイレントモードが有効のときに送信コマンドを入力した場合の動作は未定義です。