Skip to content

TimeRef relative to other channel of same module (SE-636)

Explanation of changes

This MR gives quantify the ability to use the first0 - first7 options of the io_channel#.binned_acq_time_ref() QCoDeS parameter.

These options allow you to record a timetag value relative to another recorded timetag in another channel.

For example, let's take a timetag acquisition on channel 0 with, let's say, time_ref "start" and time_source "first", and a second timetag acquisition on channel 1 with time_ref "first0" and time_source "first". The second acquisition will then record the time difference between the first recorded pulse on the second channel and the first recorded pulse on the first channel.

The following example shows how it works in quantify:

schedule = Schedule("test", repetitions=1)
schedule.add(
    Timetag(duration=10e-6, port="some:port", acq_channel=0)
)
schedule.add(
    Timetag(duration=10e-6, port="some:other_port", acq_channel=1, time_ref=TimeRef.PORT, time_ref_port="some:port"),
    ref_pt="start",
)

The timetag acquisition on "some:other_port" now records relative to the result of the timetag acquisition on "some:port", using the new TimeRef.PORT value.


Merge checklist

See also merge request guidelines

  • Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer.
  • New code is covered by unit tests (or N/A).
  • New code is documented and docstrings use numpydoc format (or N/A).
  • New functionality: considered making private instead of extending public API (or N/A).
  • Public API changed: added @deprecated and entry in deprecated code suggestions (or N/A).
  • Newly added/adjusted documentation and docstrings render properly (or N/A).
  • Pipeline fix or dependency update: post in #software-for-developers channel to merge main back in or update local packages (or N/A).
  • Tested on hardware (or N/A).
  • CHANGELOG.md for breaking changes and AUTHORS.md have been updated (or N/A).
  • Update Hardware backends documentation if backend interface change or N/A
  • Check whether performance is significantly affected by looking at the Performance metrics results.
  • Windows tests in CI pipeline pass (manually triggered by maintainers before merging).
    • Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline

For reference, the issues workflow is described in the contribution guidelines.

Edited by Thomas Middelburg

Merge request reports

Loading