Loading automotive/vehicle/2.0/Android.mk +0 −342 Original line number Diff line number Diff line Loading @@ -16,177 +16,6 @@ LOCAL_JAVA_LIBRARIES := \ android.hidl.base@1.0-java \ # # Build types.hal (CommonIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (CompressionIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelSystemStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelType) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelType $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (IgnitionMonitorKind) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2FloatSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2IntegerSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SecondaryAirStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SparkIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StatusCode) # Loading Loading @@ -1197,177 +1026,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ android.hidl.base@1.0-java-static \ # # Build types.hal (CommonIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (CompressionIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelSystemStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelType) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelType $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (IgnitionMonitorKind) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2FloatSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2IntegerSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SecondaryAirStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SparkIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StatusCode) # Loading automotive/vehicle/2.0/default/Android.mk +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ include $(CLEAR_VARS) LOCAL_MODULE := $(vhal_v2_0)-manager-lib LOCAL_SRC_FILES := \ common/src/AccessControlConfigParser.cpp \ common/src/Obd2SensorStore.cpp \ common/src/SubscriptionManager.cpp \ common/src/VehicleHalManager.cpp \ common/src/VehicleObjectPool.cpp \ Loading Loading @@ -114,7 +113,6 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ LOCAL_SRC_FILES:= \ tests/AccessControlConfigParser_test.cpp \ tests/Obd2SensorStore_test.cpp \ tests/SubscriptionManager_test.cpp \ tests/VehicleHalManager_test.cpp \ tests/VehicleObjectPool_test.cpp \ Loading automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h +0 −26 Original line number Diff line number Diff line Loading @@ -160,32 +160,6 @@ const VehiclePropConfig kVehicleProperties[] = { .prop = toInt(VehicleProperty::IGNITION_STATE), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, }, { .prop = toInt(VehicleProperty::OBD2_LIVE_FRAME), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, .configArray = {0,0} }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, .configArray = {0,0} }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR), .access = VehiclePropertyAccess::WRITE, .changeMode = VehiclePropertyChangeMode::ON_CHANGE } }; Loading automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp +1 −210 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "DefaultVehicleHal" #define LOG_TAG "DefaultVehicleHal_v2_0" #include <android/log.h> #include <algorithm> Loading Loading @@ -181,115 +181,6 @@ VehiclePropValue* DefaultVehicleHal::getVehiclePropValueLocked(int32_t propId, i return nullptr; } static std::unique_ptr<Obd2SensorStore> fillDefaultObd2Frame( size_t numVendorIntegerSensors, size_t numVendorFloatSensors) { std::unique_ptr<Obd2SensorStore> sensorStore(new Obd2SensorStore( numVendorIntegerSensors, numVendorFloatSensors)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS, toInt(FuelSystemStatus::CLOSED_LOOP)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::MALFUNCTION_INDICATOR_LIGHT_ON, 0); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::IGNITION_MONITORS_SUPPORTED, toInt(IgnitionMonitorKind::SPARK)); sensorStore->setIntegerSensor(Obd2IntegerSensorIndex::IGNITION_SPECIFIC_MONITORS, CommonIgnitionMonitors::COMPONENTS_AVAILABLE | CommonIgnitionMonitors::MISFIRE_AVAILABLE | SparkIgnitionMonitors::AC_REFRIGERANT_AVAILABLE | SparkIgnitionMonitors::EVAPORATIVE_SYSTEM_AVAILABLE); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::INTAKE_AIR_TEMPERATURE, 35); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::COMMANDED_SECONDARY_AIR_STATUS, toInt(SecondaryAirStatus::FROM_OUTSIDE_OR_OFF)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::NUM_OXYGEN_SENSORS_PRESENT, 1); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::RUNTIME_SINCE_ENGINE_START, 500); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON, 0); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::WARMUPS_SINCE_CODES_CLEARED, 51); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::DISTANCE_TRAVELED_SINCE_CODES_CLEARED, 365); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE, 30); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE, 12); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::AMBIENT_AIR_TEMPERATURE, 18); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::MAX_FUEL_AIR_EQUIVALENCE_RATIO, 1); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::FUEL_TYPE, toInt(FuelType::GASOLINE)); sensorStore->setFloatSensor( Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD, 0.153); sensorStore->setFloatSensor( Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK1, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK1, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK2, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK2, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::INTAKE_MANIFOLD_ABSOLUTE_PRESSURE, 7.5); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ENGINE_RPM, 1250.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::VEHICLE_SPEED, 40.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::TIMING_ADVANCE, 2.5); sensorStore->setFloatSensor( Obd2FloatSensorIndex::THROTTLE_POSITION, 19.75); sensorStore->setFloatSensor( Obd2FloatSensorIndex::OXYGEN_SENSOR1_VOLTAGE, 0.265); sensorStore->setFloatSensor( Obd2FloatSensorIndex::FUEL_TANK_LEVEL_INPUT, 0.824); sensorStore->setFloatSensor( Obd2FloatSensorIndex::EVAPORATION_SYSTEM_VAPOR_PRESSURE, -0.373); sensorStore->setFloatSensor( Obd2FloatSensorIndex::CATALYST_TEMPERATURE_BANK1_SENSOR1, 190.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::RELATIVE_THROTTLE_POSITION, 3.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ABSOLUTE_THROTTLE_POSITION_B, 0.306); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_D, 0.188); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_E, 0.094); sensorStore->setFloatSensor( Obd2FloatSensorIndex::COMMANDED_THROTTLE_ACTUATOR, 0.024); return sensorStore; } void DefaultVehicleHal::initObd2LiveFrame(VehiclePropConfig& propConfig) { auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0], propConfig.configArray[1]); mLiveObd2Frame = createVehiclePropValue(VehiclePropertyType::COMPLEX, 0); sensorStore->fillPropValue(mLiveObd2Frame.get(), ""); } void DefaultVehicleHal::initObd2FreezeFrame(VehiclePropConfig& propConfig) { auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0], propConfig.configArray[1]); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); sensorStore->fillPropValue(mFreezeObd2Frames[0].get(), "P0070"); sensorStore->fillPropValue(mFreezeObd2Frames[1].get(), "P0102"); sensorStore->fillPropValue(mFreezeObd2Frames[2].get(), "P0123"); } void DefaultVehicleHal::parseRxProtoBuf(std::vector<uint8_t>& msg) { emulator::EmulatorMessage rxMsg; emulator::EmulatorMessage respMsg; Loading Loading @@ -555,12 +446,6 @@ void DefaultVehicleHal::setDefaultValue(VehiclePropValue* prop) { case toInt(VehicleProperty::IGNITION_STATE): prop->value.int32Values[0] = toInt(VehicleIgnitionState::ON); break; case toInt(VehicleProperty::OBD2_LIVE_FRAME): // OBD2 is handled separately break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): // OBD2 is handled separately break; default: ALOGW("%s: propId=0x%x not found", __FUNCTION__, prop->prop); break; Loading Loading @@ -622,18 +507,6 @@ VehicleHal::VehiclePropValuePtr DefaultVehicleHal::get( VehiclePropValuePtr v = nullptr; switch (propId) { case toInt(VehicleProperty::OBD2_LIVE_FRAME): v = pool.obtainComplex(); status = fillObd2LiveFrame(v.get()); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): v = pool.obtainComplex(); status = fillObd2FreezeFrame(requestedPropValue, v.get()); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO): v = pool.obtainComplex(); status = fillObd2DtcInfo(v.get()); break; default: { std::lock_guard<std::mutex> lock(mPropsMutex); Loading @@ -660,9 +533,6 @@ StatusCode DefaultVehicleHal::set(const VehiclePropValue& propValue) { auto propId = propValue.prop; StatusCode status; switch (propId) { case toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR): status = clearObd2FreezeFrames(propValue); break; default: status = updateProperty(propValue); if (status == StatusCode::OK) { Loading Loading @@ -715,12 +585,6 @@ void DefaultVehicleHal::onCreate() { break; case VehiclePropertyType::COMPLEX: switch (cfg.prop) { case toInt(VehicleProperty::OBD2_LIVE_FRAME): initObd2LiveFrame(cfg); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): initObd2FreezeFrame(cfg); break; default: // Need to handle each complex property separately break; Loading Loading @@ -762,79 +626,6 @@ void DefaultVehicleHal::onCreate() { mThread = std::thread(&DefaultVehicleHal::rxThread, this); } StatusCode DefaultVehicleHal::fillObd2LiveFrame(VehiclePropValue* v) { v->prop = toInt(VehicleProperty::OBD2_LIVE_FRAME); v->value.int32Values = mLiveObd2Frame->value.int32Values; v->value.floatValues = mLiveObd2Frame->value.floatValues; v->value.bytes = mLiveObd2Frame->value.bytes; return StatusCode::OK; } template<typename Iterable> typename Iterable::const_iterator findPropValueAtTimestamp( const Iterable& frames, int64_t timestamp) { return std::find_if(frames.begin(), frames.end(), [timestamp] (const std::unique_ptr<VehiclePropValue>& propValue) -> bool { return propValue->timestamp == timestamp; }); } StatusCode DefaultVehicleHal::fillObd2FreezeFrame( const VehiclePropValue& requestedPropValue, VehiclePropValue* v) { if (requestedPropValue.value.int64Values.size() != 1) { ALOGE("asked for OBD2_FREEZE_FRAME without valid timestamp"); return StatusCode::INVALID_ARG; } auto timestamp = requestedPropValue.value.int64Values[0]; auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames, timestamp); if(mFreezeObd2Frames.end() == freezeFrameIter) { ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp"); return StatusCode::INVALID_ARG; } const std::unique_ptr<VehiclePropValue>& freezeFrame = *freezeFrameIter; v->prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME); v->value.int32Values = freezeFrame->value.int32Values; v->value.floatValues = freezeFrame->value.floatValues; v->value.bytes = freezeFrame->value.bytes; v->value.stringValue = freezeFrame->value.stringValue; v->timestamp = freezeFrame->timestamp; return StatusCode::OK; } StatusCode DefaultVehicleHal::clearObd2FreezeFrames( const VehiclePropValue& propValue) { if (propValue.value.int64Values.size() == 0) { mFreezeObd2Frames.clear(); return StatusCode::OK; } else { for(int64_t timestamp: propValue.value.int64Values) { auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames, timestamp); if(mFreezeObd2Frames.end() == freezeFrameIter) { ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp"); return StatusCode::INVALID_ARG; } mFreezeObd2Frames.erase(freezeFrameIter); } } return StatusCode::OK; } StatusCode DefaultVehicleHal::fillObd2DtcInfo(VehiclePropValue* v) { std::vector<int64_t> timestamps; for(const auto& freezeFrame: mFreezeObd2Frames) { timestamps.push_back(freezeFrame->timestamp); } v->value.int64Values = timestamps; return StatusCode::OK; } } // impl } // namespace V2_0 Loading automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.h +0 −10 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
automotive/vehicle/2.0/Android.mk +0 −342 Original line number Diff line number Diff line Loading @@ -16,177 +16,6 @@ LOCAL_JAVA_LIBRARIES := \ android.hidl.base@1.0-java \ # # Build types.hal (CommonIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (CompressionIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelSystemStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelType) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelType $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (IgnitionMonitorKind) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2FloatSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2IntegerSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SecondaryAirStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SparkIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StatusCode) # Loading Loading @@ -1197,177 +1026,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ android.hidl.base@1.0-java-static \ # # Build types.hal (CommonIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (CompressionIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelSystemStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (FuelType) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.FuelType $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (IgnitionMonitorKind) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2FloatSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (Obd2IntegerSensorIndex) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SecondaryAirStatus) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (SparkIgnitionMonitors) # GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java $(GEN): $(HIDL) $(GEN): PRIVATE_HIDL := $(HIDL) $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal $(GEN): PRIVATE_OUTPUT_DIR := $(intermediates) $(GEN): PRIVATE_CUSTOM_TOOL = \ $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \ -Ljava \ -randroid.hardware:hardware/interfaces \ -randroid.hidl:system/libhidl/transport \ android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors $(GEN): $(LOCAL_PATH)/types.hal $(transform-generated-source) LOCAL_GENERATED_SOURCES += $(GEN) # # Build types.hal (StatusCode) # Loading
automotive/vehicle/2.0/default/Android.mk +0 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ include $(CLEAR_VARS) LOCAL_MODULE := $(vhal_v2_0)-manager-lib LOCAL_SRC_FILES := \ common/src/AccessControlConfigParser.cpp \ common/src/Obd2SensorStore.cpp \ common/src/SubscriptionManager.cpp \ common/src/VehicleHalManager.cpp \ common/src/VehicleObjectPool.cpp \ Loading Loading @@ -114,7 +113,6 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ LOCAL_SRC_FILES:= \ tests/AccessControlConfigParser_test.cpp \ tests/Obd2SensorStore_test.cpp \ tests/SubscriptionManager_test.cpp \ tests/VehicleHalManager_test.cpp \ tests/VehicleObjectPool_test.cpp \ Loading
automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h +0 −26 Original line number Diff line number Diff line Loading @@ -160,32 +160,6 @@ const VehiclePropConfig kVehicleProperties[] = { .prop = toInt(VehicleProperty::IGNITION_STATE), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, }, { .prop = toInt(VehicleProperty::OBD2_LIVE_FRAME), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, .configArray = {0,0} }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, .configArray = {0,0} }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO), .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::ON_CHANGE }, { .prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR), .access = VehiclePropertyAccess::WRITE, .changeMode = VehiclePropertyChangeMode::ON_CHANGE } }; Loading
automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp +1 −210 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ #define LOG_TAG "DefaultVehicleHal" #define LOG_TAG "DefaultVehicleHal_v2_0" #include <android/log.h> #include <algorithm> Loading Loading @@ -181,115 +181,6 @@ VehiclePropValue* DefaultVehicleHal::getVehiclePropValueLocked(int32_t propId, i return nullptr; } static std::unique_ptr<Obd2SensorStore> fillDefaultObd2Frame( size_t numVendorIntegerSensors, size_t numVendorFloatSensors) { std::unique_ptr<Obd2SensorStore> sensorStore(new Obd2SensorStore( numVendorIntegerSensors, numVendorFloatSensors)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::FUEL_SYSTEM_STATUS, toInt(FuelSystemStatus::CLOSED_LOOP)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::MALFUNCTION_INDICATOR_LIGHT_ON, 0); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::IGNITION_MONITORS_SUPPORTED, toInt(IgnitionMonitorKind::SPARK)); sensorStore->setIntegerSensor(Obd2IntegerSensorIndex::IGNITION_SPECIFIC_MONITORS, CommonIgnitionMonitors::COMPONENTS_AVAILABLE | CommonIgnitionMonitors::MISFIRE_AVAILABLE | SparkIgnitionMonitors::AC_REFRIGERANT_AVAILABLE | SparkIgnitionMonitors::EVAPORATIVE_SYSTEM_AVAILABLE); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::INTAKE_AIR_TEMPERATURE, 35); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::COMMANDED_SECONDARY_AIR_STATUS, toInt(SecondaryAirStatus::FROM_OUTSIDE_OR_OFF)); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::NUM_OXYGEN_SENSORS_PRESENT, 1); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::RUNTIME_SINCE_ENGINE_START, 500); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON, 0); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::WARMUPS_SINCE_CODES_CLEARED, 51); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::DISTANCE_TRAVELED_SINCE_CODES_CLEARED, 365); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::ABSOLUTE_BAROMETRIC_PRESSURE, 30); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::CONTROL_MODULE_VOLTAGE, 12); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::AMBIENT_AIR_TEMPERATURE, 18); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::MAX_FUEL_AIR_EQUIVALENCE_RATIO, 1); sensorStore->setIntegerSensor( Obd2IntegerSensorIndex::FUEL_TYPE, toInt(FuelType::GASOLINE)); sensorStore->setFloatSensor( Obd2FloatSensorIndex::CALCULATED_ENGINE_LOAD, 0.153); sensorStore->setFloatSensor( Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK1, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK1, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::SHORT_TERM_FUEL_TRIM_BANK2, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::LONG_TERM_FUEL_TRIM_BANK2, -0.16); sensorStore->setFloatSensor( Obd2FloatSensorIndex::INTAKE_MANIFOLD_ABSOLUTE_PRESSURE, 7.5); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ENGINE_RPM, 1250.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::VEHICLE_SPEED, 40.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::TIMING_ADVANCE, 2.5); sensorStore->setFloatSensor( Obd2FloatSensorIndex::THROTTLE_POSITION, 19.75); sensorStore->setFloatSensor( Obd2FloatSensorIndex::OXYGEN_SENSOR1_VOLTAGE, 0.265); sensorStore->setFloatSensor( Obd2FloatSensorIndex::FUEL_TANK_LEVEL_INPUT, 0.824); sensorStore->setFloatSensor( Obd2FloatSensorIndex::EVAPORATION_SYSTEM_VAPOR_PRESSURE, -0.373); sensorStore->setFloatSensor( Obd2FloatSensorIndex::CATALYST_TEMPERATURE_BANK1_SENSOR1, 190.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::RELATIVE_THROTTLE_POSITION, 3.); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ABSOLUTE_THROTTLE_POSITION_B, 0.306); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_D, 0.188); sensorStore->setFloatSensor( Obd2FloatSensorIndex::ACCELERATOR_PEDAL_POSITION_E, 0.094); sensorStore->setFloatSensor( Obd2FloatSensorIndex::COMMANDED_THROTTLE_ACTUATOR, 0.024); return sensorStore; } void DefaultVehicleHal::initObd2LiveFrame(VehiclePropConfig& propConfig) { auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0], propConfig.configArray[1]); mLiveObd2Frame = createVehiclePropValue(VehiclePropertyType::COMPLEX, 0); sensorStore->fillPropValue(mLiveObd2Frame.get(), ""); } void DefaultVehicleHal::initObd2FreezeFrame(VehiclePropConfig& propConfig) { auto sensorStore = fillDefaultObd2Frame(propConfig.configArray[0], propConfig.configArray[1]); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); mFreezeObd2Frames.push_back( createVehiclePropValue(VehiclePropertyType::COMPLEX,0)); sensorStore->fillPropValue(mFreezeObd2Frames[0].get(), "P0070"); sensorStore->fillPropValue(mFreezeObd2Frames[1].get(), "P0102"); sensorStore->fillPropValue(mFreezeObd2Frames[2].get(), "P0123"); } void DefaultVehicleHal::parseRxProtoBuf(std::vector<uint8_t>& msg) { emulator::EmulatorMessage rxMsg; emulator::EmulatorMessage respMsg; Loading Loading @@ -555,12 +446,6 @@ void DefaultVehicleHal::setDefaultValue(VehiclePropValue* prop) { case toInt(VehicleProperty::IGNITION_STATE): prop->value.int32Values[0] = toInt(VehicleIgnitionState::ON); break; case toInt(VehicleProperty::OBD2_LIVE_FRAME): // OBD2 is handled separately break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): // OBD2 is handled separately break; default: ALOGW("%s: propId=0x%x not found", __FUNCTION__, prop->prop); break; Loading Loading @@ -622,18 +507,6 @@ VehicleHal::VehiclePropValuePtr DefaultVehicleHal::get( VehiclePropValuePtr v = nullptr; switch (propId) { case toInt(VehicleProperty::OBD2_LIVE_FRAME): v = pool.obtainComplex(); status = fillObd2LiveFrame(v.get()); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): v = pool.obtainComplex(); status = fillObd2FreezeFrame(requestedPropValue, v.get()); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME_INFO): v = pool.obtainComplex(); status = fillObd2DtcInfo(v.get()); break; default: { std::lock_guard<std::mutex> lock(mPropsMutex); Loading @@ -660,9 +533,6 @@ StatusCode DefaultVehicleHal::set(const VehiclePropValue& propValue) { auto propId = propValue.prop; StatusCode status; switch (propId) { case toInt(VehicleProperty::OBD2_FREEZE_FRAME_CLEAR): status = clearObd2FreezeFrames(propValue); break; default: status = updateProperty(propValue); if (status == StatusCode::OK) { Loading Loading @@ -715,12 +585,6 @@ void DefaultVehicleHal::onCreate() { break; case VehiclePropertyType::COMPLEX: switch (cfg.prop) { case toInt(VehicleProperty::OBD2_LIVE_FRAME): initObd2LiveFrame(cfg); break; case toInt(VehicleProperty::OBD2_FREEZE_FRAME): initObd2FreezeFrame(cfg); break; default: // Need to handle each complex property separately break; Loading Loading @@ -762,79 +626,6 @@ void DefaultVehicleHal::onCreate() { mThread = std::thread(&DefaultVehicleHal::rxThread, this); } StatusCode DefaultVehicleHal::fillObd2LiveFrame(VehiclePropValue* v) { v->prop = toInt(VehicleProperty::OBD2_LIVE_FRAME); v->value.int32Values = mLiveObd2Frame->value.int32Values; v->value.floatValues = mLiveObd2Frame->value.floatValues; v->value.bytes = mLiveObd2Frame->value.bytes; return StatusCode::OK; } template<typename Iterable> typename Iterable::const_iterator findPropValueAtTimestamp( const Iterable& frames, int64_t timestamp) { return std::find_if(frames.begin(), frames.end(), [timestamp] (const std::unique_ptr<VehiclePropValue>& propValue) -> bool { return propValue->timestamp == timestamp; }); } StatusCode DefaultVehicleHal::fillObd2FreezeFrame( const VehiclePropValue& requestedPropValue, VehiclePropValue* v) { if (requestedPropValue.value.int64Values.size() != 1) { ALOGE("asked for OBD2_FREEZE_FRAME without valid timestamp"); return StatusCode::INVALID_ARG; } auto timestamp = requestedPropValue.value.int64Values[0]; auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames, timestamp); if(mFreezeObd2Frames.end() == freezeFrameIter) { ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp"); return StatusCode::INVALID_ARG; } const std::unique_ptr<VehiclePropValue>& freezeFrame = *freezeFrameIter; v->prop = toInt(VehicleProperty::OBD2_FREEZE_FRAME); v->value.int32Values = freezeFrame->value.int32Values; v->value.floatValues = freezeFrame->value.floatValues; v->value.bytes = freezeFrame->value.bytes; v->value.stringValue = freezeFrame->value.stringValue; v->timestamp = freezeFrame->timestamp; return StatusCode::OK; } StatusCode DefaultVehicleHal::clearObd2FreezeFrames( const VehiclePropValue& propValue) { if (propValue.value.int64Values.size() == 0) { mFreezeObd2Frames.clear(); return StatusCode::OK; } else { for(int64_t timestamp: propValue.value.int64Values) { auto freezeFrameIter = findPropValueAtTimestamp(mFreezeObd2Frames, timestamp); if(mFreezeObd2Frames.end() == freezeFrameIter) { ALOGE("asked for OBD2_FREEZE_FRAME at invalid timestamp"); return StatusCode::INVALID_ARG; } mFreezeObd2Frames.erase(freezeFrameIter); } } return StatusCode::OK; } StatusCode DefaultVehicleHal::fillObd2DtcInfo(VehiclePropValue* v) { std::vector<int64_t> timestamps; for(const auto& freezeFrame: mFreezeObd2Frames) { timestamps.push_back(freezeFrame->timestamp); } v->value.int64Values = timestamps; return StatusCode::OK; } } // impl } // namespace V2_0 Loading
automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.h +0 −10 File changed.Preview size limit exceeded, changes collapsed. Show changes