Clone this repo:
  1. 37c75fe Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD am: a67c00187b by Bill Yi · 6 months ago master o-mr1-iot-preview-7 o-mr1-iot-preview-8 android-o-mr1-iot-preview-7 android-o-mr1-iot-preview-8 android-p-preview-1 android-wear-8.0.0_r1
  2. a67c001 Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD by Bill Yi · 6 months ago
  3. bc37f83 Initial empty repository by Bill Yi · 6 months ago
  4. 2d3f8a1 walt: modify for use with Salad Fingers by Andrew Lehmer · 11 months ago oreo-dr1-dev oreo-mr1-dev
  5. ed462e9 walt: fix internal build system errors by Andrew Lehmer · 12 months ago

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.