    Record program: mtplot /dev/input/event8 -d :0 -g 2040x1360+0+340
    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 11.29 px
        deviation slot0: 0.56 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 29.67 px
        deviation slot0: 1.48 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.812843
    

    NoGapValidator
        Largest gap ratio slot0: 1.643390
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -15} px
        criteria_str: <= 5, ~ +30
    score: 0.750000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 61.44 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_221425.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.73 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.97 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 171.91 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_221440.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.06 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.11 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 171.58 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_221455.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.24 px
        deviation slot0: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.01 px
        deviation slot0: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.393052
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 167.75 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_221509.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.18 px
        deviation slot0: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.24 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.403567
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 167.31 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_221523.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.63 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.95 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.100000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.54 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_221536.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.27 px
        deviation slot0: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.65 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 173.93 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_221548.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.24 px
        deviation slot0: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.94 px
        deviation slot0: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 170.19 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_221602.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.52 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.53 px
        deviation slot0: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 173.43 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_221616.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.49 px
        deviation slot0: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.46 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.380670
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 165.28 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_221630.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.41 px
        deviation slot0: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.04 px
        deviation slot0: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.500000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 165.80 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_221643.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.30 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.65 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.396601
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'X': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.23 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_221655.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.70 px
        deviation slot0: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.78 px
        deviation slot0: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 160.57 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_221708.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.66 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.65 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.30 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_221721.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.80 px
        deviation slot0: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.24 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 162.22 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_221734.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.84 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.46 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.559519
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 157.76 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_221747.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.67 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.34 px
        deviation slot0: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.100000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 163.21 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_221800.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.45 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.26 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.256234
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 157.24 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_221812.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.28 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.05 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 168.05 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_221824.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.60 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.41 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.04 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_221837.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.86 px
        deviation slot0: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.41 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.80 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_221850.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.47 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.69 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.272727
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 154.15 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_221903.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.62 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 0.86 px
        deviation slot0: 0.04 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.111111
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 158.03 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_221916.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.92 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 0.54 px
        deviation slot0: 0.03 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.448712
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 155.32 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_221928.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.24 px
        deviation slot0: 0.31 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.27 px
        deviation slot0: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 4, 'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 0.975528
    

    ReportRateValidator
        Report rate: 171.30 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_221940.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.50 px
        deviation slot0: 0.33 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.89 px
        deviation slot0: 0.24 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 2, 'X': -7} px
        criteria_str: <= 5, ~ +30
    score: 0.956773
    

    ReportRateValidator
        Report rate: 173.74 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_221956.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.35 px
        deviation slot0: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.44 px
        deviation slot0: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 3, 'X': -6} px
        criteria_str: <= 5, ~ +30
    score: 0.956773
    

    ReportRateValidator
        Report rate: 172.60 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_222010.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.05 px
        deviation slot0: 0.35 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.25 px
        deviation slot0: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.480466
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 2, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 167.98 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_222025.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.06 px
        deviation slot0: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.79 px
        deviation slot0: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.445352
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1, 'X': -3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 2, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 170.14 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_222038.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.59 px
        deviation slot0: 0.33 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.44 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.491643
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 3, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 1, 'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 169.68 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_222051.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.75 px
        deviation slot0: 0.29 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 0.93 px
        deviation slot0: 0.05 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0, 'X': 3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 171.97 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_222104.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.66 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.13 px
        deviation slot0: 0.31 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0, 'X': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 171.86 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_222117.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.20 px
        deviation slot0: 0.36 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.27 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0, 'X': 3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.47 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_222132.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.52 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.79 px
        deviation slot0: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.570272
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 165.24 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_222146.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.47 px
        deviation slot0: 0.37 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.38 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.521535
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': 0, 'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 164.55 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_222159.dat)

    
[1;34m<one_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a straight, [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.92 px
        deviation slot0: 0.35 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.41 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.453444
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(BothEnds)Validator
        Reversed motions slot0: {'Y': -1, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 166.72 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_222211.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off left edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.83 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.83 px
        deviation slot0: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (19,)
        spec: (0, 2040)
        ave_deviation: 0.009314
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 168.54 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_left.slow-link-fw_1.0.AA-robot-20130806_222223.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off left edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.20 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.00 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (19,)
        spec: (0, 2040)
        ave_deviation: 0.009314
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 165.76 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_left.slow-link-fw_1.0.AA-robot-20130806_222238.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off left edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.28 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.57 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (18,)
        spec: (0, 2040)
        ave_deviation: 0.008824
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 169.95 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_left.slow-link-fw_1.0.AA-robot-20130806_222252.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off right edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.15 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.78 px
        deviation slot0: 0.24 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (2021,)
        spec: (0, 2040)
        ave_deviation: 0.009314
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 165.97 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_right.slow-link-fw_1.0.AA-robot-20130806_222306.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off right edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.67 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.15 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (2022,)
        spec: (0, 2040)
        ave_deviation: 0.008824
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 169.36 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_right.slow-link-fw_1.0.AA-robot-20130806_222320.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mhorizontal[0m line [1;32mfrom the center off right edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.79 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.09 px
        deviation slot0: 0.25 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (2021,)
        spec: (0, 2040)
        ave_deviation: 0.009314
        criteria_str: <= 0.05, ~ +0.05
    score: 1.000000
    

    ReportRateValidator
        Report rate: 170.66 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_right.slow-link-fw_1.0.AA-robot-20130806_222333.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center  off top edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.99 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.29 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (179,)
        spec: (0, 1360)
        ave_deviation: 0.131618
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 159.05 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_top.slow-link-fw_1.0.AA-robot-20130806_222346.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center  off top edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.42 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.69 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (179,)
        spec: (0, 1360)
        ave_deviation: 0.131618
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 160.04 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_top.slow-link-fw_1.0.AA-robot-20130806_222359.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center  off top edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.65 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.01 px
        deviation slot0: 0.05 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (179,)
        spec: (0, 1360)
        ave_deviation: 0.131618
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 162.52 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_top.slow-link-fw_1.0.AA-robot-20130806_222411.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center off bottom edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.12 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.95 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (1138,)
        spec: (0, 1360)
        ave_deviation: 0.163235
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 163.67 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_bottom.slow-link-fw_1.0.AA-robot-20130806_222424.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center off bottom edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.93 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.06 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (1138,)
        spec: (0, 1360)
        ave_deviation: 0.163235
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 164.04 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_bottom.slow-link-fw_1.0.AA-robot-20130806_222437.dat)

    
[1;34m<one_finger_to_edge>[0m:
    Take [1;32m2 seconds[0m to draw a striaght [1;32mvertical[0m line [1;32mfrom the center off bottom edge[0m.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.44 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 0.21 px
        deviation slot0: 0.01 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    RangeValidator
        actual: (1138,)
        spec: (0, 1360)
        ave_deviation: 0.163235
        criteria_str: <= 0.05, ~ +0.05
    score: 0.000000
    

    ReportRateValidator
        Report rate: 171.42 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_to_edge.center_to_bottom.slow-link-fw_1.0.AA-robot-20130806_222449.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the bottom left to the top right[0m.
    

    CountPacketsValidator
        Number of packets slot0: 68
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.82 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.bottom_left_to_top_right-link-fw_1.0.AA-robot-20130806_222502.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the bottom left to the top right[0m.
    

    CountPacketsValidator
        Number of packets slot0: 68
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.98 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.bottom_left_to_top_right-link-fw_1.0.AA-robot-20130806_222514.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the bottom left to the top right[0m.
    

    CountPacketsValidator
        Number of packets slot0: 69
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 173.03 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.bottom_left_to_top_right-link-fw_1.0.AA-robot-20130806_222525.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the top right to the bottom left[0m.
    

    CountPacketsValidator
        Number of packets slot0: 69
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.72 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.top_right_to_bottom_left-link-fw_1.0.AA-robot-20130806_222536.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the top right to the bottom left[0m.
    

    CountPacketsValidator
        Number of packets slot0: 69
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.70 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.top_right_to_bottom_left-link-fw_1.0.AA-robot-20130806_222547.dat)

    
[1;34m<one_finger_swipe>[0m:
    Use ONE finger to quickly swipe [1;32mfrom the top right to the bottom left[0m.
    

    CountPacketsValidator
        Number of packets slot0: 68
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 172.48 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_swipe.top_right_to_bottom_left-link-fw_1.0.AA-robot-20130806_222558.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.69 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_left-link-fw_1.0.AA-robot-20130806_222608.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 130.89 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_left-link-fw_1.0.AA-robot-20130806_222620.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 124.02 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_left-link-fw_1.0.AA-robot-20130806_222632.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 120.53 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_right-link-fw_1.0.AA-robot-20130806_222643.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 150.66 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_right-link-fw_1.0.AA-robot-20130806_222654.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.96 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_right-link-fw_1.0.AA-robot-20130806_222704.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.52 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_left-link-fw_1.0.AA-robot-20130806_222713.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.49 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_left-link-fw_1.0.AA-robot-20130806_222724.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 146.56 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_left-link-fw_1.0.AA-robot-20130806_222736.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.18 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_right-link-fw_1.0.AA-robot-20130806_222748.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 127.36 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_right-link-fw_1.0.AA-robot-20130806_222758.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 128.90 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_right-link-fw_1.0.AA-robot-20130806_222808.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop edge[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 105.14 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_side-link-fw_1.0.AA-robot-20130806_222817.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop edge[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.33 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_side-link-fw_1.0.AA-robot-20130806_222828.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mtop edge[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 115.59 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.top_side-link-fw_1.0.AA-robot-20130806_222838.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 144.73 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_side-link-fw_1.0.AA-robot-20130806_222849.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.35 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_side-link-fw_1.0.AA-robot-20130806_222900.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.72 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.bottom_side-link-fw_1.0.AA-robot-20130806_222911.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mleft hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 137.90 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.left_side-link-fw_1.0.AA-robot-20130806_222921.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mleft hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 146.18 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.left_side-link-fw_1.0.AA-robot-20130806_222933.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mleft hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 146.20 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.left_side-link-fw_1.0.AA-robot-20130806_222944.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mright hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 120.15 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.right_side-link-fw_1.0.AA-robot-20130806_222956.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mright hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 135.26 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.right_side-link-fw_1.0.AA-robot-20130806_223007.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mright hand side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.91 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.right_side-link-fw_1.0.AA-robot-20130806_223016.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 137.96 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.center-link-fw_1.0.AA-robot-20130806_223026.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 113.11 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.center-link-fw_1.0.AA-robot-20130806_223036.dat)

    
[1;34m<one_finger_tap>[0m:
    Use one finger to tap on the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 128.75 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_tap.center-link-fw_1.0.AA-robot-20130806_223047.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 144.49 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 6 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.center-link-fw_1.0.AA-robot-20130806_223057.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 147.62 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 5 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.center-link-fw_1.0.AA-robot-20130806_223109.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mcenter[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 122.48 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.center-link-fw_1.0.AA-robot-20130806_223120.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 160.28 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 3 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_left-link-fw_1.0.AA-robot-20130806_223131.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.58 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_left-link-fw_1.0.AA-robot-20130806_223144.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom left corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 153.95 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 3 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_left-link-fw_1.0.AA-robot-20130806_223156.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 146.44 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_side-link-fw_1.0.AA-robot-20130806_223208.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 149.80 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_side-link-fw_1.0.AA-robot-20130806_223220.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom side[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.16 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_side-link-fw_1.0.AA-robot-20130806_223231.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.54 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 5 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_right-link-fw_1.0.AA-robot-20130806_223242.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 148.96 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 5 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_right-link-fw_1.0.AA-robot-20130806_223253.dat)

    
[1;34m<one_finger_physical_click>[0m:
    Use one finger to physically click the [1;32mbottom right corner[0m of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 1
        criteria_str: == 1
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.62 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/one_finger_physical_click.bottom_right-link-fw_1.0.AA-robot-20130806_223304.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mtop left corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.top_left-link-fw_1.0.AA-robot-20130806_223314.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mtop left corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.top_left-link-fw_1.0.AA-robot-20130806_223337.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mtop left corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.top_left-link-fw_1.0.AA-robot-20130806_223400.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mbottom right corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.bottom_right-link-fw_1.0.AA-robot-20130806_223423.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mbottom right corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.bottom_right-link-fw_1.0.AA-robot-20130806_223445.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mbottom right corner[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.bottom_right-link-fw_1.0.AA-robot-20130806_223506.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mcenter[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.center-link-fw_1.0.AA-robot-20130806_223527.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mcenter[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.center-link-fw_1.0.AA-robot-20130806_223550.dat)

    
[1;34m<rapid_taps_20>[0m:
    Tap the [1;32mcenter[0m of the touch surface 20 times quickly
    

    CountTrackingIDValidator
        count of trackid IDs: 20
        criteria_str: == 20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/rapid_taps_20.center-link-fw_1.0.AA-robot-20130806_223612.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.54 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.76 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.76 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.85 px
        deviation slot1: 0.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 147.55 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_223634.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.65 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.55 px
        deviation slot0: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.81 px
        deviation slot1: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.15 px
        deviation slot1: 0.06 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 148.90 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_223808.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.93 px
        deviation slot0: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.34 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.47 px
        deviation slot1: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.92 px
        deviation slot1: 0.35 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.79 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.slow-link-fw_1.0.AA-robot-20130806_223823.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.77 px
        deviation slot0: 0.34 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.99 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.22 px
        deviation slot1: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.77 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.318439
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.706896
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 147.27 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_223837.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.02 px
        deviation slot0: 0.35 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.79 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.95 px
        deviation slot1: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.06 px
        deviation slot1: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.625000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.791419
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 152.97 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_223851.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom left to right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.56 px
        deviation slot0: 0.38 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.29 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.72 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.15 px
        deviation slot1: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.297370
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 2.000000
        criteria_str: <= 1.8, ~ +1.0
    score: 0.904508
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': -3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 149.22 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.left_to_right.normal-link-fw_1.0.AA-robot-20130806_223904.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.56 px
        deviation slot0: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.87 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.86 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.68 px
        deviation slot1: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 150.33 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_223917.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.11 px
        deviation slot0: 0.31 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 8.87 px
        deviation slot0: 0.44 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.76 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 7.28 px
        deviation slot1: 0.36 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.04 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_223931.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.51 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.49 px
        deviation slot0: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.09 px
        deviation slot1: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 7.14 px
        deviation slot1: 0.36 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.07 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.slow-link-fw_1.0.AA-robot-20130806_223945.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.14 px
        deviation slot0: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.94 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.87 px
        deviation slot1: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.83 px
        deviation slot1: 0.24 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.272727
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.500000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 150.53 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_223959.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.38 px
        deviation slot0: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.02 px
        deviation slot0: 0.25 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.48 px
        deviation slot1: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 4.67 px
        deviation slot1: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.333333
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.608880
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.69 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_224012.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mhorizontal[0m line [1;32mfrom right to left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.57 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.61 px
        deviation slot0: 0.33 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.10 px
        deviation slot1: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.07 px
        deviation slot1: 0.25 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.500000
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.497124
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'X': 5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 153.83 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.right_to_left.normal-link-fw_1.0.AA-robot-20130806_224024.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.77 px
        deviation slot0: 0.14 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.41 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.28 px
        deviation slot1: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 7.25 px
        deviation slot1: 0.36 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.04 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_224036.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.30 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.96 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.70 px
        deviation slot1: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 8.66 px
        deviation slot1: 0.43 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.13 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_224050.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.01 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.12 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.68 px
        deviation slot1: 0.33 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 10.65 px
        deviation slot1: 0.53 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.65 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.slow-link-fw_1.0.AA-robot-20130806_224103.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.35 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.01 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.30 px
        deviation slot1: 0.32 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.61 px
        deviation slot1: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.233171
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.111111
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.26 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_224116.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.95 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.25 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.84 px
        deviation slot1: 0.39 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.47 px
        deviation slot1: 0.32 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.240347
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.562050
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.08 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_224129.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom top to bottom[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.14 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.36 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.91 px
        deviation slot1: 0.40 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.44 px
        deviation slot1: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.306094
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.504069
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.26 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_to_bottom.normal-link-fw_1.0.AA-robot-20130806_224141.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.43 px
        deviation slot0: 0.07 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.33 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.37 px
        deviation slot1: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.84 px
        deviation slot1: 0.34 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.96 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_224153.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.56 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.06 px
        deviation slot0: 0.05 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.34 px
        deviation slot1: 0.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.24 px
        deviation slot1: 0.31 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.61 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_224207.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 1.63 px
        deviation slot0: 0.08 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.05 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.96 px
        deviation slot1: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.96 px
        deviation slot1: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.57 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.slow-link-fw_1.0.AA-robot-20130806_224220.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.38 px
        deviation slot0: 0.12 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.49 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.00 px
        deviation slot1: 0.25 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 8.02 px
        deviation slot1: 0.40 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.129541
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.421267
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 142.08 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_224232.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 2.14 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.26 px
        deviation slot0: 0.06 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.28 px
        deviation slot1: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.00 px
        deviation slot1: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.970943
        criteria_str: <= 1.8, ~ +1.0
    score: 0.929615
    

    NoGapValidator
        Largest gap ratio slot1: 1.503330
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.07 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_224245.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mvertical[0m line [1;32mfrom bottom to top[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.61 px
        deviation slot0: 0.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 0.91 px
        deviation slot0: 0.05 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.14 px
        deviation slot1: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 5.13 px
        deviation slot1: 0.26 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot0: 1.066667
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.236932
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 143.09 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_to_top.normal-link-fw_1.0.AA-robot-20130806_224257.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.31 px
        deviation slot0: 0.32 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 6.05 px
        deviation slot0: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.29 px
        deviation slot1: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 32.63 px
        deviation slot1: 1.63 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.731980
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1, 'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 149.07 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_224310.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.43 px
        deviation slot0: 0.27 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.75 px
        deviation slot0: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.80 px
        deviation slot1: 0.24 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 35.51 px
        deviation slot1: 1.78 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.644758
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 148.68 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_224325.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.79 px
        deviation slot0: 0.29 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.72 px
        deviation slot0: 0.19 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.23 px
        deviation slot1: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 32.49 px
        deviation slot1: 1.62 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.735944
    

    NoGapValidator
        Largest gap ratio slot0: 1.627882
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': -1} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 148.61 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.slow-link-fw_1.0.AA-robot-20130806_224340.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.50 px
        deviation slot0: 0.37 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.37 px
        deviation slot0: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.19 px
        deviation slot1: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 29.01 px
        deviation slot1: 1.45 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.829411
    

    NoGapValidator
        Largest gap ratio slot0: 1.527055
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.656094
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 150.05 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_224355.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 7.40 px
        deviation slot0: 0.37 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.90 px
        deviation slot0: 0.15 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.46 px
        deviation slot1: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 25.69 px
        deviation slot1: 1.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.902797
    

    NoGapValidator
        Largest gap ratio slot0: 1.351882
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 2.178193
        criteria_str: <= 1.8, ~ +1.0
    score: 0.686698
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 2, 'X': -3} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 152.82 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_224408.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom bottom left to top right[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.76 px
        deviation slot0: 0.34 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.55 px
        deviation slot0: 0.13 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.31 px
        deviation slot1: 0.17 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 32.68 px
        deviation slot1: 1.63 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.730469
    

    NoGapValidator
        Largest gap ratio slot0: 1.660910
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.600781
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 1, 'X': -2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 1, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 145.25 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.bottom_left_to_top_right.normal-link-fw_1.0.AA-robot-20130806_224421.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.21 px
        deviation slot0: 0.31 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.13 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.89 px
        deviation slot1: 0.29 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 24.30 px
        deviation slot1: 1.22 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.927940
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 151.43 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_224434.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 5.63 px
        deviation slot0: 0.28 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 1.99 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.03 px
        deviation slot1: 0.30 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 23.61 px
        deviation slot1: 1.18 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.939282
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 149.48 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_224448.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m3 seconds[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.84 px
        deviation slot0: 0.24 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.08 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.56 px
        deviation slot1: 0.23 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 21.83 px
        deviation slot1: 1.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.964072
    

    NoGapValidator
        Largest gap ratio slot0: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: -inf
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': -2, 'X': 2} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 150.63 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.slow-link-fw_1.0.AA-robot-20130806_224502.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 6.88 px
        deviation slot0: 0.34 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.06 px
        deviation slot0: 0.10 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.98 px
        deviation slot1: 0.25 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 21.72 px
        deviation slot1: 1.09 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.965410
    

    NoGapValidator
        Largest gap ratio slot0: 1.443707
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.719362
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 6} px
        criteria_str: <= 5, ~ +30
    score: 0.997261
    

    ReportRateValidator
        Report rate: 151.48 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_224516.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 8.34 px
        deviation slot0: 0.42 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 2.22 px
        deviation slot0: 0.11 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 3.94 px
        deviation slot1: 0.20 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 19.36 px
        deviation slot1: 0.97 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.987979
    

    NoGapValidator
        Largest gap ratio slot0: 1.562050
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 2.109989
        criteria_str: <= 1.8, ~ +1.0
    score: 0.781056
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 5} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 153.63 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_224529.dat)

    
[1;34m<two_finger_tracking>[0m:
    Take [1;32m1 second[0m to draw a [1;32mdiagonal[0m line [1;32mfrom top right to bottom left[0m using a ruler with TWO fingers at the same time.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 8.90 px
        deviation slot0: 0.45 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 3.12 px
        deviation slot0: 0.16 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(Middle)Validator
        ave fitting error: 4.25 px
        deviation slot1: 0.21 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 1.000000
    

    Linearity(BothEnds)Validator
        ave fitting error: 17.94 px
        deviation slot1: 0.90 mm
        criteria_str: <= 0.8, ~ +2.4
    score: 0.995975
    

    NoGapValidator
        Largest gap ratio slot0: 1.765686
        criteria_str: <= 1.8, ~ +1.0
    score: 1.000000
    

    NoGapValidator
        Largest gap ratio slot1: 1.914104
        criteria_str: <= 1.8, ~ +1.0
    score: 0.968218
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0, 'X': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0, 'X': 4} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 153.71 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tracking.top_right_to_bottom_left.normal-link-fw_1.0.AA-robot-20130806_224542.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom top to bottom[0m.
    

    CountPacketsValidator
        Number of packets slot0: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 43
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.07 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.top_to_bottom-link-fw_1.0.AA-robot-20130806_224554.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom top to bottom[0m.
    

    CountPacketsValidator
        Number of packets slot0: 26
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 43
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 141.73 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.top_to_bottom-link-fw_1.0.AA-robot-20130806_224606.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom top to bottom[0m.
    

    CountPacketsValidator
        Number of packets slot0: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.62 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.top_to_bottom-link-fw_1.0.AA-robot-20130806_224617.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom bottom to top[0m.
    

    CountPacketsValidator
        Number of packets slot0: 34
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.14 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.bottom_to_top-link-fw_1.0.AA-robot-20130806_224628.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom bottom to top[0m.
    

    CountPacketsValidator
        Number of packets slot0: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.56 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.bottom_to_top-link-fw_1.0.AA-robot-20130806_224639.dat)

    
[1;34m<two_finger_swipe>[0m:
    Use TWO fingers to quickly swipe [1;32mfrom bottom to top[0m.
    

    CountPacketsValidator
        Number of packets slot0: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountPacketsValidator
        Number of packets slot1: 44
        criteria_str: >= 3, ~ -3
    score: 1.000000
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot0: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    NoReversedMotion(Middle)Validator
        Reversed motions slot1: {'Y': 0} px
        criteria_str: <= 5, ~ +30
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.32 Hz
        criteria_str: >= 60
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_swipe.bottom_to_top-link-fw_1.0.AA-robot-20130806_224650.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mhorizontally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 137.53 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 3 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.horizontal-link-fw_1.0.AA-robot-20130806_224701.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mhorizontally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 128.42 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 3 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.horizontal-link-fw_1.0.AA-robot-20130806_224712.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mhorizontally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 127.60 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.horizontal-link-fw_1.0.AA-robot-20130806_224722.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mvertically[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 136.52 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.vertical-link-fw_1.0.AA-robot-20130806_224733.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mvertically[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 126.83 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 0 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.vertical-link-fw_1.0.AA-robot-20130806_224743.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mvertically[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 111.14 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.vertical-link-fw_1.0.AA-robot-20130806_224753.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mdiagonally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 128.25 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.diagonal-link-fw_1.0.AA-robot-20130806_224802.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mdiagonally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 129.93 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.diagonal-link-fw_1.0.AA-robot-20130806_224813.dat)

    
[1;34m<two_finger_tap>[0m:
    Use two fingers aligned [1;32mdiagonally[0m to tap the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 1-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 0
        criteria_str: == 0
    score: 1.000000
    

    ReportRateValidator
        Report rate: 129.05 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 1 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 2 px
        criteria_str: <= 20, ~ +20
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_finger_tap.diagonal-link-fw_1.0.AA-robot-20130806_224823.dat)

    
[1;34m<two_fingers_physical_click>[0m:
    Use two fingers physically click the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 140.22 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 4 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 10 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_fingers_physical_click-link-fw_1.0.AA-robot-20130806_224834.dat)

    
[1;34m<two_fingers_physical_click>[0m:
    Use two fingers physically click the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 140.30 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 2 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 10 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_fingers_physical_click-link-fw_1.0.AA-robot-20130806_224846.dat)

    
[1;34m<two_fingers_physical_click>[0m:
    Use two fingers physically click the center of the touch surface.
    

    CountTrackingIDValidator
        count of trackid IDs: 2
        criteria_str: == 2
    score: 1.000000
    

    PhysicalClickValidator
        Count of 2-finger physical clicks: 1
        criteria_str: == 1
    score: 1.000000
    

    ReportRateValidator
        Report rate: 138.66 Hz
        criteria_str: >= 60
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot0: 3 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    

    StationaryFingerValidator
        Largest distance slot1: 8 px
        criteria_str: <= 100, ~ +100
    score: 1.000000
    (saved: /var/tmp/touch_firmware_test/20130806_221321-fw_1.0.AA-robot/two_fingers_physical_click-link-fw_1.0.AA-robot-20130806_224857.dat)

    
Final score: 0.991224474831

