Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Can't generate Pulse Sequences with pulse_blaster_esrpro (within pulsed_gui) #113

Open
mario-b-amaro opened this issue Nov 22, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@mario-b-amaro
Copy link

Version

current main

What is affected by the bug?

This bug seems to hold for the pulse_blaster_esrpro module (and, by extension, to a custom pulse_blaster module I adapted for a DDS-II-300 based on the ESR-PRO one).

I can create Pulse Blocks in the Pulse Block Editor, and mount them in Pulse Ensembles in the Pulse Block Organizer with no issue. I can generate, sample and load them with no problems to my SpinCore. So far so good. The issue arrises only when I try to create Pulse Sequences of ensembles. The bug lies within the "Sequence Generator" tab of the pulsed_gui when connected to a pulse_blaster_esrpro.

When does the bug occur?

Whenever I try to create a Pulse Sequence on the Pulse Sequence Editor (Sequence Generator tab), I get an error. I get the logged error below for any combination of Pulse Ensembles I try to add, and for any combinations of values in the "Repetitions", "Go To" and "Event Jump To" fields.

Note that there is no issue whatsoever when assembling Pulse Blocks into Ensembles (Pulse Generator tab) and I can perfectly load those to the spincore.

How do we replicate the issue?

  1. Create a pulsed_gui instance and connect it to a pulse_blaster_esrpro.
  2. Load qudi and initialize the pulsed_gui module
  3. In "Pulse Generator", create some Pulse Blocks and mount them in an Ensemble in the Pulse Block Organizer, Generate it, and then Sample and Load it. So far everything should be fine, if we turn the Pulser ON, that Ensemble was successfully loaded and is working well.
  4. Now to go "Sequence Generator". Try to create any sequence (even if with just a single BlockEnsemble). Generate it and try to Sample and Load it. The log output below should appear.

Expected behavior

When we create a Sequence, generate it, sample and load it, it should either load to the spincore or give another error. The current error indicates a returned number of sequence steps of -1, while it should be the number of Block Ensembles one added. Hence, -1 sequence steps does not correspond to any real input, it seem to indicate an error return.

Relevant log output

Writing PulseSequence "test" to the device memory failed.
Returned number of sequence steps (-1) does not match desired number of steps (2).

Additional Comments

pulser_dummy works. It allows the creation, generation and "Sample+Load" routine of Sequences. It seems to be a problem exclusive to pulse_blaster_esrpro

Contact Details

mario.bettencourt.amaro@fysik.su.se

@mario-b-amaro mario-b-amaro added the bug Something isn't working label Nov 22, 2023
@mario-b-amaro mario-b-amaro changed the title [Bug] Can't generate Pulse Sequences (within pulsed_gui) [Bug] Can't generate Pulse Sequences with pulse_blaster_esrpro (within pulsed_gui) Nov 22, 2023
@NicolasStaudenmaier
Copy link
Contributor

Hi @mario-b-amaro, I am not familiar with the SpinCore PulseBlasterESR-PRO and its technical specifications. However, in the hardware file for this device sequencing is not implemented with the note that the device is no capable of it. Indeed, -1 sequence steps are returned to create an error in the sequencegeneratorlogic. You should also find the following warning message that is written by the hardware itself:

PulseBlaster digital pulse generator has no sequencing capabilities. 
write_sequence call ignored.

Improving the error handling to make clear that the PulseBlasterESR-PRO is not able to use the sequence mode would be a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants