firmware_TouchMTB: split LinearityValidator for normal and fat fingers

This patch splits the Linearity Validator into two parts, one for
gestures performed with normal fingers, and the other for gestures
performed with fat fingers.

BUG=chromium:335015
TEST=All unit tests should pass on a chromebook machine.
$ cd /usr/local/autotest/tests/firmware_TouchMTB
$ python tests/run_all_unittests.py

Also replay the logs for Link, and generate the summary:
$ tools/machine_replay.sh -b tests/logs/link/
$ ./summary.sh -d /tmp

Now, look at the summary file /tmp/summary/summary_xxxx/summary_xxxx.txt
It would show both LinearityFatFinger(Middle)Validator and
LinearityNormalFinger(Middle)Validator like:

LinearityFatFinger(Middle)Validator
  max error in x (mm)  :   5.49  The max err of all samples
  max error in y (mm)  :   1.47  The max err of all samples
  rms error in x (mm)  :   1.32  The mean of all rms means of all trials
  rms error in y (mm)  :   0.57  The mean of all rms means of all trials
LinearityNormalFinger(Middle)Validator
  max error in x (mm)  :   2.38  The max err of all samples
  max error in y (mm)  :   2.76  The max err of all samples
  rms error in x (mm)  :   0.19  The mean of all rms means of all trials
  rms error in y (mm)  :   0.31  The mean of all rms means of all trials

Change-Id: Iadc5089a2017f2a11a61e5315dc57f1f8937c1e4
Reviewed-on: https://chromium-review.googlesource.com/182766
Reviewed-by: Charles Mooney <charliemooney@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
11 files changed