Commit graph

72 commits

Author SHA1 Message Date
Chih-Hung Hsieh
8c7f10bdc4 Use -Werror in hardware/interfaces/automotive/vehicle/2.0
Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I439352bb0f876bac10393c08c9bdaa665709b147
2017-11-28 14:18:26 -08:00
TreeHugger Robot
5f05509dc1 Merge "Add HW_KEY_INPUT to DefaultVehicleHal" 2017-11-18 01:45:20 +00:00
Enrico Granata
624034fab3 Add HW_KEY_INPUT to DefaultVehicleHal
Having this property available allows one to simulate key events via Vhal Emulator for testing/debugging purposes

Test: manual
Exempt-From-Owner-Approval: CL against code owned by Automotive team
Change-Id: I1de84c616c6611b8562f9c4442195829869f224d
(cherry picked from commit cbc10191c3d56490a646a472635e8babc397cb44)
2017-11-17 23:32:03 +00:00
Enrico Granata
a77c20486a Give automotive team ownership of the default Vehicle HAL implementation
Test: read file
Change-Id: I32db85f45ebe38c128415f0fa3cb7ccca66d4a97
Exempt-From-Owner-Approval: smoreland@ suggested we take ownership of this subdirectory
2017-11-17 15:28:08 -08:00
Steve Paik
e980916bd7 Add EV parameters to VHAL
Add parameters:
  - INFO_FUEL_TYPE
  - INFO_EV_BATTERY_CAPACITY
  - INFO_EV_CONNECTOR_TYPE
  - ENGINE_ON
  - FUEL_LEVEL
  - FUEL_DOOR_OPEN
  - EV_BATTERY_LEVEL
  - EV_CHARGE_PORT_OPEN
  - EV_CHARGE_PORT_CONNECTED
  - EV_BATTERY_INSTANTANEOUS_CHARGE_RATE

Added enums:
  - EvConnectorType
  - FuelType

Bug: 63330964
Test: Embedded Kitchen Sink can access the params

Change-Id: Iaedbb02db91d354ebed98fbae4c1ba204098e152
2017-11-09 00:13:51 -08:00
TreeHugger Robot
6f53db667b Merge "Add 'vendor.' prefix to a vendor HAL service name" 2017-09-12 06:34:56 +00:00
Jaekyun Seok
81104ae5ef Add 'vendor.' prefix to a vendor HAL service name
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.

Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I4e8fbee791ec917a8f627a1366f4d44ec7e6febc
2017-09-12 08:01:42 +09:00
Enrico Granata
ad2baebb3b Do not write initial empty values for the diagnostic properties.
There is a separate step that initializes them with meaningful values.

Change-Id: I2480a029773b62b0e77b8c52c73f2ee465caf17c
Fixes: b/65125128
Test: runtest -x packages/services/Car/tests/android_car_api_test/src/android/car/apitest/CarDiagnosticManagerTest.java
2017-09-11 15:06:40 -07:00
Pavel Maltsev
250139c8b0 Merge Vehicle HAL 2.1 iface to 2.0
Vehicle HAL is property based and all properties are considered
optional. It is quite a bit of pain to create new versions of VHAL only
to extend properties.

Bug: 64303350

Test: build and flash, verefied system works stable.
Change-Id: I8adb858f53a5d9d31f7444bf97ae09baf2fffafa
2017-08-24 21:59:18 -07:00
Tri Vo
22b2d68170 Build automotive hals with VNDK.
Bug: 37342627
Test: cd hardware/interfaces/automotive &&
BOARD_VNDK_VERSION=current mma -j64 -k
Change-Id: I89e9af8a5fded3a31eedb9942cfba8e8d9614f53
2017-07-12 16:25:27 -07:00
Tri Vo
fc87140da9 convert vehicle to .bp
Test: cd hardware/interfaces/automotive && mma -j64
Change-Id: I851c9b2ff956b0f6d9d7a6076d495aad9038a66a
2017-07-11 12:55:13 -07:00
Steven Moreland
c525408c60 Remove toString methods in Vehicle HAL.
These methods are already generated by HIDL, but this is
only now being realized.

Test: methods no longer conflict
Change-Id: I522630267beb7f87713a0a54c1ecb38077dc1b4e
2017-06-21 12:57:02 -07:00
Steve Paik
d841094820 Add support of generating fake events via emulator
Bug:  62358398
Test:  Python scripts can enable fake events
Change-Id: Id933ae59fc4d763572b88f58367a3aef0af52b6b
2017-06-06 10:24:53 -07:00
Alex Yakavenka
773bf5aa08 Compile manager-lib shared library
bug: 38424350
Test: Local build
Change-Id: Idd03b8bac365f17b7fc418016d2c250a199384fe
2017-05-26 17:41:01 +00:00
Scott Randolph
3446440623 Eliminate redundant #includes and a missing one
Minor cleanup that fell out of a debugging effort.
Test:  Build and run vehicle hal on gordon peak

Change-Id: I29bcb74f3eac96df303139b2717b06c8dfedb839
2017-05-11 17:43:14 -07:00
Ram Periathiruvadi
e17a009d5d Add DOOR_LOCK to default config.
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
2017-05-04 11:31:05 -07:00
Steven Moreland
356c2ced1d Vehicle: IWYU
Missing dependency that was being transitively included
from MQDescriptor.h.

Test: links
Bug: 37791060
Change-Id: I90ccb2edabab8c63429caa0884f6c5820c29fe11
2017-05-02 09:53:59 -07:00
TreeHugger Robot
1195320158 Merge "vehicle: respect result of registerAsService" 2017-04-27 02:59:01 +00:00
Steven Moreland
e50f2efab5 vehicle: respect result of registerAsService
Test: works with https://android-review.googlesource.com/c/358172/
Change-Id: I73bb43f0759f4e396ededf4d8ef7f13711c13276
2017-04-26 11:43:25 -07:00
Enrico Granata
01f5121a33 Don't set hidl_string's buffer to nullptr
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
2017-04-25 14:20:33 -07:00
Pavel Maltsev
a4e82724da Merge "Fix failing VTS test cases" into oc-dev am: d77a4a5585
am: 0dbe46536b

Change-Id: I55813abb627487337b17c7e90e734687812f0485
2017-04-24 22:52:27 +00:00
Pavel Maltsev
0e251c8805 Fix failing VTS test cases
Also, increase number of binder threads in VHAL for performance testing

Fix: b/37543801, b/36778517
Bug: b/36510399

Test: make vts BUILD_GOOGLE_VTS=true -j32 && vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalAutomotiveVehicleV2_0Host -l INFO && adb shell /data/nativetest64/android.hardware.automotive.vehicle@2.0-manager-unit-tests/android.hardware.automotive.vehicle@2.0-manager-unit-tests
Change-Id: I850c6be328f1a07ae3fda898a18137c76afe3115
2017-04-21 09:49:16 -07:00
Pavel Maltsev
decc02b6f5 Merge "Use IBinder to identify callbacks in VHAL" into oc-dev am: 2e25e562fa
am: 84163bc36f

Change-Id: Ifa921d812d63f2833e015201e8a1d111383b10ef
2017-04-18 23:51:44 +00:00
TreeHugger Robot
2e25e562fa Merge "Use IBinder to identify callbacks in VHAL" into oc-dev 2017-04-18 23:23:10 +00:00
Pavel Maltsev
41a000da58 Use IBinder to identify callbacks in VHAL
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
2017-04-18 14:20:11 -07:00
Pavel Maltsev
753f3b0d1e Merge "Adding a custom property to the default VHAL impl" into oc-dev am: 69c42429d1
am: 7bac03deb2

Change-Id: I1ece0ab7a50274e4957155e01d4db50b9b52e645
2017-04-17 21:23:51 +00:00
Pavel Maltsev
794fc4f9ff Adding a custom property to the default VHAL impl
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
2017-04-17 10:39:27 -07:00
Steven Moreland
4e7a307730 Fix transitive includes.
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
2017-04-06 22:04:05 +00:00
Steven Moreland
3eb7df74b8 Fix transitive includes.
Files relying on transitive include of utils/Log.h (and things that it
includes) from MQDescriptor.h

Test: pass
Change-Id: Iff316b21bef556bb026378b7f89e97ded3febef4
2017-04-06 15:01:59 -07:00
Pavel Maltsev
eef66f11b8 resolve merge conflicts of 3e942409 to master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Ia4867c10c2b28298fc493020e2dc44e885837dcc
2017-04-06 09:06:49 -07:00
Pavel Maltsev
33676528f8 Extract logic of storing values to separate class
Also rename DefaultVehicleHal to EmulatedVehicleHal and
extract emulator related code to VehicleEmulator class

Test: mm -j32 ; verified Car Service worked

Change-Id: I34361fdec6f94629cf7ef6c35ff56ef9ce78b855
2017-04-06 05:07:44 +00:00
Enrico Granata
5ecfdeacd9 Fix an issue where Vehicle HAL would crash when trying to update a continuous property without an initial floating-point value
Bug: 36858992
Test: build, flash and boot

(cherry picked from commit 945d0bbc86)

Merged-In: I9906abbf386cf75e838102299e3e97de3475db63
Change-Id: I19ef534fde190a3a1adaca377e8f09760c0ccf4e
2017-04-06 05:06:43 +00:00
Pavel Maltsev
8166677c4b Refactor default values in VHAL
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
2017-04-06 05:01:49 +00:00
Pavel Maltsev
270aeae9f4 Remove dependency to libbinder in VHAL
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)
2017-04-03 23:02:22 +00:00
Enrico Granata
945d0bbc86 Fix an issue where Vehicle HAL would crash when trying to update a continuous property without an initial floating-point value
Bug: 36858992
Test: build, flash and boot
Change-Id: I9906abbf386cf75e838102299e3e97de3475db63
2017-04-03 12:59:00 -07:00
TreeHugger Robot
90defcf6bf Merge "Refactor default values in VHAL" 2017-03-31 23:33:29 +00:00
TreeHugger Robot
a5ecf4604a Merge "Remove dependency to libbinder in VHAL" 2017-03-31 22:27:55 +00:00
Pavel Maltsev
24ade17518 Refactor default values in VHAL
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
2017-03-30 11:25:36 -07:00
bohu
48e4002b2e Revert "Revert "Fix build after ag/2001747 breakage.""
This reverts commit 430d0510e6.

Test: I build full-eng successfully

Change-Id: I77166a8a36e893be476a1067356124914a607c39
2017-03-29 19:39:41 +00:00
Pavel Maltsev
72aebeb3ec Remove dependency to libbinder in VHAL
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
2017-03-28 16:32:00 -07:00
bohu
430d0510e6 Revert "Fix build after ag/2001747 breakage."
This reverts commit 2b3b590ff6.

This change is being reverted because it broke the git_master build
for full-eng and other targets.
2017-03-28 22:11:04 +00:00
Tomasz Wasilczyk
2b3b590ff6 Fix build after ag/2001747 breakage.
Test: it builds now.
Change-Id: I895d592bf4a64ad3e3c928c20b7c7c172c12081d
2017-03-28 13:58:54 -07:00
Enrico Granata
15e12268ff Add logic for VHAL versions > 2.0 to forward property information to 2.0
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
2017-03-21 15:11:16 -07:00
Pavel Maltsev
3fc25be745 Fix config map in default Vehicle HAL impl
Test: tested through VTS
Change-Id: Ibcf607d0ad5cc39291b0d8a159ca3ad849bea8ce
2017-03-14 12:15:46 -07:00
Pavel Maltsev
fb6617935a Fix HvacPowerOn vehicle property
Test: VTS test is now passing
Change-Id: I815645310822bf24c8ee3a37f00c9d78a1e9b666
2017-03-14 11:58:22 -07:00
Pavel Maltsev
8e92b749f4 Merge "Fix static properties to comply with VTS" 2017-03-10 01:18:49 +00:00
Pavel Maltsev
ff89b0ed42 Treat warnings as errors in VHAL unit test
Test: mm -j

Change-Id: Ic174d0550d621ef8508377db97db33f813c06ab1
Fix: b/34901911
2017-03-08 15:16:24 -08:00
Steven Moreland
ce9967834a Remove warning: vehicle RecurrentTimer_test.cpp
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
2017-03-08 08:34:49 -08:00
Pavel Maltsev
4b0c5abe76 Fix static properties to comply with VTS
Test: VTS is passing

Bug: b/32021794
Change-Id: I0bc0cd98f27ec8b059df283a52fbe18d88962e35
2017-03-07 20:26:13 -08:00
TreeHugger Robot
f410228abc Merge "Add continuous property infrastructure to VHAL" 2017-03-07 02:10:05 +00:00