Useful notes¶
Timestamping¶
There are two common approaches to register a timestamp to a
reading. Either one can rely on a software timer of the master PC –
suggested: time.perf_counter()
– and log a timestamp inside
of your DAQ_function
routine. Or one could rely on a
hardware timer build into the I/O device and have this timestamp
additionally being send back to the PC together with the other requested
readings. In general, the latter is superior in high-speed
applications. There are pros and cons to each of these approaches, which
is a topic in itself and will not be discussed here.
Increase process priority¶
Snippet:
import psutil
# Set priority of this process to maximum in the operating system
print("PID: %s\n" % os.getpid())
try:
proc = psutil.Process(os.getpid())
if os.name == "nt": # Windows
proc.nice(psutil.REALTIME_PRIORITY_CLASS)
else: # Other
proc.nice(-20)
except:
print("Warning: Could not set process to maximum priority.\n")