winIDEA SDK
Loading...
Searching...
No Matches
show_connection_status.py
# This script is licensed under BSD License, see file LICENSE.txt, or search for `License` in the SDK online help.
#
# (c) TASKING Germany GmbH, 2023
import isystem.connect as ic
def main():
# It is not required to connect to winIDEA for enumeration, so
# ConnectionMgr() object is all we need.
connectionMgr = ic.ConnectionMgr()
connectionConfig = ic.CConnectionConfig()
winIDEAInstances = ic.VectorWinIDEAInstanceInfo()
hostAddress = '' # enumerate instances on local host. You may also specify remote host
# here, for example as IP address: '10.1.2.91'
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']
# Now we'll connect to each of found winIDEA instances, and do
# some visible actions!
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()