blob: 213f458b334533ca5b102b9f618a2b56a0da4716 [file] [log] [blame]
Steve Paik43c04a72016-07-08 19:12:09 -07001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.car.hal;
17
Keun-young Parkaf2cc992016-10-07 11:46:45 -070018import android.car.hardware.cabin.CarCabinManager;
Steve Paik43c04a72016-07-08 19:12:09 -070019
20import com.android.car.vehiclenetwork.VehicleNetworkConsts;
21
22public class CabinHalService extends PropertyHalServiceBase {
Vitalii Tomkiv1b1247b2016-09-30 11:27:19 -070023 private static final boolean DBG = false;
Steve Paik43c04a72016-07-08 19:12:09 -070024 private static final String TAG = "CAR.CABIN.HAL";
25
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070026 private final ManagerToHalPropIdMap mMgrHalPropIdMap = ManagerToHalPropIdMap.create(new int[] {
Keun-young Parkaf2cc992016-10-07 11:46:45 -070027 CarCabinManager.ID_DOOR_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070028 VehicleNetworkConsts.VEHICLE_PROPERTY_DOOR_POS,
29
Keun-young Parkaf2cc992016-10-07 11:46:45 -070030 CarCabinManager.ID_DOOR_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070031 VehicleNetworkConsts.VEHICLE_PROPERTY_DOOR_MOVE,
32
Keun-young Parkaf2cc992016-10-07 11:46:45 -070033 CarCabinManager.ID_DOOR_LOCK,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070034 VehicleNetworkConsts.VEHICLE_PROPERTY_DOOR_LOCK,
35
Keun-young Parkaf2cc992016-10-07 11:46:45 -070036 CarCabinManager.ID_MIRROR_Z_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070037 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_Z_POS,
38
Keun-young Parkaf2cc992016-10-07 11:46:45 -070039 CarCabinManager.ID_MIRROR_Z_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070040 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_Z_MOVE,
41
Keun-young Parkaf2cc992016-10-07 11:46:45 -070042 CarCabinManager.ID_MIRROR_Y_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070043 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_Y_POS,
44
Keun-young Parkaf2cc992016-10-07 11:46:45 -070045 CarCabinManager.ID_MIRROR_Y_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070046 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_Y_MOVE,
47
Keun-young Parkaf2cc992016-10-07 11:46:45 -070048 CarCabinManager.ID_MIRROR_LOCK,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070049 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_LOCK,
50
Keun-young Parkaf2cc992016-10-07 11:46:45 -070051 CarCabinManager.ID_MIRROR_FOLD,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070052 VehicleNetworkConsts.VEHICLE_PROPERTY_MIRROR_FOLD,
53
Keun-young Parkaf2cc992016-10-07 11:46:45 -070054 CarCabinManager.ID_SEAT_MEMORY_SELECT,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070055 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_MEMORY_SELECT,
56
Keun-young Parkaf2cc992016-10-07 11:46:45 -070057 CarCabinManager.ID_SEAT_MEMORY_SET,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070058 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_MEMORY_SET,
59
Keun-young Parkaf2cc992016-10-07 11:46:45 -070060 CarCabinManager.ID_SEAT_BELT_BUCKLED,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070061 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BELT_BUCKLED,
62
Keun-young Parkaf2cc992016-10-07 11:46:45 -070063 CarCabinManager.ID_SEAT_BELT_HEIGHT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070064 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BELT_HEIGHT_POS,
65
Keun-young Parkaf2cc992016-10-07 11:46:45 -070066 CarCabinManager.ID_SEAT_BELT_HEIGHT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070067 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BELT_HEIGHT_MOVE,
68
Keun-young Parkaf2cc992016-10-07 11:46:45 -070069 CarCabinManager.ID_SEAT_FORE_AFT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070070 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_FORE_AFT_POS,
71
Keun-young Parkaf2cc992016-10-07 11:46:45 -070072 CarCabinManager.ID_SEAT_FORE_AFT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070073 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_FORE_AFT_MOVE,
74
Keun-young Parkaf2cc992016-10-07 11:46:45 -070075 CarCabinManager.ID_SEAT_BACKREST_ANGLE_1_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070076 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_1_POS,
77
Keun-young Parkaf2cc992016-10-07 11:46:45 -070078 CarCabinManager.ID_SEAT_BACKREST_ANGLE_1_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070079 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_1_MOVE,
80
Keun-young Parkaf2cc992016-10-07 11:46:45 -070081 CarCabinManager.ID_SEAT_BACKREST_ANGLE_2_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070082 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_2_POS,
83
Keun-young Parkaf2cc992016-10-07 11:46:45 -070084 CarCabinManager.ID_SEAT_BACKREST_ANGLE_2_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070085 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_2_MOVE,
86
Keun-young Parkaf2cc992016-10-07 11:46:45 -070087 CarCabinManager.ID_SEAT_HEIGHT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070088 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEIGHT_POS,
89
Keun-young Parkaf2cc992016-10-07 11:46:45 -070090 CarCabinManager.ID_SEAT_HEIGHT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070091 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEIGHT_MOVE,
92
Keun-young Parkaf2cc992016-10-07 11:46:45 -070093 CarCabinManager.ID_SEAT_DEPTH_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070094 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_DEPTH_POS,
95
Keun-young Parkaf2cc992016-10-07 11:46:45 -070096 CarCabinManager.ID_SEAT_DEPTH_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -070097 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_DEPTH_MOVE,
98
Keun-young Parkaf2cc992016-10-07 11:46:45 -070099 CarCabinManager.ID_SEAT_TILT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700100 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_TILT_POS,
101
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700102 CarCabinManager.ID_SEAT_TILT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700103 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_TILT_MOVE,
104
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700105 CarCabinManager.ID_SEAT_LUMBAR_FORE_AFT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700106 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_LUMBAR_FORE_AFT_POS,
107
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700108 CarCabinManager.ID_SEAT_LUMBAR_FORE_AFT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700109 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_LUMBAR_FORE_AFT_MOVE,
110
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700111 CarCabinManager.ID_SEAT_LUMBAR_SIDE_SUPPORT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700112 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_POS,
113
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700114 CarCabinManager.ID_SEAT_LUMBAR_SIDE_SUPPORT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700115 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_MOVE,
116
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700117 CarCabinManager.ID_SEAT_HEADREST_HEIGHT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700118 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_HEIGHT_POS,
119
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700120 CarCabinManager.ID_SEAT_HEADREST_HEIGHT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700121 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_HEIGHT_MOVE,
122
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700123 CarCabinManager.ID_SEAT_HEADREST_ANGLE_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700124 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_ANGLE_POS,
125
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700126 CarCabinManager.ID_SEAT_HEADREST_ANGLE_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700127 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_ANGLE_MOVE,
128
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700129 CarCabinManager.ID_SEAT_HEADREST_FORE_AFT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700130 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_FORE_AFT_POS,
131
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700132 CarCabinManager.ID_SEAT_HEADREST_FORE_AFT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700133 VehicleNetworkConsts.VEHICLE_PROPERTY_SEAT_HEADREST_FORE_AFT_MOVE,
134
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700135 CarCabinManager.ID_WINDOW_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700136 VehicleNetworkConsts.VEHICLE_PROPERTY_WINDOW_POS,
137
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700138 CarCabinManager.ID_WINDOW_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700139 VehicleNetworkConsts.VEHICLE_PROPERTY_WINDOW_MOVE,
140
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700141 CarCabinManager.ID_WINDOW_VENT_POS,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700142 VehicleNetworkConsts.VEHICLE_PROPERTY_WINDOW_VENT_POS,
143
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700144 CarCabinManager.ID_WINDOW_VENT_MOVE,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700145 VehicleNetworkConsts.VEHICLE_PROPERTY_WINDOW_VENT_MOVE,
146
Keun-young Parkaf2cc992016-10-07 11:46:45 -0700147 CarCabinManager.ID_WINDOW_LOCK,
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700148 VehicleNetworkConsts.VEHICLE_PROPERTY_WINDOW_LOCK
149 });
150
Steve Paik43c04a72016-07-08 19:12:09 -0700151 public CabinHalService(VehicleHal vehicleHal) {
152 super(vehicleHal, TAG, DBG);
153 }
154
155 // Convert the Cabin public API property ID to HAL property ID
156 @Override
157 protected int managerToHalPropId(int propId) {
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700158 return mMgrHalPropIdMap.getHalPropId(propId);
Steve Paik43c04a72016-07-08 19:12:09 -0700159 }
160
161 // Convert he HAL specific property ID to Cabin public API
162 @Override
163 protected int halToManagerPropId(int halPropId) {
Pavel Maltsev634e1ff2016-07-14 15:41:26 -0700164 return mMgrHalPropIdMap.getManagerPropId(halPropId);
Steve Paik43c04a72016-07-08 19:12:09 -0700165 }
166}