winIDEA SDK
Loading...
Searching...
No Matches
test_run.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 time
import isystem.connect as ic
winidea_id = ''
def test_run():
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
execCtrl = ic.CExecutionController(connMgr)
daqCtrl = ic.CDAQController(connMgr)
print("Configuring DAQ to observe variable 'main_loop_counter' (item with index 0)...")
daqCfg = ic.DAQConfigVector()
cfg = ic.CDAQConfigItem("mainLoopCounter", ic.CDAQController.daqSampleMax, 0)
daqCfg.push_back(cfg)
daqCtrl.configure(daqCfg)
daqCtrl.enableGlobal(True)
print("Running CPU and recording variable...")
execCtrl.run()
time.sleep(2)
execCtrl.stop()
status = daqCtrl.status()
print("Recording finished, current DAQ status:")
print(f"\tDAQ globally enabled: {status.getGlobalEnable()}")
print(f"\tNumber of available samples: {status.getNumSamplesAvailable()}")
print(f"\tLast loop time: {status.getLastLoopTime()}")
print(f"\tNumber of DAQ loops: {status.getNumLoops()}")
print(f"\tIs overflow: {status.getOverflow()}")
print(f"\tDAQ internal time: {status.getTime()}")
info = daqCtrl.info()
print(f"DAQ info:")
print(f"\tMax items: {info.getMaxItems()}")
print(f"\tBuffer size: {info.getBufSize()}")
print(f"\tMax item size: {info.getMaxItemSize()}")
print(f"First 10 samples (out of {status.getNumSamplesAvailable()}):")
samples = ic.DAQSampleVector()
daqCtrl.read(samples)
for index, sample in enumerate(samples[:10]):
sample: ic.CDAQSample
value = daqCtrl.getDataValue(sample).getInt()
timeUs = sample.getTime()
print(f"\tSample {index}: {value} @ {timeUs} us (DAQ item: {sample.getIndex()})")
daqCtrl.enableGlobal(False)
if __name__ == "__main__":
test_run()