DO NOT MERGE - Merge pi-dev@5234907 into stage-aosp-master

Bug: 120848293
Change-Id: I72514644355536069307552c197120c53af4f53f
tree: c30ac4649286db84b343802e00c4100ad1900759
  1. AUTHORS
  2. CONTRIBUTING.md
  3. CONTRIBUTORS
  4. LICENSE
  5. MODULE_LICENSE_APACHE2
  6. NOTICE
  7. OWNERS
  8. README.google
  9. README.md
  10. android/
  11. arduino/
  12. docs/
  13. hardware/
  14. ios/
  15. pywalt/
  16. server/
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.