Running warmup pointsΒΆ

A set of warmup points can be run on the core device before a scan starts allowing equipment up to be brought up to a desired operating temperature before it is used to perform measurements in the scan.

The default behavior of a scan is to execute the measure(point) interface method self.nwarmup_points number of times for each registered measurement with the point argument set to 0.0.

self.warming_up is set to True immediately before warmup points are execute and is set to False immediately after all warmup points have executed. This allows determining when to run warmup points within the measure method.

def measure(self, point):
    if self.warming_up:
        # ... execute commands for warming up devices
        # e.g. set dds frequency and turn on TTL
    else:
        # ... execute commands for the measurement

If the warmup() interface method is implemented warmup(point) will be executed instead of measure(point). This allows warmup and measurement commands to be separated and also results in faster execution of the measure() method since it does not need to check self.warming_up each time it is called during the execution of the scan.

def warmup(self, point):
    # ... execute commands for warming up devices
    # e.g. set dds frequency and turn on TTL

def measure(self, point):
    # ... execute commands for the measurement

Additionally, if the get_warmup_points() interface method is implemented the returned set of points will be iterated over and the point argument of either measure(point) or warmup(point) will be set to the current warmup point.