import isystem.connect as ic
winidea_id = ''
def test_flush():
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
devName = "ST STM32F4xxxG_1024KB"
optCtrl = ic.COptionController(connMgr, ic.CStorageDeviceFactory.DEVICES_OPT_URL)
devIndex = optCtrl.index_of("Name", devName)
print("Index of the item whose 'Name' attribute has value " + devName + f": {devIndex}")
storageCtrl = ic.CStorageDeviceFactory.makeDevice(connMgr, ic.EStorageDevice_EmbeddedFlashDevice, devIndex)
print("Create program cache data (16 bytes)...")
data = ic.VectorBYTE()
for index in range(16):
data.append(index)
storageCtrl.write(ic.IConnectUMI.wProgCache, 0x08000000, 16, data)
print(f"Flushing cache data to a device with index: {devIndex}")
storageCtrl.flush()
if __name__ == "__main__":
test_flush()