Improvements in the Servo Autotest library. Fixed pwr_button hold times
to match official values and added cold_reset, warm_reset, dev_mode, and
rec_mode methods.
BUG=none
TEST=manually tested on servo and partner device
Change-Id: I4e58abfb48371cf3c8983cf5b2779efd78aafb1a
Reviewed-on: http://gerrit.chromium.org/gerrit/3356
Reviewed-by: Nirnimesh <nirnimesh@chromium.org>
Reviewed-by: Craig Harrison <craigdh@google.com>
Tested-by: Craig Harrison <craigdh@google.com>
diff --git a/server/cros/servo.py b/server/cros/servo.py
index 1372c3f..5237527 100755
--- a/server/cros/servo.py
+++ b/server/cros/servo.py
@@ -55,8 +55,8 @@
def power_normal_press(self):
- """Simulate a normal (1 sec) power button press."""
- self.power_key(1)
+ """Simulate a normal (2 sec) power button press."""
+ self.power_key(2)
def power_short_press(self):
@@ -70,7 +70,7 @@
Args:
secs: Time in seconds to simulate the keypress.
"""
- self.set('pwr_button', 'press')
+ self.set_nocheck('pwr_button', 'press')
time.sleep(secs)
self.set('pwr_button', 'release')
@@ -140,6 +140,26 @@
self.set_nocheck('kbd_en', 'off')
+ def enable_recovery_mode(self):
+ """Enable recovery mode on device."""
+ self.set('rec_mode', 'on')
+
+
+ def disable_recovery_mode(self):
+ """Disable recovery mode on device."""
+ self.set('rec_mode', 'off')
+
+
+ def enable_development_mode(self):
+ """Enable development mode on device."""
+ self.set('dev_mode', 'on')
+
+
+ def disable_development_mode(self):
+ """Disable development mode on device."""
+ self.set('dev_mode', 'off')
+
+
def boot_devmode(self):
"""Boot a dev-mode device that is powered off."""
self.set('pwr_button', 'release')
@@ -155,12 +175,24 @@
time.sleep(17)
- def _init_seq_cold_reset_devmode(self):
- """Cold reset, init device, and boot in dev-mode."""
- self._cold_reset()
- self._init_seq()
- self.set('dev_mode', 'on')
- self.boot_devmode()
+ def cold_reset(self):
+ """Perform a cold reset of the EC.
+
+ Has the side effect of shutting off the device.
+ """
+ self.set('cold_reset', 'on')
+ time.sleep(2)
+ self.set('cold_reset', 'off')
+
+
+ def warm_reset(self):
+ """Perform a warm reset of the device.
+
+ Has the side effect of restarting the device.
+ """
+ self.set('warm_reset', 'on')
+ time.sleep(2)
+ self.set('warm_reset', 'off')
def get(self, gpio_name):
@@ -182,6 +214,14 @@
self._server.set(gpio_name, gpio_value)
+ def _init_seq_cold_reset_devmode(self):
+ """Cold reset, init device, and boot in dev-mode."""
+ self.cold_reset()
+ self._init_seq()
+ self.set('dev_mode', 'on')
+ self.boot_devmode()
+
+
def __del__(self):
"""Kill the Servod process."""
assert self._servod
@@ -223,16 +263,6 @@
self.set('rec_mode', 'off')
- def _cold_reset(self):
- """Perform a cold reset of the EC.
-
- Has the side effect of shutting off the device.
- """
- self.set('cold_reset', 'on')
- time.sleep(2)
- self.set('cold_reset', 'off')
-
-
def _connect_servod(self, servo_port=''):
"""Connect to the Servod process with XMLRPC.