24 def __init__(self, name, config, importer=__import__):
25 ConnectorPrimitive.__init__(self, name)
29 self.
grm_port = int(config.get(
'grm_port', 8000))
32 self.
baudrate = config.get(
'baudrate', DEFAULT_BAUD_RATE)
36 if self.
config.get(
"tags"):
38 for tag
in config[
"tags"].split(
','):
49 def __remote_init(self, importer):
50 """! Initialize DUT using GRM APIs """
55 except ImportError
as error:
56 self.
logger.prn_err(
"unable to load global resource manager '%s' module!" % self.
grm_module)
57 self.
logger.prn_err(str(error))
61 self.
logger.prn_inf(
"remote resources initialization: remote(host=%s, port=%s)" %
68 resources = self.
client.get_resources()
69 self.
logger.prn_inf(
"remote resources count: %d" % len(resources))
75 except Exception
as error:
76 self.
logger.prn_err(
"can't allocate resource: '%s', reason: %s" % (self.
platform_name, str(error)))
84 except Exception
as error:
85 self.
logger.prn_err(str(error))
90 def __remote_connect(self, baudrate=DEFAULT_BAUD_RATE):
91 """! Open remote connection to DUT """
92 self.
logger.prn_inf(
"opening connection to platform at baudrate='%s'" % baudrate)
94 raise Exception(
"remote resource not exists!")
96 serial_parameters = self.
remote_module.SerialParameters(baudrate=baudrate)
99 self.
logger.prn_inf(
"open_connection() failed")
102 def __remote_disconnect(self):
104 raise Exception(
"remote resource not exists!")
108 except Exception
as error:
109 self.
logger.prn_err(
"RemoteConnectorPrimitive.disconnect() failed, reason: " + str(error))
111 def __remote_reset(self):
112 """! Use GRM remote API to reset DUT """
113 self.
logger.prn_inf(
"remote resources reset...")
115 raise Exception(
"remote resource not exists!")
118 raise Exception(
"remote resources reset failed!")
120 self.
logger.prn_inf(
"reset() failed")
123 def __remote_flashing(self, filename, forceflash=False):
124 """! Use GRM remote API to flash DUT """
125 self.
logger.prn_inf(
"remote resources flashing with '%s'..." % filename)
127 raise Exception(
"remote resource not exists!")
130 raise Exception(
"remote resource flashing failed!")
132 self.
logger.prn_inf(
"flash() failed")
136 """! Read 'count' bytes of data from DUT """
138 raise Exception(
"remote resource not exists!")
142 except Exception
as error:
143 self.
logger.prn_err(
"RemoteConnectorPrimitive.read(%d): %s" % (count, str(error)))
146 def write(self, payload, log=False):
147 """! Write 'payload' to DUT """
152 self.
logger.prn_txd(payload)
154 except Exception
as error:
156 self.
logger.prn_err(str(error))
163 return self.remote_module
and self.selected_resource
and self.selected_resource.is_allocated
168 def __remote_release(self):
173 except Exception
as error:
174 self.
logger.prn_err(
"RemoteConnectorPrimitive.release failed, reason: " + str(error))