지원되는 각 속성은 VehiclePropConfig
구조를 통해 정의된 속성 구성으로 지정되며 다음 필드를 포함합니다.
필드 | 설명 |
---|---|
prop |
속성 ID입니다. 이는 지원되는 시스템 속성에 정의된 시스템 속성 중 하나이거나 공급업체 속성 중 하나여야 합니다. 속성 ID는 다음 필드의 비트 또는 값을 사용하여 생성됩니다 (오른쪽에서 왼쪽으로).
예: |
access |
속성의 액세스 모드입니다. READ , WRITE 또는 READ_WRITE 중 하나여야 합니다. 이 값은 지원되는 시스템 속성에 정의된 액세스 모드와 같아야 합니다. |
changeMode |
|
configArray |
속성별 구성을 포함하는 선택적 배열입니다. 비워 둘 수 있습니다. |
configString |
속성별 구성을 포함하는 선택사항 문자열입니다. 비워 둘 수 있습니다. |
minSampleRate 및 maxSampleRate
연속 속성에 지원되는 최소 및 최대 샘플링 레이트입니다. 속성이 연속적이지 않은 경우에는 사용되지 않습니다. |
속성 유형
VehiclePropertyType.aidl
에 enum으로 정의됩니다. 지원되는 속성 유형은 다음 표에 나와 있습니다.
속성 유형 | 값 | 설명 |
---|---|---|
문자열 | 0x00100000 | 문자열 속성으로, 차량 속성 값의 stringValue 필드를 사용합니다. |
BOOLEAN | 0x00200000 | 불리언 속성으로, 차량 속성 값의 int32Values 필드에 있는 첫 번째 요소를 사용합니다.
0 는 false 를 의미하고 None 0 는 true 를 의미합니다. |
INT32 | 0x00400000 | 정수 속성으로, 차량 속성 값의 int32Values 필드에 있는 첫 번째 요소를 사용합니다. |
INT32_VEC | 0x00410000 | Integer[] 속성: 차량 속성 값의 int32Values 필드에 있는 요소를 사용합니다. |
INT64 | 0x00500000 | Long 속성으로, 차량 속성 값의 int64Values 필드에 있는 첫 번째 요소를 사용합니다. |
INT64_VEC | 0x00510000 | Long[] 속성: 차량 속성 값의 int64Values 필드에 있는 요소를 사용합니다. |
FLOAT | 0x00600000 | 부동 소수점 수 속성으로, 차량 속성 값의 floatValues 필드에 있는 첫 번째 요소를 사용합니다. |
FLOAT_VEC | 0x00610000 | Float[] 속성: 차량 속성 값의 floatValues 필드에 있는 요소를 사용합니다. |
BYTES | 0x00700000 | byte[] 속성: 차량 속성 값의 byteValues 필드에 있는 요소를 사용합니다. |
혼합 | 0x00e00000 | 혼합 유형 속성 스칼라 또는 벡터 유형의 조합 정확한 형식은 속성 구성의 config 배열에 제공되어야 합니다.
공급업체 MIXED 유형 속성의 경우 configArray의 형식이 다음 구조여야 합니다.
예를 들어 |
지역 ID 구성
각 속성 구성에는 영역 ID 구성 목록도 포함될 수 있습니다. 이 목록은 글로벌 속성의 경우 선택사항이며 구역 분할 속성 (지원되는 여러 영역이 있는 속성)의 경우 필수입니다. 각 지역 ID 구성에는 다음 필드가 있습니다.
필드 | 설명 |
---|---|
areaId |
이 영역의 ID입니다. 지역 ID를 참고하세요. |
minInt32Value 및 maxInt32Value |
|
minInt64Value 및 maxInt64Value |
|
minFloatValue 및 maxFloatValue |
|
(Android 14의 새로운 기능)supportedEnumValues |
|
영역 유형
VehicleArea.aidl
에서 enum으로 정의됩니다. 지원되는 지역 유형은 다음과 같습니다.
영역 유형 | 값 | 설명 |
---|---|---|
전 세계 | 0x01000000 | 이 속성은 전역 속성이며 여러 영역이 없습니다. |
WINDOW | 0x03000000 | 창을 기준으로 한 영역으로, VehicleAreaWindow enum을 사용합니다. |
Mirror | 0x04000000 | 미러를 기준으로 한 영역으로, VehicleAreaMirror enum을 사용합니다. |
SEAT | 0x05000000 | 좌석을 기준으로 한 영역으로, VehicleAreaSeat enum을 사용합니다. |
DOOR | 0x06000000 | 도어를 기준으로 한 영역으로, VehicleAreaDoor enum을 사용합니다. |
WHEEL | 0x07000000 | 바퀴를 기준으로 한 영역으로, VehicleAreaWheel enum을 사용합니다. |
각 구역 분할 속성은 사전 정의된 영역 유형을 사용해야 합니다. 각 영역 유형에는 영역 유형의 enum에 정의된 일련의 비트 플래그가 있습니다. 예를 들어 SEAT 영역은 VehicleAreaSeat
enum을 정의합니다.
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를 지원할 수 있습니다. 영역 ID는 개별 enum의 플래그 하나 이상으로 구성됩니다. 예를 들어 VehicleAreaSeat
를 사용하는 속성은 다음 영역 ID를 사용할 수 있습니다.
항목 | 설명 |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
영역 ID가 앞좌석 모두에 적용됩니다. |
ROW_2_LEFT |
왼쪽 뒷좌석에만 적용됩니다. |
ROW_2_RIGHT |
오른쪽 뒷좌석에만 적용됩니다. |
자세한 내용은 HVAC를 참고하세요.