import isystem.connect as ic
def main():
connectionMgr = ic.ConnectionMgr()
connectionConfig = ic.CConnectionConfig()
winIDEAInstances = ic.VectorWinIDEAInstanceInfo()
hostAddress = ''
connectionMgr.enumerateWinIDEAInstances(hostAddress, connectionConfig, winIDEAInstances)
for instance in winIDEAInstances:
print('Workspace: ', instance.getWorkspace())
print('Inst. Id : ', instance.getInstanceId())
print('TCP port : ', instance.getTcpPort(), '\n')
emulators = ['iC3000 HS (SN 39457) : 5313', 'iC3000 HS (SN 37412) : 5313']
for instance in winIDEAInstances:
instanceCMgr = ic.ConnectionMgr()
cfg = ic.CConnectionConfig()
cfg.host(hostAddress)
cfg.udpDiscoveryPort(instance.getTcpPort())
instanceCMgr.connect(cfg)
debugCtrl = ic.CDebugFacade(instanceCMgr)
status = debugCtrl.getCPUStatus()
ideCtrl = ic.CIDEController(instanceCMgr)
emulatorCommunicationMode = ideCtrl.getOptionStr('/IOPEN/Communication.Mode')
emulatorUSBDeviceName = ideCtrl.getOptionStr('/IOPEN/Communication.USBDeviceName')
emulatorIPAddress = ideCtrl.getOptionStr('/IOPEN/Communication.IPAddress')
print('communication mode: ', emulatorCommunicationMode)
print('ip address: ', emulatorIPAddress)
print('USB device name: ', emulatorUSBDeviceName)
isConnected = (not status.isMustInit())
print('is connected: ', isConnected)
if isConnected:
if emulatorIPAddress in emulators:
emulators.remove(emulatorIPAddress)
else:
print('Emulator not in the list: ', emulatorIPAddress)
instanceCMgr.disconnect_close(bSaveAll=False)
print('Finished for port: ', instance.getTcpPort())
print('Available emulators:', emulators)
if __name__ == "__main__":
main()