AccelFilterInterpreter: New Smooth Acceleration Feature

With this feature, the acceleration multiplier is determined by
averaging the previous three motions that connect to the current
motion. I.e., each motion's end time must correspond to the next
motion's start time.

This is especially helpful for pads that sometimes have uneven motion
(ie, short moves then long moves), so that the acceleration doesn't
multiply the difference between short and long moves.

BUG=chromium:326647
TEST=Leon regression tests

Change-Id: I64d5a7abe3bb708b84c98d9bd5746b67012ba8b6
Reviewed-on: https://chromium-review.googlesource.com/179155
Reviewed-by: Charles Mooney <charliemooney@chromium.org>
Commit-Queue: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Andrew de los Reyes <adlr@chromium.org>
2 files changed