[automerger skipped] Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709) am: 04f0613527 -s ours

am skip reason: Change-Id Id888b6053f6b3c1a473e52a8cf546e8da95c4c1c with SHA-1 152923487d is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/walt/+/12470078

Change-Id: I3ade37309b6139c7d4031c067751337405142ae1
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.