Add robot support for 2f tap tests in fw test
This CL adds the robot control and interpretation scripts
required to automate the 2 finger tap tests.
BUG=chromium:474709
TEST=manual
Change-Id: I89407ab47ee9d3ec4d7108625601e291d39c66b1
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/269151
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
diff --git a/gesture_interpreter.py b/gesture_interpreter.py
index d585469..7496bcc 100644
--- a/gesture_interpreter.py
+++ b/gesture_interpreter.py
@@ -67,7 +67,7 @@
tests.GV.SLOW: Touchbot.SPEED_SLOW,
}
-PINCH_ANGLES = {
+ANGLES = {
tests.GV.HORIZONTAL: 0,
tests.GV.VERTICAL: 90,
tests.GV.DIAGONAL: 45,
@@ -88,6 +88,8 @@
fn = lambda: _PerformStationaryNoiseTest(variation, robot, device_spec)
elif test.name == tests.ONE_FINGER_TAP:
fn = lambda: _PerformOneFingerTapTest(variation, robot, device_spec)
+ elif test.name == tests.TWO_FINGER_TAP:
+ fn = lambda: _PerformTwoFingerTapTest(variation, robot, device_spec)
elif test.name in SINGLE_FINGER_LINE_TESTS:
pause = 1 if test.name == tests.ONE_FINGER_TRACKING_FROM_CENTER else 0
fn = lambda: _PerformOneFingerLineTest(variation, robot, device_spec, pause)
@@ -109,14 +111,24 @@
frequency, amplitude, waveform, location = variation
tap_position = LOCATION_COORDINATES[location]
fingertip = robot.fingertips[STANDARD_FINGERTIP]
- robot.SingleTipTap(device_spec, fingertip, tap_position, touch_time_s=4)
+ robot.Tap(device_spec, [fingertip], tap_position, touch_time_s=4)
def _PerformOneFingerTapTest(variation, robot, device_spec):
location, = variation
tap_position = LOCATION_COORDINATES[location]
fingertip = robot.fingertips[STANDARD_FINGERTIP]
- robot.SingleTipTap(device_spec, fingertip, tap_position)
+ robot.Tap(device_spec, [fingertip], tap_position)
+
+
+def _PerformTwoFingerTapTest(variation, robot, device_spec):
+ angle, = variation
+
+ fingertip1 = robot.fingertips[STANDARD_FINGERTIP]
+ fingertip2 = robot.fingertips[STANDARD_SECONDARY_FINGERTIP]
+ fingertips = [fingertip1, fingertip2]
+
+ robot.Tap(device_spec, fingertips, (CENTER, CENTER), angle=ANGLES[angle])
def _PerformOneFingerLineTest(variation, robot, device_spec, pause_time_s):
@@ -175,6 +187,6 @@
start_distance, end_distance = min_spread, max_spread
robot.PushSpeed(SPEEDS[tests.GV.NORMAL])
- robot.Pinch(device_spec, (CENTER, CENTER), PINCH_ANGLES[angle],
+ robot.Pinch(device_spec, (CENTER, CENTER), ANGLES[angle],
start_distance, end_distance)
robot.PopSpeed()