DevicePropDescデータセット
アセンブラの魔女 ⧫ PTP ⧫ データ型 ⧫ DevicePropDescデータセット
アセンブラの魔女 ⧫ PTP ⧫ データ型 ⧫ DevicePropDescデータセット

 デバイスプロパティの一部は必須でサポートする必要がありますが、それ以外のサポートは任意となっています。PTPデバイス(レスポンダー)は、イニシエーターに対して自分がどのようなデバイスプロパティをサポートするのか示す必要があります。そのためにDevicePropDescデータセットが用いられます。

 通常はPTPデバイスがイニシエーターに接続されたとき、初期設定の一部としてイニシエーターがGetDevicePropDescオペレーションを使ってデバイスプロパティディスクリプタを要求します。

フィールド順フィールドサイズ
[byte]
説明
1Device Property Code2デバイスプロパティコード
2DataType2このデバイスプロパティのデータ型
3GetSet1このデバイスプロパティのread-write属性
0 : read-only
1 : read-write
4Factory Default Value-このデバイスプロパティの工場出荷設定値
5Current Value-このデバイスプロパティの現在の値
6Form Flag1このフィールドの値によって、この後のデータ構造が決定します。
0x00 : この後にデータは存在しない。
0x01 : この後にRange-Formのデータが続く
0x02 : この後にEnumeration-Formのデータが続く

 FormFlag(フィールド6)より後にデータするかどうかは、FormFlagの値によって示されます。FormFlagの値が0x00の時、FormFlagより後のデータは存在しません。FormFlagの値が0x01の時、FormFlagの後にReange-Form(以下を参照)のデータが続きます。FormFlagの値が0x01の時は、FormFlagの後にEmumeration-Form(以下を参照)のデータが続きます。

 Reange-Formはデバイスプロパティ値の取り得る範囲(最大値と最小値)及び値の刻み(ステップ)を示すために用いられます。Reange-Formの場合のデータ構造は以下の通りです。

フィールド順フィールドサイズ
[byte]
説明
7MinimumValue-このプロパティに設定することができる最小値
8MaximumValue-このプロパティに設定することができる最大値
9StepSize-このプロパティに設定することができる値の刻み

 Emumeration-Formでは、デバイスプロパティの取り得る値の総数とともに取り得る値を列挙します。非連続な値を取り得るデバイスプロパティのためのデータ形式です。Emumeration-Formの場合のデータ構造は以下の通りです。

フィールド順フィールドサイズ
[byte]
説明
7Number of Values-このプロパティでサポートされる値の数
8SupportedValue1-このプロパティでサポートされる値
...
7+Number of ValuesSupportedValue
[Number of Values]
- このプロパティでサポートされる値

▼ Property
記事情報
datePublished2011-01-01
dateModified2018-07-26
authorアセンブラの魔女
headlinePTPのEventDevicePropDescについての説明記事です
keywordsPTP
keywordsDevicePropDescデータセット
keywordsデバイス プロパティ
publisher name= wiredFish, logo.name= wiredFish, logo.url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png size= 208 pixel x 50 pixel
image.url url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png , size= 208 pixel x 50 pixel