@@ -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