1e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer## WALT Latency Timer ## 2e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 3e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer**DISCLAIMER:** This is not an official Google product. 4e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 5e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Post about WALT on Android Developers Blog](http://android-developers.blogspot.ca/2016/04/a-new-method-to-measure-touch-and-audio.html) 6e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Instructional videos showing how to use WALT](https://www.youtube.com/playlist?list=PLd6Fi7WgXfcCEJg1FDqNCoQfpWo7W3J5a) 7e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Detailed usage instructions](docs/usage/WALT_usage.md) 8e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * Mailing list - [walt-discuss](https://groups.google.com/forum/#!forum/walt-discuss) 9e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * Low-traffic mailing list for major announcements [walt-announce](https://groups.google.com/forum/#!forum/walt-announce) 10e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 11e76dcf96b0c451e46cddfa695de8feeb92533937Andrew LehmerWALT is designed to measure the latency of physical sensors and outputs on phones and computers. It can currently perform the following measurements: 12e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 13e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Tap latency](docs/TapLatency.md) - time from the moment a finger-like probe touches down (or up) on the screen 14e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer until the kernel timestamps an ACTION_DOWN (or ACTION_UP) event. This physical contact with 15e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer the screen is timed using an accelerometer mounted on the probe. 16e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Drag latency](docs/DragLatency.md) (scroll). 17e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Screen draw latency](docs/ScreenLatency.md) - using a photodiode that detects whether the screen is black or white. 18e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * [Audio output and microphone latencies](docs/AudioLatency.md). 19e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer * MIDI input and output latencies 20e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 21e76dcf96b0c451e46cddfa695de8feeb92533937Andrew LehmerThe WALT app for Android can be 22e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer[installed from Google Play](https://play.google.com/store/apps/details?id=org.kamrik.latency.walt) 23e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmeror downloaded in the [releases section](https://github.com/google/walt/releases); the iOS app must be built from source. 24e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 25e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer![WALT photo](docs/WALT_photo_audio_r07.jpg) 26e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 27e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 28e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer## Notes 29e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer* Hardware build instructions can be found in this repository under `hardware/`. 30e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer* Clock synchronization details are described [here](android/WALT/app/src/main/jni/README.md). 31e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer* The Android/iOS device and Teensy clocks have a tendency to diverge due to 32e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer differing clock frequencies. This means they will go out of sync after 33e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer several minutes. The workaround is to use the app to re-sync the 34e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer clocks. Some, but not all tests in the app will sync the clocks when starting a measurement. 35e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer* Python code used to communicate with WALT from Linux and ChromeOS can be found 36e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer [here](https://chromium.googlesource.com/chromiumos/platform/touchbot/+/master/quickstep/). 37e76dcf96b0c451e46cddfa695de8feeb92533937Andrew Lehmer 38