속성 구성

지원되는 각 속성은 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 속성에 대한 액세스 모드입니다. READ , WRITE 또는 READ_WRITE 중 하나여야 합니다. 이는 지원되는 시스템 속성 에 정의된 액세스 모드와 동일해야 합니다.
changeMode
  • 속성의 모드를 변경합니다. STATIC , ON_CHANGE 또는 CONTINUOUS 중 하나여야 합니다. STATIC 시스템 부팅 후 속성 값이 변경되지 않음을 의미합니다. ON_CHANGE 값이 변경되면 VHAL이 보고해야 함을 의미합니다. CONTINUOUS 는 속성 값이 지속적으로 변경되고 VHAL이 구독 샘플 레이트에 따라 보고해야 함을 의미합니다.
  • 변경 모드는 지원되는 시스템 속성 에 정의된 변경 모드와 동일해야 합니다.
configArray 속성별 구성을 포함하는 선택적 배열입니다. 비어 있을 수 있습니다.
configString 속성별 구성을 포함하는 선택적 문자열입니다. 비어 있을 수 있습니다.
minSampleRatemaxSampleRate

연속 속성에 대해 지원되는 최소 및 최대 샘플링 속도입니다. 속성이 연속적이지 않으면 사용되지 않습니다.

속성 유형

VehiclePropertyType.aidl 에서 열거형으로 정의됩니다. 지원되는 속성 유형은 다음 표에 나열되어 있습니다.

부동산 유형 설명
0x00100000 문자열 속성은 차량 속성 값의 stringValue 필드를 사용합니다.
부울 0x00200000 부울 속성은 Vehicle 속성 값int32Values ​​필드에 있는 첫 번째 요소를 사용합니다. 0 false 의미하고, None 0 true 의미합니다.
INT32 0x00400000 정수 속성은 Vehicle 속성 값int32Values ​​필드에 있는 첫 번째 요소를 사용합니다.
INT32_VEC 0x00410000 Integer[] 속성은 Vehicle 속성 valueint32Values ​​필드에 있는 요소를 사용합니다.
INT64 0x00500000 Long 속성은 Vehicle 속성 값int64Values ​​필드에 있는 첫 번째 요소를 사용합니다.
INT64_VEC 0x00510000 Long[] 속성은 Vehicle 속성 값int64Values ​​필드에 있는 요소를 사용합니다.
뜨다 0x00600000 부동 속성은 차량 속성 값floatValues ​​필드에 있는 첫 번째 요소를 사용합니다.
FLOAT_VEC 0x00610000 Float[] 속성은 Vehicle 속성 값floatValues ​​필드에 있는 요소를 사용합니다.
바이트 0x00700000 byte[] 속성은 Vehicle 속성 값byteValues ​​필드에 있는 요소를 사용합니다.
혼합 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은 속성에 부동 값이 있음을 나타냅니다.
  • configArray[7], 숫자는 속성의 Float[] 크기를 나타냅니다.
  • configArray[8]에서 숫자는 속성의 byte[] 크기를 나타냅니다.

예를 들어 configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} 속성에 문자열 값, 부울 값, 정수 값 및 세 개의 정수가 포함된 배열이 있음을 나타냅니다.

지역 ID 구성

각 속성 구성에는 영역 ID 구성 목록이 포함될 수도 있습니다. 이 목록은 전역 속성의 경우 선택 사항이고 구역 속성(여러 지원 영역이 있는 속성)에는 필수입니다. 각 영역 ID 구성에는 다음 필드가 있습니다.

필드 설명
areaId 이 지역의 ID입니다. 영역 ID 를 참조하십시오.
minInt32ValuemaxInt32Value
  • INT32 유형 속성의 선택적 최소값 및 최대값입니다. 다른 모든 유형에서는 무시됩니다. 둘 다 0이면 무시됩니다.
  • 전역 속성의 경우 최소값과 최대값을 정의해야 하는 경우 영역 ID가 0인 하나의 영역 구성을 사용해야 합니다.
minInt64ValuemaxInt64Value
  • INT64 유형 속성의 선택적 최소값 및 최대값입니다. 다른 모든 유형에서는 무시됩니다. 둘 다 0이면 무시됩니다.
  • 전역 속성의 경우 최소값과 최대값을 정의해야 하는 경우 영역 ID가 0인 하나의 영역 구성을 사용해야 합니다.
minFloatValuemaxFloatValue
  • Float 유형 속성의 선택적 최소값 및 최대값입니다. 다른 모든 유형에서는 무시됩니다. 둘 다 0.0이면 무시됩니다.
  • 전역 속성의 경우 최소값과 최대값을 정의해야 하는 경우 영역 ID가 0인 하나의 영역 구성을 사용해야 합니다.
( Android 14의 새로운 기능 )
supportedEnumValues
  • 속성이 열거형 속성으로 정의된 경우 지원되는 값의 선택적 목록입니다. 지정되지 않거나(비어 있음) Android 14 이전에는 모든 열거형 값이 지원되는 것으로 간주됩니다.
  • 전역 속성의 경우 지원되는 열거형 값을 정의해야 하는 경우 영역 ID가 0인 하나의 영역 구성을 사용해야 합니다.

지역 유형

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를 통해 처리됩니다. 각 구역별 부동산은 하나 이상의 지역 ID를 지원할 수 있습니다. Area ID는 해당 열거형의 하나 이상의 플래그로 구성됩니다. 예를 들어 VehicleAreaSeat 사용하는 속성은 다음 영역 ID를 사용할 수 있습니다.

안건 설명
ROW_1_LEFT | ROW_1_RIGHT Area ID는 앞좌석 양쪽 모두에 적용됩니다.
ROW_2_LEFT 좌측 뒷좌석에만 적용됩니다.
ROW_2_RIGHT 뒷좌석 우측 좌석에만 적용됩니다.

자세한 내용은 HVAC 를 참조하세요.