summaryrefslogtreecommitdiff
path: root/sensors/2.0/default/Sensors.cpp
AgeCommit message (Collapse)Author
2020-02-18Add default impl of Sensors HAL 2.1Anthony Stange
Create a default implementation of HAL 2.1 that shares 90% of the underlying code with HAL 2.0 since the interfaces are very similar. Bug: 144139857 Test: compile Change-Id: Ic6b139df98ddb1f92833b1f2d65e1cecc297fd41
2019-01-28Add missing sensors to Sensors 2.0Brian Stack
Bug: 123380869 Test: atest com.android.devicehealthchecks.SensorsBootCheck#checkSensors passes on Cuttlefish Change-Id: I08a8406b3932469878da981add61f60b7774a377
2019-01-12Merge "Stop Wake Lock thread if it is running"TreeHugger Robot
2019-01-10Add WakeLockQueueFlagBits to Sensors 2.0Brian Stack
WakeLockQueueFlagBits is used to signal between the framework and the HAL whenever events are available on the Wake Lock FMQ. The introduction of this type allows for the HAL to utilize blocking calls when reading the Wake Lock FMQ, if desired. Also removes stale reference to WakeLockEvent. Bug: 122528664 Test: Builds, verified Sensors 2.0 default implementation reads events when they become available on the Wake Lock FMQ Change-Id: Ia83bd1642b8f6aa8ea86da05e83f4040c6e593bb
2019-01-09Stop Wake Lock thread if it is runningBrian Stack
If the Wake Lock thread is running, stop it whenever initialize() is called in order to prevent an invalid Wake Lock Queue from being read. Also disable all sensors whenever initialize() is called to ensure that stale sensor registrations are properly cleaned up. Bug: 122468928 Test: Sensors HAL 2.0 tests run without crashing Change-Id: I5fb55628545adbb481da6fcda157c78cff834134
2018-11-15Merge "Implement Direct Channel Tests"TreeHugger Robot
2018-11-14Acquire and Release Wake LockBrian Stack
Acquire a wake lock in the Sensors 2.0 Default implementation whenever there are outstanding WAKE_UP events. Release the wake lock whenever the number of oustanding WAKE_UP events is zero or at least SensorTimeout::WAKE_LOCK_SECONDS seconds have elapsed since the previous WAKE_UP event was written to the Event FMQ. Bug: 111070257 Test: Builds, wake lock is acquired and released as expected. Change-Id: I7c57724430144fd4022646d1fef1b1fa8bc4235d
2018-11-14Implement Direct Channel TestsBrian Stack
Implements Direct Channel tests for Sensors HAL 2.0. The tests verify that the interface has been implemented correctly and that expected values are returned. These tests are not intended to verify that the rate at which sensor events are generated is correct. Also, correctly return -1 as the channel handle if direct report is not supported. Bug: 115969174 Test: Tests pass against default implementation Change-Id: I31b3211268701665757b03d5ee4ba2316f461282
2018-11-13Data Injection Support for Default Sensors HAL 2.0Brian Stack
Implements data injection support for the default Sensors HAL 2.0. Allows events to be injected into the Sensors HAL and these events be written back to the Event FMQ. Bug: 111070257 Test: Passes data injection VTS tests Change-Id: If652417ec0df4148ffb5be3d5dd8bc6f0be65467
2018-10-30Default flush implementation for Sensors 2.0Brian Stack
Bug: 111070257 Test: Builds, passes corresponding VTS tests Change-Id: I5b46232ffb0dd2c85bccd9dad34dd04d29a5677d
2018-10-24Register default accelerometer sensorBrian Stack
Registers a default accelerometer with the Sensors HAL. Bug: 111070257 Test: Builds, a_sns_test receives accel events Change-Id: I2f016eb74b9b729854e771264f4c2f1adf025c09
2018-10-24Generate events for default Sensors 2.0Brian Stack
Adds the ability for default Sensors 2.0 implementation to generate sensor events. Bug: 111070257 Test: Builds Change-Id: I98f04dbac5370cc6fc3be43468ba43b6476b4515
2018-10-24Implement activate and batch functionsBrian Stack
Implements the activate and batch functions for the default Sensors 2.0 implementation. Bug: 111070257 Test: Builds Change-Id: I5987ab722cdd97c7cd7ff466d6d989794171b851
2018-10-24Implement default functions for direct channelBrian Stack
Implements default functions for a Sensors 2.0 HAL that does not support direct channel operation. Although Sensors 2.0 supports direct channel operation, it is not a requirement unless a device supports High Fidelity Sensors. A direct channel implementation is vendor-specific, and therefore, the default implementation does not provide a reference implementation. A default implementation is able to be found in Sensors 1.0 since direct channel operation has not changed between Sensors 1.0 and 2.0. Bug: 111070257 Test: Builds Change-Id: I1c4ef0cd9d4bd4b7ae3212358f9493c28c2798f4
2018-10-24Default implementation for initialize()Brian Stack
Implements the default initialize() function for Sensors HAL 2.0 Bug: 111070257 Test: Builds Change-Id: I1d1f0d732d931adaf12ae40167eea484887fb140
2018-10-24Create Sensors HAL 2.0 Default ImplementationBrian Stack
Auto-generated default implementation for Sensors HAL 2.0 via hidl-gen and cleaned up formatting. Modifies Android.bp for binderized HAL implementation which includes: - Adding service.cpp - Adding android.hardware.sensors@2.0-service.rc android.hardware.sensors@2.0-service.rc was copied and updated from the sensors@1.0 default implementation. Bug: 111070257 Test: Builds Change-Id: I6a939511ff6b4011cfe95bd26c3093ad18f26f5a