1
2
3
4
5import isystem.connect as ic
6
7
8winidea_id = ''
9
10
11def test_getCPUSFRs():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 dataCtrl2 = ic.CDataController2(connMgr)
16
17 cpuSfrs = dataCtrl2.getCPUSFRs(ic.IConnectEclipse.gcsSFRs)
18 try:
19 print(f"CPU name: {cpuSfrs.CPUName()}")
20
21
22
23
24
25
26
27
28
29 sfrs = cpuSfrs.SFRs()
30 sfrs: ic.IVectorSFRs
31 for index in range(1):
32 sfrGroup = sfrs.at(index)
33 print(f"SFR group: {sfrGroup.Name()}")
34
35 sfrsInGroup = sfrGroup.SFRs()
36 for gIndex in range(sfrsInGroup.size()):
37 sfr: ic.ISFR = sfrsInGroup.at(gIndex)
38
39 print(f"\tName: {sfr.Name()}")
40 print(f"\tHas value: {sfr.HasValue()}")
41 print(f"\tHandle: {sfr.Handle()}")
42 print(f"\tBit size: {sfr.BitSize()}")
43 print(f"\tDescription: {sfr.Description()}")
44 print(f"\tAddress: {sfr.Address()}")
45 print(f"\tBit offset: {sfr.BitOffset()}")
46 print(f"\tProperties: {sfr.Properties()}")
47
48 bitFields = sfr.SFRs()
49 for bIndex in range(bitFields.size()):
50 bitField = bitFields.at(bIndex)
51 valMaps = bitField.ValueMaps()
52 valMaps: ic.IVectorValueMap
53 for vIndex in range(valMaps.size()):
54 valMap = valMaps.at(vIndex)
55 valMap: ic.ISFRValueMap
56 print(f"\t\tString: {valMap.String()}")
57 print(f"\t\tDescription: {valMap.Description()}")
58 print(f"\t\tValue: {valMap.Value()}\n")
59
60 print()
61 finally:
62 dataCtrl2.release(cpuSfrs)
63
64
65if __name__ == "__main__":
66 test_getCPUSFRs()