History log of /external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ab03ed85a8ca7f99608e872d0717c53d3742d031 03-Oct-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: fix handling of no-variation tests

Some tests have no variations, so the variation object is None, which
can result in some crashes since the script was assuming that they were
strings. This patch checks for None before trying to determine what it
should do with the function generator to prevent crashes.

BUG=none
TEST=manually tested

Change-Id: Ieb507b2fca6b478e257ac33cfad1f36cbc94c3d3
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/221431
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
42bc23b188cdf856d24494842909ac0e0930b257 19-Sep-2014 Charlie Mooney <charliemooney@chromium.org> Add a manual noise test mode to the Touch FW tests

Elan wants to reproduce our robotic noise test using their robot. After
some brainstorming with them on the best way to do this, we devided that
actually making a mode that does the noise test "manually" would
probably be easiest. Then they can program their robot to simply touch
the pad for a few seconds, raise up, wait a few more seconds, and then
hit the spacebar. It should work just fine I think and is a lot easier
than rewriting the robot wrapper classes to support their robot.

This CL adds a new flag "-f" that allows you to indicate to the test
suite that you do, in fact have a function generator attached even
though the robot may not be connected. So to run the extended noise
test manually you would run:

DISPLAY=:0 python main.py -m NOISE -f

The test will controll the function generator automatically for you, and
then you are manually required to perform the gesture.

BUG=chromium:416062
TEST=manual testing. The new mode works and the regular modes that
existed before seem to still work as expect as well

Change-Id: I12110ca30422f0d3f7455654253675834fc19d9c
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/219101
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
d709ccc114fd7e4ffd21abcb160181d2d12243d4 16-Aug-2014 Mindy Huang <mindyh@chromium.org> Added a new validator that discards the initial seconds of data before
validation.

The new validator can wrap around any generic validator, and the number
of seconds to discard can be specified.

The validator simply strips the first second and prepends
the end state of the discarded second onto the stripped data. This
throws away all events that happened within the first second, but keeps
all events that persist after the first second.

The noise tests also now have a one second pause at the beginning of
each test to allow the touchpad to calibrate against the noise.

BUG=chromium:404265
TEST=Manually and with robot

Change-Id: I6d6a0c40f4cb106185c7cc084fca3b459dd49c3c
Signed-off-by: Mindy Huang <mindyh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/212763
Reviewed-by: Charles Mooney <charliemooney@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
b0612e11b87281c1ab8ab95d3c47de2601a9df26 16-Jul-2014 Mindy Huang <mindyh@chromium.org> Added a noise mode to the robot.

In noise mode, the robot does a fine-grain frequency test on the device.
It sweeps from 0Hz to 1MHz in 400Hz intervals, for a total of 2500 tests
in about 4 hours.

BUG=chromium:394075
TEST=Manually with robot on a lumpy

Change-Id: Iaf5901923f42cbd41c0a263a0431b512f6cdbb36
Signed-off-by: Mindy Huang <mindyh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/208485
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
a8b149d119a2a0cf7d7e403bc3df7cc9f34cdc8c 09-Jul-2014 Mindy Huang <mindyh@google.com> Added noise tests for line drawing and stationary touches to the touch firmware test suite.

The added line test draws diagonal lines with square waves in noise at 5kHz, 500kHz, and 1Mhz.
The added stationary touch test holds the finger still at various points on the touchpad while sending
square waves in noise at 5kHz, 500kHz, and 1MHz.

BUG=chromium:392321
TEST=Tested with robot on a lumpy

Change-Id: I6b331346d11ca2c88510f16a92a27aefaf2d38b1
Signed-off-by: Mindy Huang <mindyh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/207167
Reviewed-by: Charles Mooney <charliemooney@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
7713cfeeb6d6d8b530b065063c432823324972b1 29-May-2014 Charlie Mooney <charliemooney@chromium.org> Update the robot wrapper to use new reset script

There is a patch up (that this CL depends on) that adds some additional
functionality to the touchbotII "reset.py" script and changes the
command line parameters for it. This allows the touchbot wrapper to
call it to move safely to the nest as well as to the pad, and this CL
takes advantage of that.

BUG=chromium:378859
TEST=manually ran the patched robot test and it worked
CQ-DEPEND=I39ae10afb60e4d22153af230d8254ff21545159f

Change-Id: I0b566b6c1b59f59bdab3aa0d18b5f5b60bd58610
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/202125
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
57dfff80b306facc6a00cf5dadf5eb510d731f8d 28-May-2014 Charlie Mooney <charliemooney@chromium.org> Fix the device_spec paths for touchbot tests

There was a duplicated folder in the path the touchbot test was
searching for the device specs in. This would cause it not to find them
and recalibrate when it didn't really need to. This patch removes the
extra "touchbotII" from the path.

BUG=chromium:378818
TEST=manually tested

Change-Id: I95d455bff555c137c0b4379fe74fb561d213db40
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/202064
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
2cbb23bb88733c3e0a40f7d17681ed957b54ce27 13-May-2014 Charlie Mooney <charliemooney@chromium.org> Add a quickstep flag to the touch FW test

It's common to want to check the latency of a system without running the
full (long) FW test on it. This CL adds a nice, simple way to do that
without having to know how the code works and comment out parts you
don't want. Now there is an additional '-q' or '--quickstep' flag you
can pass to the test suite when you run it. If you do it overrides the
list of gestures and only runs the latency test.

BUG=chromium:372895
TEST=I used it both with and without the flag and it seems to do the
job.

Change-Id: Ia05b771c00341447e253d56a13a7c08e967d8401
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/199495
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
b303ff6045efbf89b2177565a9298d30b0d16f48 14-May-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW Test: recover from dropped fingertips

Currently the robot will raise exceptions when it looses track of the
fingertips currently equipped. This is a safe, but very frustrating
policy since it halts the whole test, and it must be restarted.

This CL adds some code that instead of raising exceptions in this case,
simple pauses the test until the operator manually configures the robot
and tells it that it's safe to continue. This is slightly less safe,
since the operator could make a mistake, but if we're careful it should
be fine, and it should make things less frustrating to run.
Additionally, there are some scary warnings that pop up when this
happens so hopefully anyone who isn't 100% sure of what they're doing at
this point will contact someone who does.

BUG=chromium:373380
TEST=I forced the robot to get confused and it was handled gracefully

Change-Id: Ia2dcf05c47a521b5694a46681c7425e1e341764f
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/199798
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
fa49c137f67ad27a034cff23472a4a0d52fc070f 05-May-2014 Charlie Mooney <charliemooney@chromium.org> Add the reset script back into touchbotII wrapper

Somehow the reset script got removed from the touchbotII wrapper so the
robot was calling it a little close when returning to the touchpad of
the device it's testing. This CL adds it back in, so now after getting
new fingertips the robot will lift up and away before trying to run the
next gesture to reduce the likelyhood of collisions.

BUG=none
TEST=I just used this version for a test and it worked great

Change-Id: I256862bcba978994ed80b9c8a7733b6820659bc3
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/198195
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
bfd222d9cb8b6d0d651ed2ec74f73195718a9e36 11-Apr-2014 Charlie Mooney <charliemooney@chromium.org> Adjust finger position to prevent collisions

Since the robot used relative coordinates that scale based on the size
of the touchpad being tested, for smaller touchpads the fingers can
sometimes bump into eachother. This causes a weird bend in the logs and
frankly is just not what we're going for.

This CL adds in some logic to the touch robot test that trying to take
into consideration the size of the touchpad before proceeding and
adjusts the stationary finger's position if it's too close/far away.

BUG=chromium:354593
TEST=manual testing

Change-Id: If2d3ee3da7a37e902c0a06f69ea6cdb6395526cf
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/198420
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
b9a9fd10e2542b3052d83b00977fcae511a6fb65 25-Mar-2014 Charlie Mooney <charliemooney@chromium.org> Check for existing device specs before calibrating

Until now every time you ran a touch fw test with the robot, you would
have to manually recalibrate the device. This invloved moving the
robot's fingers around to point to each of the corners of the touchpad
in turn so it can learn where the touch pad is, the size, etc. The
calibration process take time and opens up a lot of uncertainly and the
possiblity of a miscalibrated device damaging the robot.

This CL adds in some code that checks in a couple places for existing
device specs before making the operator manually recalibrate. The order
of preference is:
* The local directory (in case you ran this before, it keeps the specs
consistent across multiple runs)
* The touchbot device_specs directory, where we will be uploading
reference specs each time we test a new device so subsequent builds
will already have one saved.
* Manually recalibrate if all else fails

BUG=chromium:348174
TEST=I used this patch to kick off the test in all 3 scenarios and it
worked great.

Change-Id: Iddbe538c22ee7612fe053a250e7aad1f393899de
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/191525
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
fe5d5e85dfd5643bbb21ff9b1cb45a064b05ead4 26-Mar-2014 Charlie Mooney <charliemooney@chromium.org> Use the minimized device spec for quickstep tests

The robot was using the regular device specs for the quickstep tests in
the touch fw test. This could result in the robot knocking the laser
out of the way. This simple patch makes it use the minimized log.

BUG=none
TEST=Ran the FW test

Change-Id: Icf0d09e3bc1a0a0c36af637a495c492739706bfb
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/191519
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
3ceb6419c90576ba7df8cee03d4b42d38d1b6d00 05-Mar-2014 Charlie Mooney <charliemooney@chromium.org> Adding a drag-latency test to the Touch FW test

A drag latency test has been part of our touch qualification process for
a while now, but has always been run by hand. With Quickstep, this
should be able to be performed automatically as with any other
gesture/validator that we check. The operator will just need to set up
the laser across the pad before running the test.

This CL adds in the robot support for the Quickstep gesture and a new
validator that imports in the latency calculation software from the
touchbot project and computes the drag-latency using the touch data the
firmware collected and pulling the laser data out of the Quickstep sysfs
entries. If there is no Quickstep present, the test will report a
failing dummy value to indicate this, otherwise you would need the
Quickstep device to run the FW test, which is something we don't want to
be a requirement.

BUG=chromium:349174
TEST=Manually ran the test with and without the Quickstep plugged in and
the gesture ran smoothly and the computations worked without crashing

Change-Id: I638da3f837e86d6cf40da3e552c7d56b23e51ee1
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189502
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
91bd42f5aec2bd4086163ccec06c300747c3d9e8 28-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW Test: Remove unneeded flag for clicks

The click.py script was modified to no longer need the
--manual-fingertips flag to suppress the gesture's fingertip
manipulations. Now that is the default, so for the sake of cleanliness,
this CL removes the flag. It works with the flag too, just because the
script ignores it, but it's better not to leave it there if it's not
getting used.

BUG=chromium:347737
TEST=manual testing
CQ-DEPEND=I4f26f3e1bef0f4e0a637269868392d56da7bdcbb

Change-Id: Ic02e5113edb8d502c13b02db42e74a78745abb92
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/188410
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
386e07b489c13497bdbfe49689179a9234be18fb 28-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW Test: shorten the settling time between gestures

It turns out that the extra 2 seconds that the test was giving the robot
to settle between gestures is over-kill. The test itself takes some
time to process and the bug that this was originally attempting to fix
has since been fixed elsewhere. This patch just shortens the setting
pause to half a second from 2 seconds, saving 1.5s per gesture, which
can actually add up to several minutes on a full test since there are a
lot of gestures, especially when you repeat them all 3 times.

BUG=none
TEST=I ran the test, and everything still function, there was just a
shorter pause and things moved a little faster

Change-Id: Ida8f9ee996aebd9891be1898babdc733abef2023
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/188334
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
6c8e0425910a0b8bde3fedd4dbb6bfcd69b2270a 28-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW Test: fix 2f robot tap locations

The tap locations for 2f taps with the new robot were off-base.
Essentially they were a hold-over from the first robot which was
incapable of rotating. As a result the 2f tap gestures were
approximated by simply tapping in different spots on the pad instead of
rotating the orientation of the two fingers. The new robot is more than
capable of rotating, however, so this CL makes it actually tap at
different orientations and removes a little bit of cruft that's no
longer needed.

BUG=chromium:34049
TEST=I ran the test through all the tap/click gestures and they all
still worked and the 2f taps were at various angles instead of various
locations.

Change-Id: I07419b01d667ae225a35df05ed0d96407c2c6e56
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/188327
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
d8eebd84b931e4f98fc0d7a0899569478f70136b 27-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: do our own fingertip management for clicks

Previously the click gesture required that you start with no fingertips
selected and the gesture itself would take take of that for you. This
was okay-ish because there wasn't a system in place to make sure the
robot had the right fingers. Now, the touch FW test has progressed such
that we can tell it what fingers are expected for this gesture and it
will make sure that it's ready. By letting the FW test take care of the
fingertip selection, we save on fingertip swaps between repeated
instances of the same gesture. That is to say, between two runs of a
one-finger physical click, there's no reason to put the fingertip back,
and this makes that possible.

BUG=chromium:347737
TEST=manual testing

Change-Id: I9997058213300a05deb74c479cfa9c50cfa8fbd9
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/188257
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
26c71bf6a4fcd7dceef44b9abd534c288dbcd08e 19-Feb-2014 Yuli Huang <yuli@chromium.org> Touch FW test: robot fat finger w/ resting finger

This adds the support for the Fat finger + resting finger interaction
tests in the robot wrapper for the touch FW test. In this test the
robot uses a regular-size finger in a stationary position and then moves
the fat finger around. This CL adds the plumbing to allow this to
happen.

BUG=chromium:334460
TEST=I ran the tests and observed the robot

Change-Id: Ie7ac488319819261033e8971c20cc8bc507c9ca7
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187723
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
6aa260407561643fe714a72b1a9134d14b6c8bb9 19-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: Fail over robot lib directories

This CL changes the Touch FW test to check in the gmerge and cros deploy
directories first, when looking for the robot libraries. This way if
you update the version of the touchbot project on your machine it'll
still work they way you expected.

BUG=chromium:344921
TEST=deployed on a machine with gmerged touchbot libs and the FW test
worked

Change-Id: I4521f5ab1be70ac52aa9d096dcb61d0c8dbbc170
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187071
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
02902d82dbd62f806879f3768eb3f4764a913699 07-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: add robotic fat-finger support

The fingertip size selection process for the touchbot wrapper for the
touch FW test was somewhat crude before. All the gestures that it
supported all used the same size fingertips or no fingertips so it was
good enough to just have pretty basic logic.

This CL revamps the fingertip size selection logic to allow for
fat-finger tests, and enables the two-fat-finger-tracking test. Most of
the logic for this gesture already existed in the regular
two-finger-tracking test, so the majority of the CL is just setting up
the switching code to make it work. It's a little overkill for this
test, but should enable multi-sized gestures when we add them in the
future, which is coming soon.

BUG=chromium:334460
TEST=manually ran the FW test

Change-Id: I99f45f36d493d865b72b9e5499227e82a1e7a769
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/185391
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
d0b6063691338862dbc4fb63dfee1e5f2ea9671f 12-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Center the robot after changing the fingertips

The gestures immediately home to their first position. This is fine as
long as there's nothing in the way, as is the case when the robot's hand
never gets too far away from the pad. However, if the robot just went
to the fingertip nest to get a new set of fingertips, it's very possible
that it might clip the edge of the nest if the wrong gesture comes next,
the device is too close to the nest, or something is just in the way.

To try and alleviate this risk as much as possible, this CL adds a call
to the reset.py gesture after every time the robot gets a new set of
fingertips. This gesture causes the robot arm to lift up to a safe
height, move over the center of the touch device and then lower down.
As a result, this will avoid clipping the nest if it's too close, etc.

Additionally, this shouldn't add much time to the run since the arm
needs to move over there one way or the other, this just makes it lift
up first.

BUG=chromium:334073
TEST=ran the FW test and watched it work

Change-Id: I0f7114555439908c2d44136b61e0d1cf111c2ded
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/186446
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
aaa417ca50f36644c79b27df5962ff432df601d6 03-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Update the robot wrapper for new click format

The click.py argument format is changing to accomodate a finger size
parameter at the end. This means that for physical clicks the robot
needs to add a integer on to the end. This patch changes the robot
wrapper for the Touch firmware test to follow this new format for
physical clicks.

BUG=chromium:332473
TEST=Ran the FW test physical clicks with the new patches
CQ-DEPEND=Idfa4c7a7f783d3aa28c65d061a378f533d2ae4c1

Change-Id: I623e3f5d9273cf24c3af712db63dd03eb13139a2
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/184704
Reviewed-by: Dennis Kempin <denniskempin@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
d0fb182ac198c202b231577f131dd37d7f0a33a5 05-Feb-2014 Charlie Mooney <charliemooney@chromium.org> Touchbot II: support tapping and tracking

This CL adds support for the two gestures where one finger draws a
straight line diagonally across the pad and the other taps in the
corner. This is done by using the one_stationary_finger gesture which
has just had tapping capabilities added to it.

BUG=chromium:334460
TEST=Manual testing
CQ-DEPEND=I5f50cba58427ae5b81140041521ce1b5cdc81e46

Change-Id: Icb23f66541b1998ba612c4576894d74b1a5710d2
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/185044
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
f521d8961c62d9656720139ad94e21f2f8a04344 22-Jan-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: Add support for stationary/tap

The robot needs to know how to parse the gesture where it holds one
finger still and taps around it with a second finger. This CL adds in
the parsing code and informs the FW test suite that the robot is now
capable of performing this gesture.

BUG=chromium:334460
TEST=Manually tested by running the FW test suite with the robot
CQ-DEPEND=I869c749aa35832bd4ca071d7db588bc903c48692

Change-Id: Ie6672a64ff8a5bdb51b5760e1b6bb88925db1c20
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/183531
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
e45c790810d346dc77dfe1be6823ec6450349df5 22-Jan-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test -- use shrunken device spec

For the gestures that require fingers to be potentially widely spread
apart, the robot needs to use the shrunken version of the device spec
(_min.p) so that we know the robot can actually span the distance.
These gestures are the one-finger-stationary gestures and the pinch
gestures. This CL just changes their cmd line arguments to use the _min
spec instead of the regular full-screen spec in case it's too big.

BUG=chromium:336595
TEST=manually tested on a Link touchscreen and it worked great
CQ-DEPEND=Ibe5707aae3bbead727fd3491ba1d27985aa5b4c6

Change-Id: I4eb76857233575ab962730c6374558fa056cc7d1
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/183389
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
de12426329e9f08daf28cb5d16db9d70c8d096b4 15-Jan-2014 Charlie Mooney <charliemooney@chromium.org> touch fw test -- automated finger crossing tests

This adds automated robot support for the finger_crossing tests in the
touch firmware test. These are the tests where one finger is stationary
and the other finger moves closely past it.

BUG=chromium:334460
TEST=ran manually on a link

Change-Id: Ia2eb2ea61ab319f373de75e1754ba2a7f9332377
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/182668
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
1951e2b088fedc4c8fe9997a4ed4f9ba58858d79 15-Jan-2014 Charlie Mooney <charliemooney@chromium.org> Touch FW test: Support automated drumroll tests

This patch adds robot support for drumroll tests to the TouchMTB
firmware test.

BUG=chromium:334460
TEST=manually ran FW test with the robot and it worked

Change-Id: Ib0f20ad0be6833ab0467563e405d66eb718b06ad
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/182637
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
00779b9bd10d150d98f6d08f7f25a830a802a4f4 15-Jan-2014 Charlie Mooney <charliemooney@chromium.org> Touchbot II: close-finger tracking support

This adds robot support for the close two-finger tracking tests

BUG=chromium:334460
TEST=Ran the test on a link. The new gestures all parsed correctly and
the robot was able to perform them

Change-Id: Ifc0ba80cc2a9c9b365e527dacf9ca7cdbb14f3ec
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/182504
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
a44a9531f8dbd9c61d1f940397a816d628d4b369 29-Nov-2013 Joseph Hwang <josephsih@chromium.org> firmware_TouchMTB: add hysteresis validator and its related gesture

A new HysteresisValidator is added to check if there exists a
cursor jump initially. This happens when a finger starts moving,
the cursor keeps at the same position initially. While the finger
moves sufficiently far away, the cursor jumps suddenly to catch
up with the finger and then moves smoothly with the finger thereafter.

A new gesture for performing hysteresis test is also added to draw
lines to various directions with distinct speed.

Since this is a regular line-drawing gesture, the robot is ready
to perform it.

BUG=chromium:326658
TEST=All unit tests, including the new one for hysteresis test,
should pass.
$ cd /usr/local/autotest/tests/firmware_TouchMTB
$ python tests/run_all_unittests.py

Change-Id: Ib3dcd5fecb87e946e2e2b3665ddd0823d26f07a3
Reviewed-on: https://chromium-review.googlesource.com/179316
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
8144d1c6acae05eb2e878659908b88ec9b3aadf2 06-Dec-2013 Joseph Hwang <josephsih@chromium.org> firmware_TouchMTB: Pause only when in real robot mode

When in the robot simulation mode, i.e. robot_sim mode, there is
no need to pause for the robot to settle. This makes the simulation
mode to be more efficient.

BUG=chromium:326436
TEST=Perform the following steps
$ cd /usr/local/autotest/tests/firmware_TouchMTB

Change-Id: I74796f89fb94e893cee58d2eb7970ebb4bc2060c
Reviewed-on: https://chromium-review.googlesource.com/179035
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
99ed63374589484b5d15f519e208793634d13620 05-Dec-2013 Joseph Hwang <josephsih@chromium.org> firmware_TouchMTB: exit in case the RobotWrapperError is raised

For safety reason, it is better to exit when any robot related error
is encountered in the robot wrapper.

BUG=chromium:326415
TEST=None

Change-Id: I8ef5497d7cecba904f5472a29ed2d231d442b67c
Reviewed-on: https://chromium-review.googlesource.com/179034
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Tested-by: Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
3162c02ea4a2287fc77436ba28f2c9c83349b63e 05-Dec-2013 Charlie Mooney <charliemooney@chromium.org> Touch FW test: Never try use robot in MANUAL mode

Errors were showing up when the MANUAL portion of the test was being run
because the touchbotII robot wrapper was still trying to talk to the
robot even in manual mode. This CL just adds a check to immediately
abort any robot controls unless the FW test is in ROBOT mode and pushes
all if the robot logic into the robot wrapper to avoid confusion in
test_flow.py.

BUG=chromium:326237
TEST=Ran the test and the errors went away. The test worked fine too

Change-Id: Ic4fc607b799d88325d47eb7a7e2f86ba82acae0c
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/178970
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
af04554499f895a1d1c98e550558ae6118c3cde0 03-Dec-2013 Charlie Mooney <charliemooney@chromium.org> Robot support for all phys clicks in Touch FW test

This patch adds Robot support for all the remaining physical click tests
in the touch fw test. As the physical click gesture already exists,
this was just a matter of updating the robot wrapper to accept three and
four finger gestures and perform them on the pad.

BUG=chromium:325477
TEST=manual testing by running the FW test on a Lumpy

Change-Id: Ibae1724f1dd7b741a2cddf2afea2c6f1afab65d9
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/178635
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
4ed40ecbdc053a4b091a46dc9994452e9b531c56 03-Dec-2013 Charlie Mooney <charliemooney@chromium.org> Add Touchbot II support for pinch tests

The robot can do the pinch gestures for the fw test using the line.py
gesture that I've been using for the regular line/tracking/etc tests.
This CL adds support for pinch-zoom in the automated fw test.

BUG=chromium:325432
TEST=manually tested by running the FW test on a Lumpy

Change-Id: Ib6f04c31ce936416127ff6f3ddff3d6c729d1f55
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/178621
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
740925a35f5d69faef6ae142be3631b52fbe46bc 03-Dec-2013 Charlie Mooney <charliemooney@chromium.org> Touch FW Test: Add first stationary finger test

This patch adds support of the resting finger test to the robot portion
of the Touch FW test. This uses the new one_finger_stationary.py
gesture to execute the tests automatically where one finger is placed in
the bottom left corner and another finger draws a straight line.

BUG=chromium:324858
TEST=ran the FW test on the Touchbot II with the new gesture and it
worked great.
CQ-DEPEND=If60cc918e5b8790e2eb93ff31816b01cbb19fc81

Change-Id: Iff9f468b23228593445820176923886740b5689c
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/178567
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
c0d30cbdfb45cfb800689451f29fe37345c66f48 21-Nov-2013 Charlie Mooney <charliemooney@chromium.org> Switching the Touch FW test to the new Robot

The touchbotII robot wrapper has been under development for a while now
and seems to be quite functional. As such I would like to switch the
test over to use it now. This patch removed the old robot wrapper and
replaces it with the one for the new robot.

The current state of the robot test with the new robot is that it can do
the same tests that the old robot could. The only way to really iron
out the kinks in it now is to start actually using it, I think. More
tests will be added as this robot is much more flexible than the old
one, but replacing the old functionality was the first milestone here.

BUG=chromium:308162
TEST=I ran the full fw test using the new robot on a Lumpy in the lab
and everything worked.

Change-Id: Ife9bd73850511b4c131fc16d850e1798d686f662
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/177481
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
8a5ada4fd4267a0bb3018708f807b2243f35d53e 12-Nov-2013 Charlie Mooney <charliemooney@chromium.org> Add FW test support for the new phys click gesture

Touchbot II just had a new gesture added for physical clicks. This adds
in the structure in the wrapper for the touchpad firmware test so that
it can actually click. It leverages the existing "tap" code since they
share a lot of the same parameters.

BUG=chromium:308162
TEST=ran the FW test with the new robot and it clicked with 1 and 2
fingers just as planned

Change-Id: I1ddb36dc19ce90299516ab0a4ad1c2a30dd758ac
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/176406
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
5d704040eec1278d575b10c5fd6187f3c82d4261 24-Oct-2013 Charlie Mooney <charliemooney@chromium.org> Add Touchbot II support for swipes in FW test

This adds the plumbing into the Touch FW test to interface with
the Touchbot II and it's "swipe" gesture. Essentially this is just a
small modification of the line parsing to add an additional parameter to
the end. This also allows the basic lines to work with the newly
modified line.py gesture since it takes an additional parameter now that
the old version of this wasn't supplying.

BUG=chromium:308162
TEST=Manually ran the FW test with the robot and it parsed the gestures
and variations just fine and performed them on the pad.

Change-Id: I231f3631faff84cd6ca51094c7a70afe2c44afb6
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/174420
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
aa8d8220f8d351191a4728cc72ba697c7f221906 18-Oct-2013 Charlie Mooney <charliemooney@chromium.org> Add support for 1f and 2f taps to robot FW test

This adds in the plumbing for one and two finger tap tests on the new
touchbot. The drumroll.py script was renamed to tap.py, a generic
gesture that handle all things tap-related, so this puts helper
functions that make it do the right thing for these cases.

BUG=chromium:308162
TEST=ran tests with Touchbot II

Change-Id: Idd28ac8539e0995c774eba48bd59109cb2c84c64
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/173717
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py
792b83f92c3706b7cd5df2c69debc59a90c7d623 17-Oct-2013 Charlie Mooney <charliemooney@chromium.org> Initial add of a touchbotII robot_wrapper.py

Right now this module doesn't get used by anything as I want to maintain
the functionality of the FW test with the old robot until this one is
fully functional. As such, I've made a separate module that can easily
be swapped in for testing with just a couple manual changes. This way I
can work on this module next to the functioning one and once it's fully
in shape I can swap them permanently.

This is based heavily off robot_wrapper.py but I wanted to get eyes on
it before I went too far so this wouldn't turn into a monster of a code
review.

Essentially this is a robot wrapper that only supports 1&2f tracking
gestures and "rapid taps" by using the drumroll gesture and the line
gesture that have already been added to the touchbot control module. I
will be adding to this as I go filling in the gaps, until hopefully all
the current fw tests are included and more after that.

BUG=chromium:308162
TEST=run the robot test on a machine and it performed the enabled
gestures admirably when I swapped this file out for the existing
robot_wrapper and disabled the unsupported tests.

Change-Id: I417e03f55434b1000a9bb71ea8bfa17f9588ea95
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/173596
Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/client/site_tests/firmware_TouchMTB/touchbotII_robot_wrapper.py