From 5f537ee9564869b5c281abcf885553de6d42a148 Mon Sep 17 00:00:00 2001 From: Vitalii Tomkiv Date: Tue, 11 Oct 2016 14:26:44 -0700 Subject: Handle all zone types properly in CarPopertyUtils. bug: 32067249 Test: local run Change-Id: I7dc9a308f8a2bc3951217f03ab042e7f7c2751b7 --- .../car/vehiclenetwork/VehicleNetworkConsts.java | 81 +++++++++++++++++++++- libvehiclenetwork/tool/vehiclehal_code_gen.py | 28 ++++++-- 2 files changed, 101 insertions(+), 8 deletions(-) (limited to 'libvehiclenetwork') diff --git a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetworkConsts.java b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetworkConsts.java index b0cd19bdbd..047b3ab419 100644 --- a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetworkConsts.java +++ b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetworkConsts.java @@ -15,8 +15,9 @@ * limitations under the License. */ -//Autogenerated from vehicle.h using libvehiclenetwork/tool/vehicle_code_gen.py. -//Do not modify manually. +// Autogenerated from vehicle.h using +// libvehiclenetwork/tool/vehiclehal_code_gen.py. +// Do not modify manually. package com.android.car.vehiclenetwork; @@ -219,6 +220,7 @@ default: return VehicleValueType.VEHICLE_VALUE_TYPE_SHOUD_NOT_USE; public static String getVehiclePropertyName(int property) { switch (property) { +case VEHICLE_PROPERTY_INVALID: return "VEHICLE_PROPERTY_INVALID"; case VEHICLE_PROPERTY_INFO_VIN: return "VEHICLE_PROPERTY_INFO_VIN"; case VEHICLE_PROPERTY_INFO_MAKE: return "VEHICLE_PROPERTY_INFO_MAKE"; case VEHICLE_PROPERTY_INFO_MODEL: return "VEHICLE_PROPERTY_INFO_MODEL"; @@ -511,6 +513,61 @@ default: return null; } } +public static int getVehicleZoneType(int property) { +switch (property) { +case VEHICLE_PROPERTY_HVAC_FAN_SPEED: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_FAN_DIRECTION: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_TEMPERATURE_CURRENT: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_DEFROSTER: return VehicleZoneType.VEHICLE_ZONE_TYPE_WINDOW ; +case VEHICLE_PROPERTY_HVAC_AC_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_MAX_AC_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_MAX_DEFROST_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_RECIRC_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_DUAL_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_AUTO_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_SEAT_TEMPERATURE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_HVAC_ACTUAL_FAN_SPEED_RPM: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_POWER_ON: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_HVAC_FAN_DIRECTION_AVAILABLE: return VehicleZoneType.VEHICLE_ZONE_TYPE_ZONE ; +case VEHICLE_PROPERTY_DOOR_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_DOOR ; +case VEHICLE_PROPERTY_DOOR_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_DOOR ; +case VEHICLE_PROPERTY_DOOR_LOCK: return VehicleZoneType.VEHICLE_ZONE_TYPE_DOOR ; +case VEHICLE_PROPERTY_MIRROR_Z_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_MIRROR ; +case VEHICLE_PROPERTY_MIRROR_Z_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_MIRROR ; +case VEHICLE_PROPERTY_MIRROR_Y_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_MIRROR ; +case VEHICLE_PROPERTY_MIRROR_Y_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_MIRROR ; +case VEHICLE_PROPERTY_SEAT_MEMORY_SELECT: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_MEMORY_SET: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BELT_BUCKLED: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BELT_HEIGHT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BELT_HEIGHT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_FORE_AFT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_FORE_AFT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_1_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_1_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_2_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_BACKREST_ANGLE_2_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEIGHT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEIGHT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_DEPTH_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_DEPTH_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_TILT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_TILT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_LUMBAR_FORE_AFT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_LUMBAR_FORE_AFT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_HEIGHT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_HEIGHT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_ANGLE_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_ANGLE_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_FORE_AFT_POS: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +case VEHICLE_PROPERTY_SEAT_HEADREST_FORE_AFT_MOVE: return VehicleZoneType.VEHICLE_ZONE_TYPE_SEAT ; +default: return VehicleZoneType.VEHICLE_ZONE_TYPE_NONE; +} +} + @@ -1231,6 +1288,26 @@ default: return "UNKNOWN"; } } +public static class VehicleZoneType { +public static final int VEHICLE_ZONE_TYPE_NONE = 0x00; +public static final int VEHICLE_ZONE_TYPE_ZONE = 0x01; +public static final int VEHICLE_ZONE_TYPE_SEAT = 0x02; +public static final int VEHICLE_ZONE_TYPE_DOOR = 0x04; +public static final int VEHICLE_ZONE_TYPE_WINDOW = 0x10; +public static final int VEHICLE_ZONE_TYPE_MIRROR = 0x20; +public static String enumToString(int v) { +switch(v) { +case VEHICLE_ZONE_TYPE_NONE: return "VEHICLE_ZONE_TYPE_NONE"; +case VEHICLE_ZONE_TYPE_ZONE: return "VEHICLE_ZONE_TYPE_ZONE"; +case VEHICLE_ZONE_TYPE_SEAT: return "VEHICLE_ZONE_TYPE_SEAT"; +case VEHICLE_ZONE_TYPE_DOOR: return "VEHICLE_ZONE_TYPE_DOOR"; +case VEHICLE_ZONE_TYPE_WINDOW: return "VEHICLE_ZONE_TYPE_WINDOW"; +case VEHICLE_ZONE_TYPE_MIRROR: return "VEHICLE_ZONE_TYPE_MIRROR"; +default: return "UNKNOWN"; +} +} +} + public static class VehicleBoolean { public static final int VEHICLE_FALSE = 0x00; public static final int VEHICLE_TRUE = 0x01; diff --git a/libvehiclenetwork/tool/vehiclehal_code_gen.py b/libvehiclenetwork/tool/vehiclehal_code_gen.py index dfabd7dccd..e208e8c69b 100755 --- a/libvehiclenetwork/tool/vehiclehal_code_gen.py +++ b/libvehiclenetwork/tool/vehiclehal_code_gen.py @@ -37,8 +37,9 @@ JAVA_HEADER = \ * limitations under the License. */ -//Autogenerated from vehicle.h using libvehiclenetwork/tool/vehicle_code_gen.py. -//Do not modify manually. +// Autogenerated from vehicle.h using +// libvehiclenetwork/tool/vehiclehal_code_gen.py. +// Do not modify manually. package com.android.car.vehiclenetwork; @@ -50,7 +51,7 @@ JAVA_TRAIL = \ } """ -RE_PROPERTY_PATTERN = r'/\*\*(.*?)\*/\n\#define\s+VEHICLE_PROPERTY_(\S+)\s+(\(0x\S+\))' +RE_PROPERTY_PATTERN = r'/\*\*((.(?!\/\/===))*?)\*/\n\#define\s+VEHICLE_PROPERTY_(\S+)\s+(\(0x\S+\))' RE_ENUM_PATTERN = r'enum\s+(\S+)\s+\{\S*(.*?)\}' RE_ENUM_ENTRY_PATTERN = r'(\S+)\s*=\s*(.*?)[,\n]' RE_AUDIO_EXT_ROUTING_PATTERN = r'\n\#define\s+VEHICLE_PROPERTY_AUDIO_EXT_ROUTING_SOURCE_(\S+)\s+\"(\S+)\"' @@ -64,6 +65,7 @@ class PropertyInfo(object): self.access = "" self.unit = "" self.startEnd = 0 # _START/END property + self.zoneType = "" def __str__(self): r = ["value:" + self.value] @@ -162,6 +164,18 @@ switch (property) {""" """default: return null; } } +""" + #now implement getVehicleZoneType + print \ +"""public static int getVehicleZoneType(int property) { +switch (property) {""" + for p in props: + if p.zoneType != "": + print "case " + p.name + ": return VehicleZoneType." + p.zoneType + " ;" + print \ +"""default: return VehicleZoneType.VEHICLE_ZONE_TYPE_NONE; +} +} """ def printEnum(e): @@ -208,8 +222,8 @@ def main(argv): property_re = re.compile(RE_PROPERTY_PATTERN, re.MULTILINE | re.DOTALL) for match in property_re.finditer(text): words = match.group(1).split() - name = "VEHICLE_PROPERTY_" + match.group(2) - value = match.group(3) + name = "VEHICLE_PROPERTY_" + match.group(3) + value = match.group(4) if (value[0] == "(" and value[-1] == ")"): value = value[1:-1] prop = PropertyInfo(value, name) @@ -227,6 +241,9 @@ def main(argv): elif words[i] == "@unit": i += 1 prop.unit = words[i] + elif words[i] == "@zone_type": + i += 1 + prop.zoneType = words[i] elif words[i] == "@range_start" or words[i] == "@range_end": prop.startEnd = 1 i += 1 @@ -272,4 +289,3 @@ def main(argv): if __name__ == '__main__': main(sys.argv) - -- cgit v1.2.3