mirror of https://github.com/ARMmbed/mbed-os.git
Added reset option to host_test so in the future we can use different reset type, e.g. touch reset.txt on systems like MPS2 boards
parent
d9fbefd373
commit
d5b7006223
|
@ -22,11 +22,11 @@ except ImportError, e:
|
||||||
print "Error: Can't import 'serial' module: %s"% e
|
print "Error: Can't import 'serial' module: %s"% e
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
|
import os
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from sys import stdout
|
from sys import stdout
|
||||||
|
|
||||||
|
|
||||||
class Mbed:
|
class Mbed:
|
||||||
"""
|
"""
|
||||||
Base class for a host driven test
|
Base class for a host driven test
|
||||||
|
@ -34,20 +34,34 @@ class Mbed:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
parser = OptionParser()
|
parser = OptionParser()
|
||||||
|
|
||||||
parser.add_option("-m", "--micro", dest="micro",
|
parser.add_option("-m", "--micro",
|
||||||
help="The target microcontroller ", metavar="MICRO")
|
dest="micro",
|
||||||
|
help="The target microcontroller ",
|
||||||
|
metavar="MICRO")
|
||||||
|
|
||||||
parser.add_option("-p", "--port", dest="port",
|
parser.add_option("-p", "--port",
|
||||||
help="The serial port of the target mbed (ie: COM3)", metavar="PORT")
|
dest="port",
|
||||||
|
help="The serial port of the target mbed (ie: COM3)",
|
||||||
|
metavar="PORT")
|
||||||
|
|
||||||
parser.add_option("-d", "--disk", dest="disk",
|
parser.add_option("-d", "--disk",
|
||||||
help="The target disk path", metavar="DISK_PATH")
|
dest="disk",
|
||||||
|
help="The target disk path",
|
||||||
|
metavar="DISK_PATH")
|
||||||
|
|
||||||
parser.add_option("-t", "--timeout", dest="timeout",
|
parser.add_option("-t", "--timeout",
|
||||||
help="Timeout", metavar="TIMEOUT")
|
dest="timeout",
|
||||||
|
help="Timeout",
|
||||||
|
metavar="TIMEOUT")
|
||||||
|
|
||||||
parser.add_option("-e", "--extra", dest="extra",
|
parser.add_option("-e", "--extra",
|
||||||
help="Extra serial port (used by some tests)", metavar="EXTRA")
|
dest="extra",
|
||||||
|
help="Extra serial port (used by some tests)",
|
||||||
|
metavar="EXTRA")
|
||||||
|
|
||||||
|
parser.add_option("-r", "--reset",
|
||||||
|
dest="forced_reset_type",
|
||||||
|
help="Forces different type of reset")
|
||||||
|
|
||||||
(self.options, _) = parser.parse_args()
|
(self.options, _) = parser.parse_args()
|
||||||
|
|
||||||
|
@ -112,7 +126,19 @@ class Mbed:
|
||||||
result = False
|
result = False
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def touch_file(self, path, name):
|
||||||
|
with os.open(path, 'a'):
|
||||||
|
os.utime(path, None)
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
""" reboot.txt - startup from standby state, reboots when in run mode.
|
||||||
|
shutdown.txt - shutdown from run mode
|
||||||
|
reset.txt - reset fpga during run mode """
|
||||||
|
if self.options.forced_reset_type:
|
||||||
|
path = os.path.join([self.disk, self.options.forced_reset_type.lower()])
|
||||||
|
if self.options.forced_reset_type.endswith('.txt'):
|
||||||
|
self.touch_file(path)
|
||||||
|
else:
|
||||||
self.safe_sendBreak(self.serial) # Instead of serial.sendBreak()
|
self.safe_sendBreak(self.serial) # Instead of serial.sendBreak()
|
||||||
# Give time to wait for the image loading
|
# Give time to wait for the image loading
|
||||||
sleep(2)
|
sleep(2)
|
||||||
|
|
Loading…
Reference in New Issue