zhinst/laboneq

[BUG] - Serializer problem for constant pulse

Closed this issue · 5 comments

Describe the bug
If there is constant pulse in the experiment, serializer cannot deserialise the compiled experiment properly. It will return an error __init__() missing 1 required positional argument: 'mixer_type'

The error is expected to be the consequence of release 1.3, although we are testing in 1.4
To Reproduce
Steps to reproduce the behavior:

  1. Define pulse sequence...
  2. Execute on hardware / in emulation ...
  3. Do additional steps...
  4. See error

run the following notebook in the laboneq example folder. it is modified from basic experiment
serializer_error.zip

Expected behavior
A clear and concise description of what you expected to happen.

Code & Screenshots
If possible, add example code or serialized LabOne Q data objects, like the Experiment and DeviceSetup, that allow us to reproduce the behavior.
If applicable, add screenshots to help explain your problem.

Versions used:

  • laboneq 1.4
  • zhinst-core 22.8
  • others

Context

  • Do you know a workaround for the issue? If yes, please provide a short description.
  • Does the issue block your experiments?

If the compiled experiment does not go through the serializer, there won't be an error

Hi Yuan, thanks for reporting, looking at fixing this ASAP.

does this mixer_type for pulse should be considered when we define the experiment, or this should be handled by laboneq? I did not see any instructions/examples for this.

It's an internally-used field related to hardware modulation on UHFQA. As a user, you do not need to care about it, unless you are poking around in the data structures.

The bug was a fault in our logic that was expecting the field to be present for flux pulses (non-sensical of course!).
I have fixed it. You can expect the fix to be shipped with release v1.5 next week.

Thanks again for the example! This really immensely speeds up the process.

fixed in 1.5, closing this issue