Bugfix: NDAveragerProgram fails for a >1D sweep #237
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The pull request #228 broke
NDAveragerProgram
, which now fails to generate the correct program for a multi-dimensional sweep because the register 16 in page 0 is used as both the second sweep counter and the trigger bits forQickProgram.trigger
. The sweep counter never reaches 0 because it gets overwritten by the trigger bits every time a readout is triggered inside the loop, creating an infinite loop.This bugfix changes the register assignment in
NDAveragerProgram
such that only the registers 17-21 in page 0 are used as sweep counters.NDAveragerProgram
now only works for up to a 5D sweep instead of 7D, but this should be sufficient for most use cases.