aboutsummaryrefslogtreecommitdiff
path: root/car-lib
diff options
context:
space:
mode:
authorEnrico Granata <egranata@google.com>2017-03-15 18:01:34 -0700
committerEnrico Granata <egranata@google.com>2017-03-16 13:57:37 -0700
commit4c43add01ddcbbc1aefd78249bbe1cf981381f8e (patch)
treeea1caef6d7a959f0a91172b3fee7d57cd11bf487 /car-lib
parent185a2c831e365fb42f385b3280f27bfdc2ac0218 (diff)
downloadCar-4c43add01ddcbbc1aefd78249bbe1cf981381f8e.tar.gz
Automatically generate the Java list of OBD2 sensor indices from the HIDL definition.
This commit introduces the hidl_parser library, which is capable of generating a parse tree from a set of HIDL enum definitions. It then uses the output of hidl_parser to generate CarDiagnosticSensorIndices.java. Test: update-obd2-sensors.py + rebuild Change-Id: Ie368b616468b0a2b46da5aa92deb4617c78302e1
Diffstat (limited to 'car-lib')
-rw-r--r--car-lib/src/android/car/hardware/CarDiagnosticEvent.java269
-rw-r--r--car-lib/src/android/car/hardware/CarDiagnosticSensorIndices.java266
2 files changed, 282 insertions, 253 deletions
diff --git a/car-lib/src/android/car/hardware/CarDiagnosticEvent.java b/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
index 0c37537bc2..b970b2309c 100644
--- a/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
+++ b/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
@@ -34,243 +34,6 @@ import java.util.Objects;
*/
@FutureFeature
public class CarDiagnosticEvent implements Parcelable {
- /** This class contains the indices of the standard OBD2 sensors with an integer value */
- public static final class Obd2IntegerSensorIndex {
- private Obd2IntegerSensorIndex() {}
-
- public static final int FUEL_SYSTEM_STATUS = 0;
- public static final int MALFUNCTION_INDICATOR_LIGHT_ON = 1;
- public static final int IGNITION_MONITORS_SUPPORTED = 2;
- public static final int IGNITION_SPECIFIC_MONITORS = 3;
- public static final int INTAKE_AIR_TEMPERATURE = 4;
- public static final int COMMANDED_SECONDARY_AIR_STATUS = 5;
- public static final int NUM_OXYGEN_SENSORS_PRESENT = 6;
- public static final int RUNTIME_SINCE_ENGINE_START = 7;
- public static final int DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8;
- public static final int WARMUPS_SINCE_CODES_CLEARED = 9;
- public static final int DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10;
- public static final int ABSOLUTE_BAROMETRIC_PRESSURE = 11;
- public static final int CONTROL_MODULE_VOLTAGE = 12;
- public static final int AMBIENT_AIR_TEMPERATURE = 13;
- public static final int TIME_WITH_MALFUNCTION_LIGHT_ON = 14;
- public static final int TIME_SINCE_TROUBLE_CODES_CLEARED = 15;
- public static final int MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16;
- public static final int MAX_OXYGEN_SENSOR_VOLTAGE = 17;
- public static final int MAX_OXYGEN_SENSOR_CURRENT = 18;
- public static final int MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19;
- public static final int MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20;
- public static final int FUEL_TYPE = 21;
- public static final int FUEL_RAIL_ABSOLUTE_PRESSURE = 22;
- public static final int ENGINE_OIL_TEMPERATURE = 23;
- public static final int DRIVER_DEMAND_PERCENT_TORQUE = 24;
- public static final int ENGINE_ACTUAL_PERCENT_TORQUE = 25;
- public static final int ENGINE_REFERENCE_PERCENT_TORQUE = 26;
- public static final int ENGINE_PERCENT_TORQUE_DATA_IDLE = 27;
- public static final int ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28;
- public static final int ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29;
- public static final int ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30;
- public static final int ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31;
- public static final int LAST_SYSTEM = ENGINE_PERCENT_TORQUE_DATA_POINT4;
- public static final int VENDOR_START = LAST_SYSTEM + 1;
- }
-
- /** This class contains the indices of the standard OBD2 sensors with a floating-point value */
- public static final class Obd2FloatSensorIndex {
-
- private Obd2FloatSensorIndex() {}
-
- public static final int CALCULATED_ENGINE_LOAD = 0;
- public static final int ENGINE_COOLANT_TEMPERATURE = 1;
- public static final int SHORT_TERM_FUEL_TRIM_BANK1 = 2;
- public static final int LONG_TERM_FUEL_TRIM_BANK1 = 3;
- public static final int SHORT_TERM_FUEL_TRIM_BANK2 = 4;
- public static final int LONG_TERM_FUEL_TRIM_BANK2 = 5;
- public static final int FUEL_PRESSURE = 6;
- public static final int INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7;
- public static final int ENGINE_RPM = 8;
- public static final int VEHICLE_SPEED = 9;
- public static final int TIMING_ADVANCE = 10;
- public static final int MAF_AIR_FLOW_RATE = 11;
- public static final int THROTTLE_POSITION = 12;
- public static final int OXYGEN_SENSOR1_VOLTAGE = 13;
- public static final int OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14;
- public static final int OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15;
- public static final int OXYGEN_SENSOR2_VOLTAGE = 16;
- public static final int OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17;
- public static final int OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18;
- public static final int OXYGEN_SENSOR3_VOLTAGE = 19;
- public static final int OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20;
- public static final int OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21;
- public static final int OXYGEN_SENSOR4_VOLTAGE = 22;
- public static final int OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23;
- public static final int OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24;
- public static final int OXYGEN_SENSOR5_VOLTAGE = 25;
- public static final int OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26;
- public static final int OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27;
- public static final int OXYGEN_SENSOR6_VOLTAGE = 28;
- public static final int OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29;
- public static final int OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30;
- public static final int OXYGEN_SENSOR7_VOLTAGE = 31;
- public static final int OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32;
- public static final int OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33;
- public static final int OXYGEN_SENSOR8_VOLTAGE = 34;
- public static final int OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35;
- public static final int OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36;
- public static final int FUEL_RAIL_PRESSURE = 37;
- public static final int FUEL_RAIL_GAUGE_PRESSURE = 38;
- public static final int COMMANDED_EXHAUST_GAS_RECIRCULATION = 39;
- public static final int EXHAUST_GAS_RECIRCULATION_ERROR = 40;
- public static final int COMMANDED_EVAPORATIVE_PURGE = 41;
- public static final int FUEL_TANK_LEVEL_INPUT = 42;
- public static final int EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43;
- public static final int CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44;
- public static final int CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45;
- public static final int CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46;
- public static final int CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47;
- public static final int ABSOLUTE_LOAD_VALUE = 48;
- public static final int FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49;
- public static final int RELATIVE_THROTTLE_POSITION = 50;
- public static final int ABSOLUTE_THROTTLE_POSITION_B = 51;
- public static final int ABSOLUTE_THROTTLE_POSITION_C = 52;
- public static final int ACCELERATOR_PEDAL_POSITION_D = 53;
- public static final int ACCELERATOR_PEDAL_POSITION_E = 54;
- public static final int ACCELERATOR_PEDAL_POSITION_F = 55;
- public static final int COMMANDED_THROTTLE_ACTUATOR = 56;
- public static final int ETHANOL_FUEL_PERCENTAGE = 57;
- public static final int ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58;
- public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59;
- public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60;
- public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61;
- public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62;
- public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63;
- public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64;
- public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65;
- public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66;
- public static final int RELATIVE_ACCELERATOR_PEDAL_POSITION = 67;
- public static final int HYBRID_BATTERY_PACK_REMAINING_LIFE = 68;
- public static final int FUEL_INJECTION_TIMING = 69;
- public static final int ENGINE_FUEL_RATE = 70;
- public static final int LAST_SYSTEM = ENGINE_FUEL_RATE;
- public static final int VENDOR_START = LAST_SYSTEM + 1;
- }
-
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS,
- Obd2IntegerSensorIndex.MALFUNCTION_INDICATOR_LIGHT_ON,
- Obd2IntegerSensorIndex.IGNITION_MONITORS_SUPPORTED,
- Obd2IntegerSensorIndex.IGNITION_SPECIFIC_MONITORS,
- Obd2IntegerSensorIndex.INTAKE_AIR_TEMPERATURE,
- Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS,
- Obd2IntegerSensorIndex.NUM_OXYGEN_SENSORS_PRESENT,
- Obd2IntegerSensorIndex.RUNTIME_SINCE_ENGINE_START,
- Obd2IntegerSensorIndex.DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON,
- Obd2IntegerSensorIndex.WARMUPS_SINCE_CODES_CLEARED,
- Obd2IntegerSensorIndex.DISTANCE_TRAVELED_SINCE_CODES_CLEARED,
- Obd2IntegerSensorIndex.ABSOLUTE_BAROMETRIC_PRESSURE,
- Obd2IntegerSensorIndex.CONTROL_MODULE_VOLTAGE,
- Obd2IntegerSensorIndex.AMBIENT_AIR_TEMPERATURE,
- Obd2IntegerSensorIndex.TIME_WITH_MALFUNCTION_LIGHT_ON,
- Obd2IntegerSensorIndex.TIME_SINCE_TROUBLE_CODES_CLEARED,
- Obd2IntegerSensorIndex.MAX_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2IntegerSensorIndex.MAX_OXYGEN_SENSOR_VOLTAGE,
- Obd2IntegerSensorIndex.MAX_OXYGEN_SENSOR_CURRENT,
- Obd2IntegerSensorIndex.MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE,
- Obd2IntegerSensorIndex.MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR,
- Obd2IntegerSensorIndex.FUEL_TYPE,
- Obd2IntegerSensorIndex.FUEL_RAIL_ABSOLUTE_PRESSURE,
- Obd2IntegerSensorIndex.ENGINE_OIL_TEMPERATURE,
- Obd2IntegerSensorIndex.DRIVER_DEMAND_PERCENT_TORQUE,
- Obd2IntegerSensorIndex.ENGINE_ACTUAL_PERCENT_TORQUE,
- Obd2IntegerSensorIndex.ENGINE_REFERENCE_PERCENT_TORQUE,
- Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_IDLE,
- Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT1,
- Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT2,
- Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT3,
- Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT4,
- Obd2IntegerSensorIndex.LAST_SYSTEM,
- Obd2IntegerSensorIndex.VENDOR_START,
- })
- public @interface IntegerSensorIndex {}
-
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- Obd2FloatSensorIndex.CALCULATED_ENGINE_LOAD,
- Obd2FloatSensorIndex.ENGINE_COOLANT_TEMPERATURE,
- Obd2FloatSensorIndex.SHORT_TERM_FUEL_TRIM_BANK1,
- Obd2FloatSensorIndex.LONG_TERM_FUEL_TRIM_BANK1,
- Obd2FloatSensorIndex.SHORT_TERM_FUEL_TRIM_BANK2,
- Obd2FloatSensorIndex.LONG_TERM_FUEL_TRIM_BANK2,
- Obd2FloatSensorIndex.FUEL_PRESSURE,
- Obd2FloatSensorIndex.INTAKE_MANIFOLD_ABSOLUTE_PRESSURE,
- Obd2FloatSensorIndex.ENGINE_RPM,
- Obd2FloatSensorIndex.VEHICLE_SPEED,
- Obd2FloatSensorIndex.TIMING_ADVANCE,
- Obd2FloatSensorIndex.MAF_AIR_FLOW_RATE,
- Obd2FloatSensorIndex.THROTTLE_POSITION,
- Obd2FloatSensorIndex.OXYGEN_SENSOR1_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR2_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR3_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR4_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR5_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR6_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR7_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.OXYGEN_SENSOR8_VOLTAGE,
- Obd2FloatSensorIndex.OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM,
- Obd2FloatSensorIndex.OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.FUEL_RAIL_PRESSURE,
- Obd2FloatSensorIndex.FUEL_RAIL_GAUGE_PRESSURE,
- Obd2FloatSensorIndex.COMMANDED_EXHAUST_GAS_RECIRCULATION,
- Obd2FloatSensorIndex.EXHAUST_GAS_RECIRCULATION_ERROR,
- Obd2FloatSensorIndex.COMMANDED_EVAPORATIVE_PURGE,
- Obd2FloatSensorIndex.FUEL_TANK_LEVEL_INPUT,
- Obd2FloatSensorIndex.EVAPORATION_SYSTEM_VAPOR_PRESSURE,
- Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK1_SENSOR1,
- Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK2_SENSOR1,
- Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK1_SENSOR2,
- Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK2_SENSOR2,
- Obd2FloatSensorIndex.ABSOLUTE_LOAD_VALUE,
- Obd2FloatSensorIndex.FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO,
- Obd2FloatSensorIndex.RELATIVE_THROTTLE_POSITION,
- Obd2FloatSensorIndex.ABSOLUTE_THROTTLE_POSITION_B,
- Obd2FloatSensorIndex.ABSOLUTE_THROTTLE_POSITION_C,
- Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_D,
- Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_E,
- Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_F,
- Obd2FloatSensorIndex.COMMANDED_THROTTLE_ACTUATOR,
- Obd2FloatSensorIndex.ETHANOL_FUEL_PERCENTAGE,
- Obd2FloatSensorIndex.ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE,
- Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1,
- Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2,
- Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3,
- Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4,
- Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1,
- Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2,
- Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3,
- Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4,
- Obd2FloatSensorIndex.RELATIVE_ACCELERATOR_PEDAL_POSITION,
- Obd2FloatSensorIndex.HYBRID_BATTERY_PACK_REMAINING_LIFE,
- Obd2FloatSensorIndex.FUEL_INJECTION_TIMING,
- Obd2FloatSensorIndex.ENGINE_FUEL_RATE,
- Obd2FloatSensorIndex.LAST_SYSTEM,
- Obd2FloatSensorIndex.VENDOR_START,
- })
- public @interface FloatSensorIndex {}
-
/** Whether this frame represents a live or a freeze frame */
public final int frameType;
@@ -420,13 +183,13 @@ public class CarDiagnosticEvent implements Parcelable {
SparseArray<Float> newFloatValues = floatValues.clone();
for(int i = 0; i < intValues.size(); ++i) {
int key = intValues.keyAt(i);
- if (key >= Obd2IntegerSensorIndex.LAST_SYSTEM) {
+ if (key >= CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.LAST_SYSTEM) {
newIntValues.delete(key);
}
}
for(int i = 0; i < floatValues.size(); ++i) {
int key = floatValues.keyAt(i);
- if (key >= Obd2FloatSensorIndex.LAST_SYSTEM) {
+ if (key >= CarDiagnosticSensorIndices.Obd2FloatSensorIndex.LAST_SYSTEM) {
newFloatValues.delete(key);
}
}
@@ -481,11 +244,11 @@ public class CarDiagnosticEvent implements Parcelable {
floatValues.toString());
}
- public int getSystemIntegerSensor(@IntegerSensorIndex int sensor, int defaultValue) {
+ public int getSystemIntegerSensor(@CarDiagnosticSensorIndices.IntegerSensorIndex int sensor, int defaultValue) {
return intValues.get(sensor, defaultValue);
}
- public float getSystemFloatSensor(@FloatSensorIndex int sensor, float defaultValue) {
+ public float getSystemFloatSensor(@CarDiagnosticSensorIndices.FloatSensorIndex int sensor, float defaultValue) {
return floatValues.get(sensor, defaultValue);
}
@@ -497,13 +260,13 @@ public class CarDiagnosticEvent implements Parcelable {
return floatValues.get(sensor, defaultValue);
}
- public @Nullable Integer getSystemIntegerSensor(@IntegerSensorIndex int sensor) {
+ public @Nullable Integer getSystemIntegerSensor(@CarDiagnosticSensorIndices.IntegerSensorIndex int sensor) {
int index = intValues.indexOfKey(sensor);
if(index < 0) return null;
return intValues.valueAt(index);
}
- public @Nullable Float getSystemFloatSensor(@FloatSensorIndex int sensor) {
+ public @Nullable Float getSystemFloatSensor(@CarDiagnosticSensorIndices.FloatSensorIndex int sensor) {
int index = floatValues.indexOfKey(sensor);
if(index < 0) return null;
return floatValues.valueAt(index);
@@ -523,7 +286,7 @@ public class CarDiagnosticEvent implements Parcelable {
/**
* Represents possible states of the fuel system;
- * see {@link Obd2IntegerSensorIndex#FUEL_SYSTEM_STATUS}
+ * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_SYSTEM_STATUS}
*/
public static final class FuelSystemStatus {
private FuelSystemStatus() {}
@@ -547,7 +310,7 @@ public class CarDiagnosticEvent implements Parcelable {
/**
* Represents possible states of the secondary air system;
- * see {@link Obd2IntegerSensorIndex#COMMANDED_SECONDARY_AIR_STATUS}
+ * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#COMMANDED_SECONDARY_AIR_STATUS}
*/
public static final class SecondaryAirStatus {
private SecondaryAirStatus() {}
@@ -569,7 +332,7 @@ public class CarDiagnosticEvent implements Parcelable {
/**
* Represents possible types of fuel;
- * see {@link Obd2IntegerSensorIndex#FUEL_TYPE}
+ * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_TYPE}
*/
public static final class FuelType {
private FuelType() {}
@@ -631,8 +394,8 @@ public class CarDiagnosticEvent implements Parcelable {
/**
* Represents possible states of the ignition monitors on the vehicle;
- * see {@link Obd2IntegerSensorIndex#IGNITION_MONITORS_SUPPORTED}
- * see {@link Obd2IntegerSensorIndex#IGNITION_SPECIFIC_MONITORS}
+ * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_MONITORS_SUPPORTED}
+ * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_SPECIFIC_MONITORS}
*/
public static final class IgnitionMonitors {
public static final class IgnitionMonitor {
@@ -876,18 +639,18 @@ public class CarDiagnosticEvent implements Parcelable {
}
public @Nullable @FuelSystemStatus.Status Integer getFuelSystemStatus() {
- return getSystemIntegerSensor(Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS);
+ return getSystemIntegerSensor(CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS);
}
public @Nullable @SecondaryAirStatus.Status Integer getSecondaryAirStatus() {
- return getSystemIntegerSensor(Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS);
+ return getSystemIntegerSensor(CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS);
}
public @Nullable IgnitionMonitors.CommonIgnitionMonitors getIgnitionMonitors() {
Integer ignitionMonitorsType = getSystemIntegerSensor(
- Obd2IntegerSensorIndex.IGNITION_MONITORS_SUPPORTED);
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.IGNITION_MONITORS_SUPPORTED);
Integer ignitionMonitorsBitmask = getSystemIntegerSensor(
- Obd2IntegerSensorIndex.IGNITION_SPECIFIC_MONITORS);
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.IGNITION_SPECIFIC_MONITORS);
if (null == ignitionMonitorsType) return null;
if (null == ignitionMonitorsBitmask) return null;
switch (ignitionMonitorsType) {
@@ -900,6 +663,6 @@ public class CarDiagnosticEvent implements Parcelable {
}
public @Nullable @FuelType.Type Integer getFuelType() {
- return getSystemIntegerSensor(Obd2IntegerSensorIndex.FUEL_TYPE);
+ return getSystemIntegerSensor(CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.FUEL_TYPE);
}
}
diff --git a/car-lib/src/android/car/hardware/CarDiagnosticSensorIndices.java b/car-lib/src/android/car/hardware/CarDiagnosticSensorIndices.java
new file mode 100644
index 0000000000..d19b232208
--- /dev/null
+++ b/car-lib/src/android/car/hardware/CarDiagnosticSensorIndices.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package android.car.hardware;
+
+import android.annotation.IntDef;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * This class is a container for the indices of integer and float diagnostic sensors.
+ * These values are extracted from types.hal by packages/services/Car/tools/update-obd2-sensors.py
+ *
+ * DO NOT EDIT MANUALLY
+ *
+ * @hide
+ */
+public final class CarDiagnosticSensorIndices {
+ public static final class Obd2IntegerSensorIndex {
+ private Obd2IntegerSensorIndex() {}
+
+ public static final int FUEL_SYSTEM_STATUS = 0;
+ public static final int MALFUNCTION_INDICATOR_LIGHT_ON = 1;
+ public static final int IGNITION_MONITORS_SUPPORTED = 2;
+ public static final int IGNITION_SPECIFIC_MONITORS = 3;
+ public static final int INTAKE_AIR_TEMPERATURE = 4;
+ public static final int COMMANDED_SECONDARY_AIR_STATUS = 5;
+ public static final int NUM_OXYGEN_SENSORS_PRESENT = 6;
+ public static final int RUNTIME_SINCE_ENGINE_START = 7;
+ public static final int DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8;
+ public static final int WARMUPS_SINCE_CODES_CLEARED = 9;
+ public static final int DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10;
+ public static final int ABSOLUTE_BAROMETRIC_PRESSURE = 11;
+ public static final int CONTROL_MODULE_VOLTAGE = 12;
+ public static final int AMBIENT_AIR_TEMPERATURE = 13;
+ public static final int TIME_WITH_MALFUNCTION_LIGHT_ON = 14;
+ public static final int TIME_SINCE_TROUBLE_CODES_CLEARED = 15;
+ public static final int MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16;
+ public static final int MAX_OXYGEN_SENSOR_VOLTAGE = 17;
+ public static final int MAX_OXYGEN_SENSOR_CURRENT = 18;
+ public static final int MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19;
+ public static final int MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20;
+ public static final int FUEL_TYPE = 21;
+ public static final int FUEL_RAIL_ABSOLUTE_PRESSURE = 22;
+ public static final int ENGINE_OIL_TEMPERATURE = 23;
+ public static final int DRIVER_DEMAND_PERCENT_TORQUE = 24;
+ public static final int ENGINE_ACTUAL_PERCENT_TORQUE = 25;
+ public static final int ENGINE_REFERENCE_PERCENT_TORQUE = 26;
+ public static final int ENGINE_PERCENT_TORQUE_DATA_IDLE = 27;
+ public static final int ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28;
+ public static final int ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29;
+ public static final int ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30;
+ public static final int ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31;
+ public static final int LAST_SYSTEM = ENGINE_PERCENT_TORQUE_DATA_POINT4;
+ public static final int VENDOR_START = LAST_SYSTEM + 1;
+ }
+
+ public static final class Obd2FloatSensorIndex {
+ private Obd2FloatSensorIndex() {}
+
+ public static final int CALCULATED_ENGINE_LOAD = 0;
+ public static final int ENGINE_COOLANT_TEMPERATURE = 1;
+ public static final int SHORT_TERM_FUEL_TRIM_BANK1 = 2;
+ public static final int LONG_TERM_FUEL_TRIM_BANK1 = 3;
+ public static final int SHORT_TERM_FUEL_TRIM_BANK2 = 4;
+ public static final int LONG_TERM_FUEL_TRIM_BANK2 = 5;
+ public static final int FUEL_PRESSURE = 6;
+ public static final int INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7;
+ public static final int ENGINE_RPM = 8;
+ public static final int VEHICLE_SPEED = 9;
+ public static final int TIMING_ADVANCE = 10;
+ public static final int MAF_AIR_FLOW_RATE = 11;
+ public static final int THROTTLE_POSITION = 12;
+ public static final int OXYGEN_SENSOR1_VOLTAGE = 13;
+ public static final int OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14;
+ public static final int OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15;
+ public static final int OXYGEN_SENSOR2_VOLTAGE = 16;
+ public static final int OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17;
+ public static final int OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18;
+ public static final int OXYGEN_SENSOR3_VOLTAGE = 19;
+ public static final int OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20;
+ public static final int OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21;
+ public static final int OXYGEN_SENSOR4_VOLTAGE = 22;
+ public static final int OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23;
+ public static final int OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24;
+ public static final int OXYGEN_SENSOR5_VOLTAGE = 25;
+ public static final int OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26;
+ public static final int OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27;
+ public static final int OXYGEN_SENSOR6_VOLTAGE = 28;
+ public static final int OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29;
+ public static final int OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30;
+ public static final int OXYGEN_SENSOR7_VOLTAGE = 31;
+ public static final int OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32;
+ public static final int OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33;
+ public static final int OXYGEN_SENSOR8_VOLTAGE = 34;
+ public static final int OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35;
+ public static final int OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36;
+ public static final int FUEL_RAIL_PRESSURE = 37;
+ public static final int FUEL_RAIL_GAUGE_PRESSURE = 38;
+ public static final int COMMANDED_EXHAUST_GAS_RECIRCULATION = 39;
+ public static final int EXHAUST_GAS_RECIRCULATION_ERROR = 40;
+ public static final int COMMANDED_EVAPORATIVE_PURGE = 41;
+ public static final int FUEL_TANK_LEVEL_INPUT = 42;
+ public static final int EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43;
+ public static final int CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44;
+ public static final int CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45;
+ public static final int CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46;
+ public static final int CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47;
+ public static final int ABSOLUTE_LOAD_VALUE = 48;
+ public static final int FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49;
+ public static final int RELATIVE_THROTTLE_POSITION = 50;
+ public static final int ABSOLUTE_THROTTLE_POSITION_B = 51;
+ public static final int ABSOLUTE_THROTTLE_POSITION_C = 52;
+ public static final int ACCELERATOR_PEDAL_POSITION_D = 53;
+ public static final int ACCELERATOR_PEDAL_POSITION_E = 54;
+ public static final int ACCELERATOR_PEDAL_POSITION_F = 55;
+ public static final int COMMANDED_THROTTLE_ACTUATOR = 56;
+ public static final int ETHANOL_FUEL_PERCENTAGE = 57;
+ public static final int ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58;
+ public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59;
+ public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60;
+ public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61;
+ public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62;
+ public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63;
+ public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64;
+ public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65;
+ public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66;
+ public static final int RELATIVE_ACCELERATOR_PEDAL_POSITION = 67;
+ public static final int HYBRID_BATTERY_PACK_REMAINING_LIFE = 68;
+ public static final int FUEL_INJECTION_TIMING = 69;
+ public static final int ENGINE_FUEL_RATE = 70;
+ public static final int LAST_SYSTEM = ENGINE_FUEL_RATE;
+ public static final int VENDOR_START = LAST_SYSTEM + 1;
+ }
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS,
+ Obd2IntegerSensorIndex.MALFUNCTION_INDICATOR_LIGHT_ON,
+ Obd2IntegerSensorIndex.IGNITION_MONITORS_SUPPORTED,
+ Obd2IntegerSensorIndex.IGNITION_SPECIFIC_MONITORS,
+ Obd2IntegerSensorIndex.INTAKE_AIR_TEMPERATURE,
+ Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS,
+ Obd2IntegerSensorIndex.NUM_OXYGEN_SENSORS_PRESENT,
+ Obd2IntegerSensorIndex.RUNTIME_SINCE_ENGINE_START,
+ Obd2IntegerSensorIndex.DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON,
+ Obd2IntegerSensorIndex.WARMUPS_SINCE_CODES_CLEARED,
+ Obd2IntegerSensorIndex.DISTANCE_TRAVELED_SINCE_CODES_CLEARED,
+ Obd2IntegerSensorIndex.ABSOLUTE_BAROMETRIC_PRESSURE,
+ Obd2IntegerSensorIndex.CONTROL_MODULE_VOLTAGE,
+ Obd2IntegerSensorIndex.AMBIENT_AIR_TEMPERATURE,
+ Obd2IntegerSensorIndex.TIME_WITH_MALFUNCTION_LIGHT_ON,
+ Obd2IntegerSensorIndex.TIME_SINCE_TROUBLE_CODES_CLEARED,
+ Obd2IntegerSensorIndex.MAX_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2IntegerSensorIndex.MAX_OXYGEN_SENSOR_VOLTAGE,
+ Obd2IntegerSensorIndex.MAX_OXYGEN_SENSOR_CURRENT,
+ Obd2IntegerSensorIndex.MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE,
+ Obd2IntegerSensorIndex.MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR,
+ Obd2IntegerSensorIndex.FUEL_TYPE,
+ Obd2IntegerSensorIndex.FUEL_RAIL_ABSOLUTE_PRESSURE,
+ Obd2IntegerSensorIndex.ENGINE_OIL_TEMPERATURE,
+ Obd2IntegerSensorIndex.DRIVER_DEMAND_PERCENT_TORQUE,
+ Obd2IntegerSensorIndex.ENGINE_ACTUAL_PERCENT_TORQUE,
+ Obd2IntegerSensorIndex.ENGINE_REFERENCE_PERCENT_TORQUE,
+ Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_IDLE,
+ Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT1,
+ Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT2,
+ Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT3,
+ Obd2IntegerSensorIndex.ENGINE_PERCENT_TORQUE_DATA_POINT4,
+ Obd2IntegerSensorIndex.LAST_SYSTEM,
+ Obd2IntegerSensorIndex.VENDOR_START,
+ })
+ public @interface IntegerSensorIndex {}
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ Obd2FloatSensorIndex.CALCULATED_ENGINE_LOAD,
+ Obd2FloatSensorIndex.ENGINE_COOLANT_TEMPERATURE,
+ Obd2FloatSensorIndex.SHORT_TERM_FUEL_TRIM_BANK1,
+ Obd2FloatSensorIndex.LONG_TERM_FUEL_TRIM_BANK1,
+ Obd2FloatSensorIndex.SHORT_TERM_FUEL_TRIM_BANK2,
+ Obd2FloatSensorIndex.LONG_TERM_FUEL_TRIM_BANK2,
+ Obd2FloatSensorIndex.FUEL_PRESSURE,
+ Obd2FloatSensorIndex.INTAKE_MANIFOLD_ABSOLUTE_PRESSURE,
+ Obd2FloatSensorIndex.ENGINE_RPM,
+ Obd2FloatSensorIndex.VEHICLE_SPEED,
+ Obd2FloatSensorIndex.TIMING_ADVANCE,
+ Obd2FloatSensorIndex.MAF_AIR_FLOW_RATE,
+ Obd2FloatSensorIndex.THROTTLE_POSITION,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR1_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR2_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR3_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR4_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR5_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR6_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR7_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR8_VOLTAGE,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM,
+ Obd2FloatSensorIndex.OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.FUEL_RAIL_PRESSURE,
+ Obd2FloatSensorIndex.FUEL_RAIL_GAUGE_PRESSURE,
+ Obd2FloatSensorIndex.COMMANDED_EXHAUST_GAS_RECIRCULATION,
+ Obd2FloatSensorIndex.EXHAUST_GAS_RECIRCULATION_ERROR,
+ Obd2FloatSensorIndex.COMMANDED_EVAPORATIVE_PURGE,
+ Obd2FloatSensorIndex.FUEL_TANK_LEVEL_INPUT,
+ Obd2FloatSensorIndex.EVAPORATION_SYSTEM_VAPOR_PRESSURE,
+ Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK1_SENSOR1,
+ Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK2_SENSOR1,
+ Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK1_SENSOR2,
+ Obd2FloatSensorIndex.CATALYST_TEMPERATURE_BANK2_SENSOR2,
+ Obd2FloatSensorIndex.ABSOLUTE_LOAD_VALUE,
+ Obd2FloatSensorIndex.FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO,
+ Obd2FloatSensorIndex.RELATIVE_THROTTLE_POSITION,
+ Obd2FloatSensorIndex.ABSOLUTE_THROTTLE_POSITION_B,
+ Obd2FloatSensorIndex.ABSOLUTE_THROTTLE_POSITION_C,
+ Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_D,
+ Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_E,
+ Obd2FloatSensorIndex.ACCELERATOR_PEDAL_POSITION_F,
+ Obd2FloatSensorIndex.COMMANDED_THROTTLE_ACTUATOR,
+ Obd2FloatSensorIndex.ETHANOL_FUEL_PERCENTAGE,
+ Obd2FloatSensorIndex.ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE,
+ Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1,
+ Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2,
+ Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3,
+ Obd2FloatSensorIndex.SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4,
+ Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1,
+ Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2,
+ Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3,
+ Obd2FloatSensorIndex.LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4,
+ Obd2FloatSensorIndex.RELATIVE_ACCELERATOR_PEDAL_POSITION,
+ Obd2FloatSensorIndex.HYBRID_BATTERY_PACK_REMAINING_LIFE,
+ Obd2FloatSensorIndex.FUEL_INJECTION_TIMING,
+ Obd2FloatSensorIndex.ENGINE_FUEL_RATE,
+ Obd2FloatSensorIndex.LAST_SYSTEM,
+ Obd2FloatSensorIndex.VENDOR_START,
+ })
+ public @interface FloatSensorIndex {}
+
+}