CHROMIUMOS: Device definitions, gestures for touchbot

This commit includes device bounding rectangle definitions, as well as
several simple gestures, a robot parameter reset script, a point picking
program to allow precise identification of points for device definitions
to be used by gesture programs, and updated READMEs.

It also includes minor fixes to the robot control library having to do
with timing, documentation, and some small logic errors that impacted
programming the robot itself.

Adds default values for execJog() parameters.

Adds assertReset(), assertCancelError() utility functions to reduce code
duplication in gesture files and add implicit retries to deal with
preexisting line noise.

Adds an unrecoverableError exception, which is raised if the new asserts
fail.

With this commit, we should have the ability to do a one finger flick, a
two finger flick/scroll, a two finger scroll, and vary the speed of each
of these operations.

BUG=None
TEST=Run gesture programs on touchbot

Change-Id: Id45b6209876f8bfb082a61a2a85e1ebdd6abbf51
Signed-off-by: Terry Lambert <tlambert@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/28956
Reviewed-by: Mark Koudritsky <kamrik@chromium.org>
17 files changed
tree: c5113e043abf52c3c3f1f2fdc29cd5e3db308a61
  1. README
  2. devices/
  3. documentation/
  4. examples/
  5. gestures/
  6. roibot/
  7. test/