Shorten Enter key press time when triggering recovery screen
This exposes the option of key press delay and use that to specify zero
delay for triggering recovery screen with Enter. This is to avoid
pressing Enter for too long and triggering a second key press.
BUG=chrome-os-partner:18959
TEST=Pass firmware_FwScreenPressPower
Change-Id: I2e29363b102222d4774d48e436a44845b477ae4e
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/49797
Reviewed-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index f4d9781..2d2942e 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -831,13 +831,13 @@
"Should specify the ctrl_u_cmd argument.")
- def press_enter(self):
+ def press_enter(self, press_secs=None):
"""Send Enter key to DUT."""
if not self.client_attr.has_keyboard:
logging.info('Running usbkm232-enter...')
os.system('usbkm232-enter')
else:
- self.servo.enter_key()
+ self.servo.enter_key(press_secs)
def wait_dev_screen_and_ctrl_d(self):
@@ -861,7 +861,10 @@
def wait_fw_screen_and_trigger_recovery(self, need_dev_transition=False):
"""Wait for firmware warning screen and trigger recovery boot."""
time.sleep(self.delay.firmware_screen)
- self.press_enter()
+
+ # Pressing Enter for too long triggers a second key press.
+ # Let's press it without delay
+ self.press_enter(press_secs=0)
# For Alex/ZGB, there is a dev warning screen in text mode.
# Skip it by pressing Ctrl-D.