Addition of a flag to the configuration for OBD2_FREEZE_FRAME_CLEAR
to indicate support for deletion of individual freeze frames.
Test: build
Bug: 64024685
Change-Id: I43cc448c801a5d59095be03d8056530364860ef5
Rename the enums that contain a list of sensors and don't directly map to OBD2 to have a Diagnostic prefix
Test: clean build and flash, then
runtest -x packages/services/Car/tests/android_car_api_test/src/android/car/apitest/CarDiagnosticManagerTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/test/CarDiagnosticManagerTest.java
runtest -x packages/services/Car/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Obd2FreezeFrameTest.java
runtest -x packages/services/Car/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/Obd2LiveFrameTest.java
Bug: 64024685
Change-Id: I9147bcd8f2972dee9f3d1e62f8978b595d88f606
VMS Core routing needs the publisher ID in order to route correctly.
Test: all tests pass + adding tests for new use cases
bug: 63933446
Change-Id: I3acd2a3efebdedbf9d65af18d70928380e9b44d1
Fix typos and clarify a couple of sentences in the descriptive comments
associated with Vehicle HAL (especially with respect to AUDIO).
Test: make -j40
Change-Id: If3bcb82a68d28c5560398174e5201227c15596d4
These methods are already generated by HIDL, but this is
only now being realized.
Test: methods no longer conflict
Merged-In: I522630267beb7f87713a0a54c1ecb38077dc1b4e
Change-Id: I522630267beb7f87713a0a54c1ecb38077dc1b4e
These methods are already generated by HIDL, but this is
only now being realized.
Test: methods no longer conflict
Change-Id: I522630267beb7f87713a0a54c1ecb38077dc1b4e
Will rename ID to type in another CL so messages include Type and Subtype instead of Id and subtype.
Test: All VMS tests are adjusted and pass.
Bug:b/37627272
Change-Id: I039f952ff944605ca46a8f6f6f484aac830fc46e
If this module is included on a target platform, it will start at boot
time (but not very early) since it isn't actually need for backing up a
real car. This makes it available for testing.
Test: build gordon_peak
Change-Id: I79bc2dafa1a8db579a1c3cc801bac8e4e1d01872
IEvsEnumerator::openCamera had a typo and the incorrect name of a related
interface in one of the descriptive comments. This fixes those issues
and updates the checksum for the interface.
Bug: 38508696
Test: build evs_app and evs default driver.
Change-Id: I24f3ca2bc3652711a4ee2ea9a37428d4bdafc509
One of the triggers for Bluetooth Auto connect is a door unlock signal.
Adding it to the list of default supported properties.
Bug: b/37674555
Test: Auto connect triggers on adb shell dumpsys activity service
com.android.car inject-event zoned-boolean 0x16200b02 1 false
Change-Id: Icfed9ea57239cd2397f3e71dcfaccd767a2e9739
(cherry picked from commit e17a009d5d)
One of the triggers for Bluetooth Auto connect is a door unlock signal.
Adding it to the list of default supported properties.
Bug: b/37674555
Test: Auto connect triggers on adb shell dumpsys activity service
com.android.car inject-event zoned-boolean 0x16200b02 1 false
Change-Id: Icfed9ea57239cd2397f3e71dcfaccd767a2e9739
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Merged-In: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
EVS currently violates VNDK restrictions. Since it is in Soong,
this effects all targets. Temporarily converting it to make
until its dependencies are figured out so that we can enable
the VNDK on continuous integration only for Soong targets.
Test: links
Bug: 37426620
Change-Id: I9935ac764a4339bf8831ac720ab3de783c43f94f
Missing dependency that was being transitively included
from MQDescriptor.h.
Test: links
Bug: 37791060
Change-Id: I90ccb2edabab8c63429caa0884f6c5820c29fe11
(cherry picked from commit 356c2ced1d)
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I08aaad80f7e2fc262aa3a8b66fe932e8133a928d
Additionally adds log markers at test start and ends tests early which
fail necessary preconditions.
Test: Run against default and sample EVS drivers
bug: 37687125
Change-Id: Ie34674df5fe099dd4f380df485801ab0288147e9
Missing dependency that was being transitively included
from MQDescriptor.h.
Test: links
Bug: 37791060
Change-Id: I90ccb2edabab8c63429caa0884f6c5820c29fe11
Sending a null hidl_string from native code to Java is currently not
a supported operation and will cause a crash. As originally written,
shallowCopy would set a hidl_string to null as soon as a non-empty
stringValue was followed by an empty stringValue. Since freeze frames
come with a string value (the DTC) and live frames doesn't, this would
cause all diagnostics to crash while reading VehiclePropValue from parcel
immediately after dispatching a freeze frame. Fix by resetting empty strings
to a global non-null but zero length buffer.
Bug: 37435530
Test: diagnostic_injector.py
Change-Id: Ie79174dd7ab3d266f1e3addefa5ba9e2128ea9f8
Right now there's no way to distinguish multiple clients, thus we cannot
associate IVehicleCallback from subscribe and unsubscribe method. As a
temporary solution we will use pointer to IBinder from underlying proxy
object until HILD will have some API to do that.
Test: verified unit tests run, checked that subsequent 'subscribe' calls
do not create new client objects in VHAL
Bug: b/37254245
Change-Id: I029564b7b03e4821287c2110d0929a5c4cbce0ce
This property is supposed to be used mostly from e2e tests (a simple
test-case is provided in separate CL)
Test: make -j && runtest -x packages/services/Car/tests/vehiclehal_test/
Bug: b/36510399
Change-Id: I09b24f22ab328eee1ef6add60901ed03bf046874
This fixes an issue where the default freeze frame data was not seen
by the diagnostic manager as it was never correctly stored in the database.
Test: manual in KitchenSink
Bug: 37327195
Change-Id: Ice33d8571daa52ae758ff2ac9926b6ea0b3a495c
Revise IAllocator and IMapper to reduce IPC and to support gralloc0
devices.
Specifically, IAllocator is trimmed down to have essentially only
allocate(BufferDescriptor descriptor, uint32_t count)
generates (Error error,
uint32_t stride,
vec<handle> buffers);
The ability to allocate buffers with shared backing store is
removed. ProducerUsage and ConsumerUsage are moved to the
graphics.common package and are merged and renamed to BufferUsage.
BufferUsage's bits follow gralloc0.
IMapper gains
typedef vec<uint32_t> BufferDescriptor;
createDescriptor(BufferDescriptorInfo descriptorInfo)
generates (Error error,
BufferDescriptor descriptor);
where BufferDescriptor is an implementation-defined blob. lockFlex
is replaced by lockYCbCr. All getters are removed.
Reference counting with retain/release is replaced by
importBuffer/freeBuffer.
Most if not all gralloc1 features are not used by the runtime yet.
There is also not too much test written for them. As such, they
tend to behave differently between implementations and cannot be
used reliably.
Bug: 36481301
Test: builds and boots on Pixel
Change-Id: I1d31105120517ea2c128c7a19297acf3bfd312bb
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Merged-In: Iff316b21bef556bb026378b7f89e97ded3febef4
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h
Test: pass
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
Also rename DefaultVehicleHal to EmulatedVehicleHal and
extract emulator related code to VehicleEmulator class
Test: mm -j32 ; verified Car Service worked
Change-Id: I34361fdec6f94629cf7ef6c35ff56ef9ce78b855
Move default values closer to config declration to add properties
with less pain in future.
Test: mm -j32; verified if Car Service works
(cherry picked from commit 24ade17518)
Merged-In: I2f18837658149eb657f44d81e34eb8e6e497a25c
Change-Id: Ie4285581fa9d871b366b0ed2f08fa8073739a0a9
hidl_string no longer will provide an implicit cast to const char* as it
interfers with other expected behaviors of the class. It now emulated
std::string in requiring a call to .c_str() to get the same behavior.
Bug: 36532780
Test: Build the tree
Change-Id: I265590c7c18f425e44863df062a56b67519a932a
Also, removed per property ACL as it was based on client UID
Test: mm -j ; verified Car Service works
Bug: b/36649684
Change-Id: I7625a013dda8e3ebce5b86a253a8c1befe267c11
(cherry picked from commit 72aebeb3ec)
Note: This change list was developed as ag/2031642 on master, but
cherry picks are broken at the moment, so reapplying directly to oc-dev.
The change in master will be abandoned in favor of the auto-merger.
Test: Run them against the default (mock) driver on bat_land
Change-Id: I7ae523eb6a18ce6a1d0dcd8494f335ffa77f34f1
This adapts the API implementation to allow a duplicate "open" operation
to automatically close any previous connections to the device. This
works around a binder level issue that can cause destructors triggered
by remote clients to be delivered out of order to the server.
This was originally change ag/1969959 on master, but has been
recreated on oc-dev (cherry-picking was broken at the time).
The original master change will be abandoned in favor of this getting
merged down from oc-dev.
Test: Run Vts test (added in following change)
Change-Id: I7b417998e59a4d592fbb91811c4101f39097c5dd
Move default values closer to config declration to add properties
with less pain in future.
Test: mm -j32; verified if Car Service works
Change-Id: I2f18837658149eb657f44d81e34eb8e6e497a25c
Also, removed per property ACL as it was based on client UID
Test: mm -j ; verified Car Service works
Bug: b/36649684
Change-Id: I7625a013dda8e3ebce5b86a253a8c1befe267c11
Use this infrastructure to move OBD2_LIVE_FRAME support over to the Vehicle HAL 2.0 layer.
This is useful in DefaultVehicleHal 2.0 to let the Emulator layer send/receive information about properties defined by later VehicleHal versions.
Additionally, support the notion that a custom property thusly defined might have logic more intricate than simply a property Id and an area Id,
via a custom handler object that supports get() and set() operations. A default handler object simply falls back to a stored VehiclePropValue, but
more complex implementations are possible.
Test: manual testing in Python:
import vhal_consts_2_0 as c
from vhal_emulator import Vhal
v = Vhal(c.vhal_types_2_0)
v.getConfig(c.VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET)
print v.rxMsg()
v.setProperty(c.VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET, c.VEHICLE_ZONE_ROW_1_LEFT, 70)
print v.rxMsg()
v.getProperty(c.VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET, c.VEHICLE_ZONE_ROW_1_LEFT)
print v.rxMsg()
v.getProperty(0x11e00d00, 0)
print v.rxMsg()
plus
runtest Obd2LiveFrame.java
Change-Id: I9c342e6e2c9ff581beacd238a42780ca10f96d9c
0xdeadbeef is exactly 32 bits, so it is interpretted as an unsigned
integer which was causing a warning. Since it's a test value, I changed
it to 0xdead which is interpretted as a signed integer.
Test: pass
Change-Id: Ibb75b23461700d77158e2337b8a472e87629ad61
Implemented RecurrentTimer class that can be used in VHAL
implementations to trigger an event every X amount of time.
This make sense for continous properties.
Also added linkToDeath for VHAL listeners.
Test: unit tests added and ran
Change-Id: I4a2e0607ff6b15b3e7babbe3fbb9fff8d4e28838
Test: build and flash Mojave board with TARGET_USES_CAR_FUTURE_FEATURES=true.
Test: check that the property is displayed in the logs during startup.
Bug: 35628104
Change-Id: I8b5327ae255cd94ac78a0436aac06b32e3168c28
Test: verified events are now gets propagated to CarSensorManager
(toggle day/night mode in Emulator UI)
Change-Id: Ifc4a755c5f6d31f41ab26ebc873c66c43d9e234a
Fix: b/35926101
Add properties to HVAC_POWER_ON config string
Return NOT_AVAILABLE for properties in HVAC_POWER_ON config string when
power is off.
Change-Id: Icfa06aa169345e973d2e152aa6dbd8c14f3a5d17
- Create base communications interface
- Refactor socket calls to use SocketComm class
Test: Use python scripts and custom emulator to test communications
Change-Id: Ia401587223035e748991516a2285cc31cb71a9c9
the getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.
Test: builds
Bug: 33844934
Change-Id: I1fc92a29178befc1b2232cfcc4b13058d57cd798
Major changes / decisions:
- created empty IVehicle@2.1 interface to distinguish HAL impls
from client's (Car Service) perspective;
- created default 2.1 implementation that currently delegates all
calls to existing 2.0 implementation
- had to refactor a little bit 2.0 thus components could be esily
imported in 2.1
TOOD:
- move OBD and VMS code to 2.1
- decouple "DefaultVehicleHal.cpp"
- rename "DefaultVehicleHal" to Emulator (let's call things by their names)
b/34716856
Test: todo
Change-Id: Ib23650ca1277f0dfb24e5c789d65a19dce8b1abc
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
Add OBD2_DTC_INFO property to VHAL. This property returns a list of timestamps for which freeze frames are available to be read.
Make OBD2_FREEZE_FRAME indexed on timestamp, such that one has to pass a timestamp to retrieve the freeze frame at that timestamp.
Add OBD2_DTC_CLEAR to delete some or all of the freeze frames stored.
Test: build
Change-Id: I30344ffd6e7527f076b3382c32f5507973c9985b
Add emulator functionality to DefaultVehicleHal:
- Create default list of properties based upon DefaultConfig.h
- Add socket that is reachable via ADB to set/get vehicle properties.
BUG: 29601815
Test: Tested with Python interface from host.
Change-Id: I6f8e4cba37d927565e10797875eb8f5a1840a94f