1
2
3
4
5import isystem.connect as ic
6
7
8def main():
9
10
11
12 connectionMgr = ic.ConnectionMgr()
13
14 connectionConfig = ic.CConnectionConfig()
15
16 winIDEAInstances = ic.VectorWinIDEAInstanceInfo()
17
18 hostAddress = ''
19
20 connectionMgr.enumerateWinIDEAInstances(hostAddress, connectionConfig, winIDEAInstances)
21
22 for instance in winIDEAInstances:
23 print('Workspace: ', instance.getWorkspace())
24 print('Inst. Id : ', instance.getInstanceId())
25 print('TCP port : ', instance.getTcpPort(), '\n')
26
27
28 emulators = ['iC3000 HS (SN 39457) : 5313', 'iC3000 HS (SN 37412) : 5313']
29
30
31
32 for instance in winIDEAInstances:
33 instanceCMgr = ic.ConnectionMgr()
34 cfg = ic.CConnectionConfig()
35 cfg.host(hostAddress)
36 cfg.udpDiscoveryPort(instance.getTcpPort())
37 instanceCMgr.connect(cfg)
38
39 debugCtrl = ic.CDebugFacade(instanceCMgr)
40 status = debugCtrl.getCPUStatus()
41
42 ideCtrl = ic.CIDEController(instanceCMgr)
43 emulatorCommunicationMode = ideCtrl.getOptionStr('/IOPEN/Communication.Mode')
44 emulatorUSBDeviceName = ideCtrl.getOptionStr('/IOPEN/Communication.USBDeviceName')
45 emulatorIPAddress = ideCtrl.getOptionStr('/IOPEN/Communication.IPAddress')
46
47 print('communication mode: ', emulatorCommunicationMode)
48 print('ip address: ', emulatorIPAddress)
49 print('USB device name: ', emulatorUSBDeviceName)
50
51 isConnected = (not status.isMustInit())
52 print('is connected: ', isConnected)
53 if isConnected:
54 if emulatorIPAddress in emulators:
55 emulators.remove(emulatorIPAddress)
56 else:
57 print('Emulator not in the list: ', emulatorIPAddress)
58
59 instanceCMgr.disconnect_close(bSaveAll=False)
60 print('Finished for port: ', instance.getTcpPort())
61
62 print('Available emulators:', emulators)
63
64
65if __name__ == "__main__":
66 main()