autotest: servo.py: retry checking of recently set GPIOs
During debug of a FAFT flakiness we discovered that occasionally the setting of
warm_reset quietly failed its assertion. Turns out its due to the slow edge rate
of the pull-up and a fast read by servod to check the result.
This CL adds a retry loop for the read allowing for a maximum of a 1 second
settling time. It re-checks the value every 100ms in order to not overly delay
faster GPIOs.
For the the particular GPIO, warm_reset, I see only one retry when necessary and
its seen only 1 out of 4 times that I transistion warm_reset to off.
BUG=chromium-os:26808
TEST=run FAFT suite successfully via,
./run_remote_tests.sh suites/control.faft -a \
'servo_serial=498432-00031 xml_config=servo_stumpy_overlay.xml' \
--remote=<remote>
Change-Id: I57d363ebd6ef429e20b01d9f5d783576cc93ee42
Reviewed-on: https://gerrit.chromium.org/gerrit/16742
Reviewed-by: Todd Broch <tbroch@chromium.org>
Tested-by: Todd Broch <tbroch@chromium.org>
Commit-Ready: Todd Broch <tbroch@chromium.org>
1 file changed