Merge changes from topic "am-c5732ce10a8f4e6591552e01ae864027" into rvc-qpr-dev-plus-aosp

* changes:
  pywalt: fix stuck communication am: de48cf557f am: 842e8b8860 am: 26b4ade211 am: b47047f15a am: dc6c1a83c2
  Add taikuo@ as owner am: 39011038f5 am: 893bd686ce am: 2d44993bca am: 37c88b6cf7 am: 5269e99192
  walt: app: fix ping while WALT hardware is disconnected am: e1e74f4731 am: d274ef0c1a am: 4465a36732 am: 716c99f366 am: 11fdda7fdd
  walt: app: fix Lint errors of java in the main folder am: cab1e13775 am: 2f3c46b1be am: 65205d9e64 am: 2bd4cd33a8 am: 18a53e3704
  walt: app: fix Lint errors in AndroidManifest & resource files am: 94adb77390 am: 1607bda573 am: cd819bd243 am: 88847fb88e am: 86bfcf6d6e
  walt: app: migrate to AndroidX, AppCompat and new API am: 53e0953484 am: 4663815550 am: cc14c0e9e3 am: 179289e1af am: 47bc40f889
  walt: app: fix Lint errors in the test folder am: 085d6d10f9 am: 96cc3992d5 am: ae2ba55ccb am: d8a51d2d87 am: 42e09f161a
  walt: app: update SDK, gradle and NDK version am: 90cb0e4ec2 am: 6427470ea3 am: fc00b44b62 am: b76a4d0501 am: 20dd9d3750
  walt: app: remove unused drawable resource files am: 907294fc13 am: e36cb61db2 am: e16d88d12b am: 9eb125647a am: dcbcd2e17b
  Merge google/walt am: fd6b63bf0d am: 4ae9e2ebd3 am: 412790a13a am: 209be2ea8f am: 46c2f1e543
  Deprecate OpenSL ES for Android API level 30 in Android.mk am: c6fdd9aa34 am: 11f417c9bd am: d887e7412b am: 4f00b9c7cd am: b25f8045ee
  Revert "Convert sync_clock_jni to Android.bp" am: 098c8fb26d am: 9eda51f919 am: e58ab75b03 am: 4dd63a1987 am: 0de2a3d53e
  Revert "Deprecate OpenSL ES for Android as of API level 30 (R)" am: 1f4104148d am: 9fa777ce8b am: 991b36f263 am: d492081320 am: fb5de31326
tree: 00e0f9517f22f9f9fc95aa6a242a072f9b188f09
  1. android/
  2. arduino/
  3. docs/
  4. hardware/
  5. ios/
  6. pywalt/
  7. server/
  8. AUTHORS
  9. CONTRIBUTING.md
  10. CONTRIBUTORS
  11. LICENSE
  12. METADATA
  13. MODULE_LICENSE_APACHE2
  14. OWNERS
  15. README.google
  16. README.md
README.md

WALT Latency Timer

DISCLAIMER: This is not an official Google product.

WALT is designed to measure the latency of physical sensors and outputs on phones and computers. It can currently perform the following measurements:

  • Tap latency - time from the moment a finger-like probe touches down (or up) on the screen until the kernel timestamps an ACTION_DOWN (or ACTION_UP) event. This physical contact with the screen is timed using an accelerometer mounted on the probe.
  • Drag latency (scroll).
  • Screen draw latency - using a photodiode that detects whether the screen is black or white.
  • Audio output and microphone latencies.
  • MIDI input and output latencies

The WALT app for Android can be installed from Google Play or downloaded in the releases section; the iOS app must be built from source.

WALT photo

Notes

  • Hardware build instructions can be found in this repository under hardware/.
  • Clock synchronization details are described here.
  • The Android/iOS device and Teensy clocks have a tendency to diverge due to differing clock frequencies. This means they will go out of sync after several minutes. The workaround is to use the app to re-sync the clocks. Some, but not all tests in the app will sync the clocks when starting a measurement.
  • Python code used to communicate with WALT from Linux and ChromeOS can be found here.