プロパティの設定

サポートされる各プロパティは、 VehiclePropConfig構造を通じて定義されたプロパティ構成によって指定され、次のフィールドがあります。

分野説明
prop

プロパティID。これは、サポートされているシステム プロパティで定義されたシステム プロパティのいずれか、またはベンダー プロパティのいずれかである必要があります。プロパティ ID は、次のフィールドのビット論理和を使用して構築されます (右から左)。

  • (0x0000 0000 ) 16 ビット: 0x0100 ~ 0xffff の範囲の一意の ID。
  • (0x00 00 0000) 8 ビット: プロパティのタイプを定義するプロパティ タイプ
  • (0x0 0 000000) 4 ビット:エリアの種類
  • (0x 0 0000000) 4 ビット: VehiclePropertyGroup > これは、 SYSTEM (0x10000000) またはVENDOR (0x20000000) のいずれかです。カスタマイズできるプロパティについては、 「ベンダー プロパティ」を参照してください。

例えば、
INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000)

accessプロパティのアクセス モード。 READWRITE 、またはREAD_WRITEのいずれかである必要があります。これは、 「サポートされるシステム プロパティ」で定義されたアクセス モードと同じである必要があります。
changeMode
  • プロパティのモードを変更します。 STATICON_CHANGE 、またはCONTINUOUSのいずれかである必要があります。 STATICシステムの起動後にプロパティ値が変更されないことを意味します。 ON_CHANGE値が変更されたときに VHAL が報告する必要があることを意味します。 CONTINUOUS 、プロパティ値が継続的に変化することを意味し、VHAL はサブスクリプション サンプル レートに基づいてレポートする必要があります。
  • 変更モードは、 「サポートされるシステム プロパティ」で定義された変更モードと同じである必要があります。
configArrayプロパティ固有の構成を含むオプションの配列。空でも構いません。
configStringプロパティ固有の構成を含むオプションの文字列。空でも構いません。
minSampleRatemaxSampleRate

連続プロパティでサポートされる最小および最大サンプル レート。プロパティが連続でない場合は使用されません。

プロパティの種類

VehiclePropertyType.aidlで列挙型として定義されます。サポートされているプロパティ タイプを次の表に示します。

プロパティタイプ価値説明
0x00100000 String プロパティ。Vehicle Property Value のstringValueフィールドを使用します。
ブール値0x00200000ブール型プロパティ。 Vehicle プロパティ valueint32Valuesフィールドの最初の要素を使用します。 0 falseを意味し、 None 0 trueを意味します。
INT32 0x00400000 Integer プロパティ。 Vehicle プロパティ valueint32Valuesフィールドの最初の要素を使用します。
INT32_VEC 0x00410000 Integer[] プロパティは、 Vehicle プロパティ valueint32Valuesフィールドの要素を使用します。
INT64 0x00500000 Long プロパティ。 Vehicle プロパティ valueint64Valuesフィールドの最初の要素を使用します。
INT64_VEC 0x00510000 Long[]プロパティは、 Vehicle プロパティ valueint64Valuesフィールドの要素を使用します。
浮く0x00600000 Float プロパティ。 Vehicle プロパティ valuefloatValuesフィールドの最初の要素を使用します。
FLOAT_VEC 0x00610000 Float[] プロパティは、 Vehicle プロパティ valuefloatValuesフィールドの要素を使用します。
バイト0x00700000 byte[] プロパティは、 Vehicle プロパティ valuebyteValuesフィールドの要素を使用します。
混合0x00e00000混合タイプのプロパティ。スカラー型またはベクトル型の任意の組み合わせ。プロパティ構成の構成配列に正確な形式を指定する必要があります。

ベンダーの MIXED タイプのプロパティの場合、configArray は次の構造でフォーマットする必要があります。

  • configArray[0]、1 はプロパティが文字列値を持つことを示します
  • configArray[1]、1 はプロパティがブール値を持つことを示します
  • configArray[2]、1 はプロパティが整数値を持つことを示します
  • configArray[3]、数値はプロパティ内の Integer[] のサイズを示します
  • configArray[4]、1 はプロパティが Long 値を持つことを示します
  • configArray[5]、数字はプロパティ内の Long[] のサイズを示します
  • configArray[6]、1 はプロパティが Float 値を持つことを示します
  • configArray[7]、数字はプロパティ内の Float[] のサイズを示します
  • configArray[8]、数値はプロパティ内の byte[] のサイズを示します。

たとえば、 configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0}プロパティに文字列値、ブール値、整数値、および 3 つの整数を含む配列があることを示します。

エリアIDの設定

各プロパティ設定には、エリア ID 設定のリストが含まれる場合もあります。このリストは、グローバル プロパティの場合はオプションですが、ゾーン プロパティ (サポートされている複数の領域を持つプロパティ) の場合は必須です。各エリア ID 設定には次のフィールドがあります。

分野説明
areaIdこのエリアのID。 「エリア ID」を参照してください。
minInt32ValuemaxInt32Value
  • INT32 タイプのプロパティのオプションの最小値と最大値。他のすべてのタイプでは無視されます。両方とも 0 の場合は無視されます。
  • グローバル プロパティの場合、最小値と最大値を定義する必要がある場合は、エリア ID 0 の 1 つのエリア構成を使用する必要があります。
minInt64ValuemaxInt64Value
  • INT64 タイプのプロパティのオプションの最小値と最大値。他のすべてのタイプでは無視されます。両方とも 0 の場合は無視されます。
  • グローバル プロパティの場合、最小値と最大値を定義する必要がある場合は、エリア ID 0 の 1 つのエリア構成を使用する必要があります。
minFloatValuemaxFloatValue
  • Float タイプのプロパティのオプションの最小値と最大値。他のすべてのタイプでは無視されます。両方とも 0.0 の場合は無視されます。
  • グローバル プロパティの場合、最小値と最大値を定義する必要がある場合は、エリア ID 0 の 1 つのエリア構成を使用する必要があります。
( Android 14 の新機能)
supportedEnumValues
  • プロパティが列挙型プロパティとして定義されている場合にサポートされる値のオプションのリスト。指定されていない (空の) 場合、または Android 14 より前の場合は、すべての列挙値がサポートされているとみなされます。
  • グローバル プロパティの場合、サポートされている enum 値を定義する必要がある場合は、エリア ID 0 の 1 つのエリア設定を使用する必要があります。

エリアの種類

VehicleArea.aidlで列挙型として定義されます。サポートされているエリア タイプは次のとおりです。

エリアタイプ価値説明
グローバル0x01000000このプロパティはグローバル プロパティであり、複数のエリアを持ちません。
0x03000000ウィンドウに基づくエリアVehicleAreaWindow列挙型を使用します。
0x04000000ミラーに基づくエリアVehicleAreaMirror列挙型を使用します。
シート0x05000000座席に基づくエリアVehicleAreaSeat列挙型を使用します。
ドア0x06000000ドアに基づくエリアVehicleAreaDoor列挙型を使用します。
車輪0x07000000ホイールに基づくエリアは、 VehicleAreaWheel列挙型を使用します。

各ゾーン プロパティは、事前定義されたエリア タイプを使用する必要があります。各エリア タイプには、エリア タイプの列挙型で定義されたビット フラグのセットがあります。たとえば、SEAT エリアはVehicleAreaSeat列挙型を定義します。

  • ROW_1_LEFT = 0x0001
  • ROW_1_CENTER = 0x0002
  • ROW_1_RIGHT = 0x0004
  • ROW_2_LEFT = 0x0010
  • ROW_2_CENTER = 0x0020
  • ROW_2_RIGHT = 0x0040
  • ROW_3_LEFT = 0x0100
  • ...

エリアID

ゾーン化されたプロパティは、エリア ID を通じてアドレス指定されます。各ゾーン プロパティは 1 つ以上のエリア ID をサポートする場合があります。エリア ID は、それぞれの列挙型からの 1 つ以上のフラグで構成されます。たとえば、 VehicleAreaSeatを使用するプロパティでは、次のエリア ID が使用される場合があります。

アイテム説明
ROW_1_LEFT | ROW_1_RIGHTエリア ID は両方の前席に適用されます。
ROW_2_LEFT左後部座席のみに適用されます。
ROW_2_RIGHT右後部座席のみに適用されます。

詳細については、 「HVAC」を参照してください。