faft: Speed up the waiting time for dev screen and sync

Waiting for a dev screen and pressing Ctrl-D is a recurrent action.
Booting to a dev screen is a bit faster than other firmware screens,
like recovery insert screen. We can make the dev screen a separated
case from other firmware screens for speed-up. It can save 3 seconds
each time.

Also the sync delay can be faster, from 5 seconds to 2 seconds.

BUG=chromium-os:34392
TEST=run FAFT suite on Link and the dev screen timing is correct.

Change-Id: I377494cc44b4bb9ca3e2d2addee3cb34a2d511d0
Reviewed-on: https://gerrit.chromium.org/gerrit/38630
Reviewed-by: Vic Yang <victoryang@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
diff --git a/server/cros/faft_delay_constants.py b/server/cros/faft_delay_constants.py
index 1675aff..c4c34c3 100644
--- a/server/cros/faft_delay_constants.py
+++ b/server/cros/faft_delay_constants.py
@@ -8,6 +8,8 @@
 
     # Delay between power-on and firmware screen
     firmware_screen = 10
+    # Delay between power-on and dev screen
+    dev_screen = 7
     # Delay between keypresses in firmware screen
     confirm_screen = 3
     # Delay between passing firmware screen and text mode warning screen
@@ -21,7 +23,7 @@
     # Delay between USB plug-out and plug-in
     between_usb_plug = 10
     # Delay after running the 'sync' command
-    sync = 5
+    sync = 2
     # Delay for waiting client to shutdown
     shutdown = 30
     # Delay for waiting client to return before sending EC reboot command
@@ -59,3 +61,4 @@
 
         if platform == 'Link':
             self.firmware_screen = 7
+            self.dev_screen = 4
diff --git a/server/cros/faftsequence.py b/server/cros/faftsequence.py
index 6121e9e..0c781ed 100644
--- a/server/cros/faftsequence.py
+++ b/server/cros/faftsequence.py
@@ -589,7 +589,7 @@
             # If changing FORCE_DEV_SWITCH_ON flag, reboot to get a clear state
             if ((gbb_flags ^ new_flags) & vboot.GBB_FLAG_FORCE_DEV_SWITCH_ON):
                 self.run_faft_step({
-                    'firmware_action': self.wait_fw_screen_and_ctrl_d,
+                    'firmware_action': self.wait_dev_screen_and_ctrl_d,
                 })
 
 
@@ -828,6 +828,12 @@
             self.servo.enter_key()
 
 
+    def wait_dev_screen_and_ctrl_d(self):
+        """Wait for firmware warning screen and press Ctrl-D."""
+        time.sleep(self.delay.dev_screen)
+        self.press_ctrl_d()
+
+
     def wait_fw_screen_and_ctrl_d(self):
         """Wait for firmware warning screen and press Ctrl-D."""
         time.sleep(self.delay.firmware_screen)
@@ -1032,7 +1038,7 @@
         """
         # Change the default firmware_action for dev mode passing the fw screen.
         self.register_faft_template({
-            'firmware_action': (self.wait_fw_screen_and_ctrl_d if dev_mode
+            'firmware_action': (self.wait_dev_screen_and_ctrl_d if dev_mode
                                 else None),
         })
         if dev_mode:
diff --git a/server/site_tests/firmware_DevMode/firmware_DevMode.py b/server/site_tests/firmware_DevMode/firmware_DevMode.py
index ef4a22c..9b63d6d 100644
--- a/server/site_tests/firmware_DevMode/firmware_DevMode.py
+++ b/server/site_tests/firmware_DevMode/firmware_DevMode.py
@@ -32,7 +32,7 @@
                 }),
                 'userspace_action': self.enable_dev_mode_and_reboot,
                 'reboot_action': None,
-                'firmware_action': self.wait_fw_screen_and_ctrl_d,
+                'firmware_action': self.wait_dev_screen_and_ctrl_d,
             },
             {   # Step 2, expected developer mode boot and enable normal mode
                 'state_checker': (self.checkers.crossystem_checker, {
diff --git a/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py b/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
index 640e308..10b2dda 100644
--- a/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
+++ b/server/site_tests/firmware_DevModeStress/firmware_DevModeStress.py
@@ -71,7 +71,7 @@
                     'devsw_boot': '1',
                     'mainfw_type': 'developer',
                 }),
-                'firmware_action': self.wait_fw_screen_and_ctrl_d,
+                'firmware_action': self.wait_dev_screen_and_ctrl_d,
             },
             {   # Step 2, verify dev mode after soft reboot
                 'state_checker': (self.checkers.crossystem_checker, {