13
13
# See the License for the specific language governing permissions and
14
14
# limitations under the License.
15
15
16
+ import time
16
17
from .. import DEFAULT_BAUD_RATE
17
18
from .conn_primitive import ConnectorPrimitive
18
19
@@ -30,6 +31,7 @@ def __init__(self, name, config, importer=__import__):
30
31
self .platform_name = config .get ('platform_name' , None )
31
32
self .baudrate = config .get ('baudrate' , DEFAULT_BAUD_RATE )
32
33
self .image_path = config .get ('image_path' , None )
34
+ self .forced_reset_timeout = config .get ('forced_reset_timeout' , 0 )
33
35
self .allocate_requirements = {
34
36
"platform_name" : self .platform_name ,
35
37
"power_on" : True ,
@@ -111,7 +113,7 @@ def __remote_disconnect(self):
111
113
except Exception as error :
112
114
self .logger .prn_err ("RemoteConnectorPrimitive.disconnect() failed, reason: " + str (error ))
113
115
114
- def __remote_reset (self ):
116
+ def __remote_reset (self , delay = 0 ):
115
117
"""! Use GRM remote API to reset DUT """
116
118
self .logger .prn_inf ("remote resources reset..." )
117
119
if not self .selected_resource :
@@ -123,6 +125,11 @@ def __remote_reset(self):
123
125
self .logger .prn_inf ("reset() failed" )
124
126
raise
125
127
128
+ # Post-reset sleep
129
+ if delay :
130
+ self .logger .prn_inf ("waiting %.2f sec after reset" % delay )
131
+ time .sleep (delay )
132
+
126
133
def __remote_flashing (self , filename , forceflash = False ):
127
134
"""! Use GRM remote API to flash DUT """
128
135
self .logger .prn_inf ("remote resources flashing with '%s'..." % filename )
@@ -184,7 +191,7 @@ def finish(self):
184
191
self .__remote_release ()
185
192
186
193
def reset (self ):
187
- self .__remote_reset ()
194
+ self .__remote_reset (delay = self . forced_reset_timeout )
188
195
189
196
def __del__ (self ):
190
197
self .finish ()
0 commit comments