winIDEA SDK
test_dynamic_option.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import isystem.connect as ic
6
7
8winidea_id = ''
9
10
11def test_dynamicOption():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 ideCtrl = ic.CIDEController(connMgr)
16
17 # url = "Operation.Debug.Processes[0].BPs"
18 url = "System.Debug.SoCs[0].DLFs_Program.File"
19 fullUrl = f"/IDE/{url}"
20 dlfile = ideCtrl.getOptionStr(url)
21 print(f"Creating 2 download files in dynamic options list: {fullUrl}")
22 ideCtrl.addDynamicOption(ic.ofDestIDE, "", url)
23 ideCtrl.addDynamicOptionUrl(fullUrl)
24 lastItemIndex = ideCtrl.addDynamicOption(fullUrl)
25
26 print(f"\tNumber of items: {ideCtrl.getDynamicOptionSize(fullUrl)}")
27
28 print(f"Modify the attribute of item at index: {lastItemIndex}...")
29 ideCtrl.setOption(f"{fullUrl}[{lastItemIndex}].Options.CodeOffset", "10")
30
31 print(f"Finding item index with value: '10'.")
32 index = ideCtrl.findDynamicOption(fullUrl, "Options.CodeOffset", "0xA")
33 print(f"\tIndex: {index}")
34
35 strVector = ic.StrVector()
36 ideCtrl.getDynamicOptions(fullUrl, "Options.CodeOffset", strVector)
37 print(f"Values of attributes: '{strVector}'")
38
39 print("Removing all items in affected dynamic list...")
40 ideCtrl.removeDynamicOption(fullUrl, lastItemIndex)
41 ideCtrl.removeDynamicOption(fullUrl, lastItemIndex - 1)
42 ideCtrl.removeDynamicOption(fullUrl, lastItemIndex - 2)
43
44
45if __name__ == "__main__":
46 test_dynamicOption()