5import isystem.connect
as ic
11def test_readWriteSFR():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
15 dataCtrl2 = ic.CDataController2(connMgr)
17 print(
"Determining SFR handle (first SFR register)...")
18 cpuSfrs = dataCtrl2.getCPUSFRs(ic.IConnectEclipse.gcsSFRs)
22 sfrsInGroup = sfrGroup.SFRs()
23 sfr = sfrsInGroup.at(0)
27 sType.m_byType = ic.SType.tUnsigned
28 sType.m_byBitSize = 32
30 print(f
"Reading '{sfr.Name()}'...")
31 sfrData = dataCtrl2.readSFR(handle, sType)
32 assert sfrData.isError()
is False
33 value = sfrData.getInt()
34 print(f
"\tValue: {value}")
35 print(f
"\tBit size: {sfrData.getBitSize()}")
37 print(f
"Writing value '42' to {sfr.Name()} with read-back option...")
38 cVal = ic.CValueType(sType, 42)
39 val = sfrData = dataCtrl2.writeSFR(ic.IConnectEclipse.svWriteThenRead,
42 assert val.isError()
is False
43 print(f
"\tRead-back value: {val.getResult()}")
45 print(f
"Revert back to original value: {value}")
46 cVal = ic.CValueType(sType, value)
47 dataCtrl2.writeSFR(0, handle, cVal)
49 dataCtrl2.release(cpuSfrs)
52if __name__ ==
"__main__":