Skip to content

Commit e5f25cc

Browse files
committed
xlx: add agent-url subcommand
1 parent 8c02e84 commit e5f25cc

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

labgrid/remote/client.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,18 +1293,20 @@ def _get_xlx(self, name):
12931293
from ..driver.xsdbdriver import XSDBDriver
12941294
from ..resource.remote import NetworkXilinxUSBJTAG
12951295
drv = None
1296+
res = None
12961297
for resource in target.resources:
12971298
if isinstance(resource, NetworkXilinxUSBJTAG):
12981299
try:
12991300
drv = target.get_driver(XSDBDriver, name=name)
13001301
except NoDriverFoundError:
13011302
target.set_binding_map({"interface": name})
13021303
drv = XSDBDriver(target, name=name)
1304+
res = resource
13031305
break
13041306
if not drv:
13051307
raise UserError("target has no compatible resource available")
13061308
target.activate(drv)
1307-
return drv
1309+
return (res, drv)
13081310

13091311
def xlx_run_xsdb(self):
13101312
_, drv = self._get_xlx(self.args.name)
@@ -1313,16 +1315,23 @@ def xlx_run_xsdb(self):
13131315
interactive = self.args.interactive or not bool(self.args.tcl_cmds))
13141316

13151317
def xlx_program_bitstream(self):
1316-
drv = self._get_xlx(self.args.name)
1318+
_, drv = self._get_xlx(self.args.name)
13171319

13181320
processwrapper.enable_print()
13191321
drv.program_bitstream(self.args.bitstream)
13201322
processwrapper.disable_print()
13211323

13221324
def xlx_force_bootmode(self):
1323-
drv = self._get_xlx(self.args.name)
1325+
_, drv = self._get_xlx(self.args.name)
13241326
drv.force_bootmode_reset(self.args.bootmode.lower())
13251327

1328+
def xlx_agent_url(self):
1329+
res, _ = self._get_xlx(self.args.name)
1330+
url = res.agent_url.split(":")
1331+
if not url[1]:
1332+
url[1] = res.host
1333+
print(':'.join(url))
1334+
13261335
def _get_quartus(self, name):
13271336
place = self.get_acquired_place()
13281337
target = self._get_target(place)
@@ -1924,6 +1933,9 @@ def main():
19241933
xlx_subparser.add_argument('bootmode', type=str, help="Boot mode to select (jtag, sd, qsmi, emmc, usb")
19251934
xlx_subparser.set_defaults(func=ClientSession.xlx_force_bootmode)
19261935

1936+
xlx_subparser = xlx_subparsers.add_parser('agent-url', help='print the agent url')
1937+
xlx_subparser.set_defaults(func=ClientSession.xlx_agent_url)
1938+
19271939
subparser = subparsers.add_parser('intel', help="connect to a Quartus Jtagd Server")
19281940
subparser.add_argument("--name", "-n", help="optional resource name")
19291941
subparser.set_defaults(func=lambda _: subparser.print_help())

0 commit comments

Comments
 (0)