- Add getDisplayIdList() and openDisplay_1_1() to IEvsEnumerator.
- Add getDisplayInfo_1_1() to IEvsDisplay.
- Update CameraToDisplayRountTrip test case to use new methods.
- Update default implementation.
Bug: 141886260
Bug: 146567078
Bug: 147553536
Test: VtsHalEvsV1_1TargetTest
Change-Id: I3c17aecc482770074159f7ccaf8e00cadf711e76
Signed-off-by: Changyeon Jo <changyeon@google.com>
Clarify the descriptions of VehicleApPowerStateReq and
VehicleApPowerStateReport.
Fixes: 128841180
Test: None. Documentation only.
Change-Id: Icbe86e2e6a761e37adf2689596eb81bb68295fa7
It was not validating the input before storing the response form lshal, which
would crash it later.
Test: adb shell lshal debug android.hardware.automotive.vehicle@2.0::IVehicle/default --set 299896583 a 2
Bug: 146207078
Change-Id: I49a38041e2881224c61e3c645db7c9103d024040
AAOS virtualization work is happening under the trout tree, and
we should be building reference HAL implementations for the
virtualized deployment under that tree
Bug: 148816426
Test: build
Change-Id: I90fd2bc4191f8076475e034c7feb07b2664e63c8
This (optional) function allows the HAL implementation customize lshal debug;
for example, it could:
- augment dump() by dumping its own state
- disable dump()
- dump specific state based on arguments
- run custom commands based on arguments
This CL also implements this method in the emulated vehicle HAL, where it adds
options to dump the user-related state.
Bug: 146207078
Test: adb shell lshal debug android.hardware.automotive.vehicle@2.0::IVehicle/default --user-hal
Test: atest android.hardware.automotive.vehicle@2.0-manager-unit-tests \
android.hardware.automotive.vehicle@2.0-default-impl-unit-tests
Change-Id: If04e8222a31448f170ab2b54552051196b6ab958
This property is called by Android when it starts, and it's expecting a
property change indicating what the initial user should be.
During normal circumstances, the emulator will reply right away, passing a
response if InitialUserInfoResponseAction::DEFAULT (so Android could use its
own logic to decide which user to boot).
But during development / testing, the behavior can be changed using lshal dump,
so the following scenarios can be tested:
- property timeout
- HAL response using a different request id
- user switch
- user creation
Bug: 146207078
Test: manual tests with lshal and a modified CarServiceHelper
Test: atest android.hardware.automotive.vehicle@2.0-manager-unit-tests \
android.hardware.automotive.vehicle@2.0-default-impl-unit-tests
Change-Id: Ia5be62c8b19a168c0c6da5307169fc14bf3069c9
This change adds a variable-length metadata field to BufferDesc. This
new data is owned by EVS Camera HAL implementations and opaque to EVS
manager.
Change-Id: If9b25093afa55ea0782af776a3f67923664e0058
Fix: 142891952
Bug: 142888671
Test: Build successful
Signed-off-by: Changyeon Jo <changyeon@google.com>
- CREATE_USER: called after an Android user is created.
- REMOVE_USER: called after an Android user is removed.
- USER_IDENTIFICATION_ASSOCIATION: associates an Android user with
vehicle artifacts like a key FOB.
This CL only defines the new types, they're not implemented or used yet.
Test: m -j android.hardware.automotive.vehicle@2.0-service
Bug: 146207078
Change-Id: Idb399df55567402edb1b954b1c4b25f69e810a81
Provide helper functions that create VsockServerInfo objects
from either the command line or the property storage, and
have them return optional instead of relying on default values.
Also, avoid atoi() since it has the potential for undefined behavior.
Test: build
Change-Id: I0aab6b7d84e5084580e25217ac5ba4f5a1db6e2a
These initial properties are:
- INITIAL_USER_INFO: gets information about the initial user, it will
replace the android.car.systemuser.bootuseroverrideid system property
approach.
- SWITCH_USER_REQUEST: used to communicate a user switch request from
Android to HAL, or vice versa.
This CL only defines the new types, they're not implemented or used yet.
Test: m -j android.hardware.automotive.vehicle@2.0-service
Bug: 146207078
Change-Id: I25055f8adc90aaebaf3a3faa9a9b73c284440624
Move a configuration xml file from /system/etc to /vendor/etc.
Bug: 148424402
Test: m -j selinux_policy
Test: check violations while EVS service is running.
Change-Id: I17c74798564bb0f5684157c483b45857b39ab6bd
Signed-off-by: Changyeon Jo <changyeon@google.com>
This change deprecates EvsEnumeratorHw, which has been a name for
EVS HAL Enumerator implementations, and uses regex names for them.
New method, isHardware(), is added to IEvsEnumerator and the clients
should use this method to tell whether current service is EVS manager
or driver.
Bug: 147010694
Test: m -j
Test: atest VtsHalEvsV1_1TargetTest
Change-Id: I89441936734fde0f0cc2f0151ee9b6622f61814d
Signed-off-by: Changyeon Jo <changyeon@google.com>
Test: tested on Cuttlefish VM
- Use virtualization HAL implementation, device/google/cuttlefish/shared/auto/device.mk, PRODUCT_PACKAGES:
remove android.hardware.automotive.vehicle@2.0-service
add:
android.hardware.automotive.vehicle@2.0-virtualization-service
android.hardware.automotive.vehicle@2.0-virtualization-grpc-server
- configure the server CID and port, add the following device/google/cuttlefish/shared/config/init.vendor.rc:
setprop ro.vendor.vehiclehal.server.cid 3
setprop ro.vendor.vehiclehal.server.port 9210
- Build and Launch cuttlefish VM
m && acloud create --boot-timeout 3600 -vv --local-instance --local-image
- VHAL should work as normal, see tests in ag/9693857
Bug: b/141493212
Change-Id: I97df02dd26b89f60d3d87b2c32c4f4f8919b1294
Nothing in the Android tree appears to reference AudCntrlDrv, and
there is no reason why we should ship a HAL implementation running
at O0
Test: build
Change-Id: I14a3d910d9654ce438930bfa83cec39a7ef99dc2
Refactoring baudrate to bitrate to be consistent with terminology in
the broader literature.
Bug: 147448388
Test: Manual + VTS
Change-Id: I161b39727a3fd50ea5eddafed6fbd4924ccd149f
This adds support for native and slcan interfaces which are already
configured up to be registered in the CAN bus HAL.
Bug: 142655647
Test: manual
Change-Id: Ifd129db14dbf473bb627ebc9b9d13f5cb945b611
Remote transmission request, and extended format id's require testing to
verify that the feature works correctly.
Also included is a fix which correctly sets the EFF and RTR flags of the
canfd_frame object based on the state of the CanMessage object.
A readability change is made to the types.hal which improves clarity of
the way filters are defined.
Bug: 146173498
Test: run the VTS tests in vts/functional - verify that they pass
Change-Id: I9892a2e2465b8c381774e7ee277bfa8660f25028
This change adds a new method, getPhysicalCameraInfo(), to IEvsCamera
interface, implements it in the default implementation, and update
corresponding VTS test cases.
Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: Ic993d5670c34f05ef8d807708f27dec75008b04b
Signed-off-by: Changyeon Jo <changyeon@google.com>
This change updates existing EVS VTS test cases to verify the logical
camera device.
Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: Ieebb09a3bbf948ab60d0498a359be8f8c726735c
Signed-off-by: Changyeon Jo <changyeon@google.com>
This change modifies logics to verify test results that need to parse
events from EVS manager. Especially, test cases that run multiple
camera clients spawn threads to listen EVS events.
Also, this updates waitForEvent() method to return more precise results.
Bug: 142275664
Test: VtsHalEvsV1_1Target
Change-Id: Ic328217be1e49a3a862facf783a5356ac34ce9ed
Signed-off-by: Changyeon Jo <changyeon@google.com>
This change modifies existing methods and data types for upcoming EVS
multi-camera support.
- deliverFrame_1_1() and doneWithFrame_1_1() are modified to take
multiple buffer descriptors.
- setIntParameter() and getIntParameter() are changed to return multiple
parameter values.
- Device ID and timestamp fields are added to BufferDesc.
- EvsEvent is renamed as EvsEventDesc and Device Id is added.
Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: I0415b2cb0642d1377f4d23a4e154080a66c81187
Signed-off-by: Changyeon Jo <changyeon@google.com>
Error frames, remote transmission request, and extended format frames
require some changes to the way that we set up our sockets.
Bug: 142655821
Bug: 144774939
Test: manual
Change-Id: I06212cb852d480c1c7093e8c509ca8aa9f85f81f
Mock hal has limited capability - driver and front passenger presence
detection and driver monitoring detection.
Bug: 142383127
Test: VTS tests
Change-Id: I72e4b443a0d8063288e14333bd9ebbb1f2c19720
Occupant awareness default HAL and VTS tests will be added as part of a
separate commit / CL.
Bug: 142383127
Test: Verified that system starts default hal.
Change-Id: I24e1c52c9873fc4e0fc09db24d0def9a04175120
Make VHAL to use the connector/server interfaces instead of talking to
the (faked) vehicle directly. Use passthrough connector for now since we
have not moved to the virtualized scenario yet (but soon :)
Bug: b/141493212
Test: On both Osprey and Hawk. Build and flash the image. If on Osprey, see
go/enable-google-vhal-on-osprey; if on hawk, `aae app vhal apply google`
to enable Google VHAL
```
# no VHAL crash
$ adb logcat
$ vts-tradefed
> run vts-hal-auto -m VtsHalAutomotiveVehicleV2_0Host
# 30 passed, 2 failed, the same as the result before this patch
# See value changed in Vehicle HAL tab, KitchenSink app:
$ python packages/services/Car/tools/emulator/prop_event_simulator.py --property
VEHICLEPROPERTY_HVAC_AC_ON --area 0 --value 1
# unit tests
$ atest packages/services/Car/tests/vehiclehal_test/src/com/android/car/vehiclehal/test/CarPropertyTest.java
```
Change-Id: Iab77a0ae32db2c55b4c65aa8f3e4f73ec9ef2644
Some functions are copyed from the original VHAL implementation. The
ones left in the old implementation will be removed after enabling the
Vehicle Connector. Keeping them right now because otherwise it will
break the build.
Bug: b/141493212
Test: since nothing changed in the "active" code, just compiled by `mm`
Change-Id: Ibf525ffe056d6a4c789a7a407eb0b54f61858041
- This allows disabling specific optional features in car service from
vehicle hal layer.
Bug: 144504820
Test: run with car service
Change-Id: I419ad86b75151aba129730bdc75c9bc1e47333cf
Bug: 144734708
Test: manually, once compiled and flashed, the service will be in the
VINTF service list.
Change-Id: I92d05557ddc7c95f697d2f5a88ab8f481c4d0e5b
These methods are needed in the HAL client to parse sequence number and
associated layers when the availablity of the VMS layers change.
HAL client relies on these messages by either explicitly requesting the
availability or through availability change message sent by the Car
service.
Bug: 144434783
Fixes: 144434783
Test: Added new tests for the new methods. Ran the tests on Hawk.
Change-Id: I09497640367a894e1dfb6143ac3bbdb63d64b53e
Add property SUPPORT_CUSTOMIZE_VENDOR_PERMISSION.
Add enum VehicleVendorPermission.
The configArray of new property indicate vendor property Id and
the permission selected by vendor.
Update google VHAL as an example how to use it.
Bug: 109950289
Test: build and flash with google HAL
check permission via property test in KitchenSink
Change-Id: Ic8dcb661ce69bfb82ebc00781426dfbb98fb393d
* Adding support for SLCAN type interfaces
* Made some of the formatting more consistent
Bug: 142656299
Test: Manually with canhalctrl, canhaldump, and canhalsend
Change-Id: Ifa4c234beb75f8a0ea93bfd75555c5ed8d68dca4
Error handling highlights:
- moved onError from ICanMessageListener to ICanErrorListener
- added isFatal callback argument to request client disconnect
- don't down interface that's already down
Also:
- don't crash if it's not possible to unregister ICanBus
- don't crash while trying to down interface that failed
- make hidl-utils available to vendor libraries
Bug: 143779011
Test: implemented a VHAL service prototype that communicates with this HAL
Change-Id: I98d054da9da0ead5ef952aebc086e052ac996212
C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Merged-In: I17d1d262d71eefa0aa5b89da7acc659bc2f97bbd
Change-Id: I4e18c0f68606c3e8d965aab194f2a5fd5000c59a
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Change-Id: I17d1d262d71eefa0aa5b89da7acc659bc2f97bbd
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
The Vehicle HAL can tell us to shut down immediately, but it cannot
tell us to suspend immediately. Add that capability.
This capability will be needed when the VHAL initiates a Silent
Boot and then asks for suspension. In this case, we do not want
to postpone the suspension by entering Garage Mode.
Bug: 134521909
Test: Added CarPowerManagementTest.testSleepImmediateEntry()
Test: Added CarPowerManagementServiceTest.testSleepImmediately()
Change-Id: I8190d16cb6faa15672ec3d61f126f6d283d1189e
Chaining the method calls in such a way otherwise returns a dangling
pointer to a temporary object.
Bug: 139945549
Test: mm
Change-Id: I0783fccbb6f11e7e37bd059445265227359649cf
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
This change explictly casts size_t type variables to long data type in
ALOG*, to avoid any build error due to inconsistent size_t type
declarations between different build targets.
Bug: 142545867
Change-Id: I587c7006a6ab69970b3a507a6160b3decd4bfd5a
Signed-off-by: Changyeon Jo <changyeon@google.com>