Commit Graph

19 Commits

Author SHA1 Message Date
Simon Bowden
608655b450 Use a shared ref for Vibrator when passed to a worker thread.
To try to protect against this easy mistake, I removed the implicit
capture from thread lambdas.

Bug: 228523213
Test: atest
Change-Id: I8fa37dacb4acf89848a8b17db8db317a988809d4
2022-06-01 12:15:42 +00:00
chasewu
8af5e8479a Fix the default BandwidthAmplitudeMap contant
Fix: 225286612
Fix: 224650717
Test: forrest test
Signed-off-by: chasewu <chasewu@google.com>
Change-Id: I5c550426b7cbbdf6e4e9ad90d6248b6ed0523399
2022-03-23 07:17:29 +00:00
Lais Andrade
3c7f0d90ba Fix default vibrator HAL to check support on getPrimitiveDuration
Change-Id: I09219cca0a1b0bb985cae70734b0dd03cca441fc
Fix: 191115802
Test: VtsHalVibratorTargetTest
2021-06-16 10:28:22 +00:00
Vince Leung
823cf5f455 Add Chirp APIs for PWLE sequence creation
Add the necessary Chirp APIs required to allow for piecewise-linear
equation sequencing of haptic waveforms. These APIs will allow
developers to create a fully customizable sequence of haptics waveforms
for playback.

Bug: 162859057
Test: verify pwle sequences can be created and played using idlcli
command. Also verify using atest.

Change-Id: I7fec224b7090e482bbcd1c94a3799ec232cc547f
2021-03-24 06:20:21 +00:00
Vince Leung
4bae4f943d vibrator: aidl: Add get f0 and get Q APIs
Add APIs to get f0, resonant frequency, and Q factor.

Bug: 178826612
Test: m and verify using idlcli
Change-Id: I834693693a91871f988504d2d9448497ef10e7fc
2021-02-17 20:16:47 +00:00
Vince Leung
deb46ec7b2 vibrator: aidl: add primitive LOW_TICK
Bug: 174561580
Change-Id: I48d034c92f2405d09073344405f8038fdefaf294
2021-01-11 19:23:48 +00:00
Treehugger Robot
042f31daf2 Merge "vibrator: vts: Validate Primitive Duration" am: 5ec6625bd6 am: 231b61abb5
Change-Id: I8db95eb838681b8a58853c534e420372b4f3de65
2020-04-21 02:03:39 +00:00
Harpreet \"Eli\" Sangha
b075a6a599 vibrator: vts: Validate Primitive Duration
Bug: 148496381
Test: Ran on Pixel 4
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
Change-Id: Ie74f9458b881a51746539f61526fbe4898485b00
2020-04-17 13:22:41 +09:00
Harpreet \"Eli\" Sangha
7aec50208c vibrator: aidl: Apply Compose API Feedback
- Make Thud and Spin optional due to complexity.
- Make "scale" inclusive of zero, which represents minimum "feelable"
  intensity.
- Update VTS tests appropriately.
- Fix typo in VTS test names.

Bug: 151084263
Test: VTS on Flame, Walleye, and Cuttlefish
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
Change-Id: Ib0d046be83ee79ab38e0b9c3fb87a41f23879f8b
2020-03-12 05:49:35 +09:00
Harpreet \"Eli\" Sangha
13ef28c6a4 vibrator: Deduplicate Supported Primitives Check
Use the getSupportedPrimitives() as the single source of truth for
supported primitive checks.

Bug: 147844633
Test: atest VtsHalVibratorTargetTest
Change-Id: I8789b0ee9806c5887fca9a0b800fe2e903c76a58
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
2020-01-29 02:06:16 +00:00
Harpreet \"Eli\" Sangha
fe5d3986e9 vibrator: Add "Light Tick" Primitive
Bug: 147844633
Test: adb shell idlcli vibrator compose 0 7 1.0
Change-Id: I208e56011f790c095afe734fd4326de10078525a
Merged-In: I208e56011f790c095afe734fd4326de10078525a
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
2020-01-27 07:20:10 +00:00
Harpreet \"Eli\" Sangha
523e29603b vibrator: Compose API Related Improvements
- Allow querying duration of each primitive.
- Allow querying of supported primitives.
- Enforce all-of-nothing requirement for supported primitives via VTS.
- Enforce callback support requirement via VTS.

Bug: 139762802
Bug: 147852209
Test: atest VtsHalVibratorTargetTest
Change-Id: I9009e38d446ed9ea38b3a9d6eb8dd55e6be2792f
Merged-In: I9009e38d446ed9ea38b3a9d6eb8dd55e6be2792f
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
2020-01-27 07:19:29 +00:00
Harpreet \"Eli\" Sangha
63624099e3 vibrator: Support Always-On Effects
Bug: 138909021
Test: Verify always-on haptics are configured on boot and settings
      change.
Change-Id: I11ce5f2b974267c6e84b1843a750847492a7de15
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
2019-12-12 11:09:06 +09:00
Steven Moreland
f57ad9ba5c vibrator impl: log failed callback
As help/sanity check when debugging.

Bug: N/A
Test: N/A
Change-Id: Ia45be148f1e6aebdb880d7da68d5b8bec8485127
2019-11-27 16:04:52 -08:00
Harpreet \"Eli\" Sangha
f4de5b065f vibrator: Add Composition APIs
Bug: 139762802
Test: Manual Invocation via 'idlcli'
Change-Id: Ibc938d08f186039681d523784b90f4172a52af51
Signed-off-by: Harpreet \"Eli\" Sangha <eliptus@google.com>
2019-11-21 16:12:13 +09:00
Steven Moreland
8ba8c03a49 example AIDL HAL extension
This CL shows an example of how to use and retrieve a HAL extension.

Bug: 136027762
Test: run HAL and:
- use "dumpsys --pid android.hardware.vibrator.IVibrator/default" to
make sure that the HAL I'm running is the binary being added.
- VtsHalVibratorTargetTest
- test-vintf-vibrator-ext-client

Change-Id: I8614007a727e8e05ba4667c2cd1623ce936a1609
2019-11-18 18:02:12 -08:00
Steven Moreland
c0b92d5388 vibrator: add CAP_EXTERNAL_AMPLITUDE_CONTROL
For HIDL, vibrator may change the value of supportsAmplitudeControl
based on context. Since the interface is being redone in AIDL, we're
avoiding this changing value and providing capabilities for amplitudes
we expect to be available in different states.

Bug: 141828236
Test: VtsHalVibratorTargetTest
Change-Id: Idf0b28ffe5b1175469d32e790b10b4232482dc2b
2019-11-07 03:00:25 +00:00
Steven Moreland
2932b22571 vibrator: add getSupportedEffects
It's a real gap in this interface, since we need to call perform to
understand if an effect is supported.

Bug: 141828236
Test: atest VtsHalVibratorTargetTest
Change-Id: Iffbd9c0acf5e4c368767c7718025a4aef8f44ce3
2019-11-06 16:34:37 +00:00
Steven Moreland
d91e449020 s/staidl/aidl/
staidl is a term I made up w/o precedence. aidl is clearer and more
consistent w/ practices elsewhere.

Bug: 141828236
Test: N/A
Change-Id: I3f044ddf470b63956f2aa496ae9fe9e5893f479a
2019-11-05 13:29:10 -08:00