Qcodes
Qcodes copied to clipboard
[wip] Group parameter snapshot
This is a proposal for discussion as there at least one unsettled design issue.
The idea is to ensure that snapshot(update=True) is only triggered once pr parameter group. This has the potential of significant time savings on instruments that make use of multiparam getters when calling snapshot(update=True) i.e. when adding an instrument to a station.
It also bring in a fix where snapshot will update parameters that have unknown values even if update=False. We may want to move that to its own pr.
Open questions:
- The implementation that relies on stack inspection is not nice. But on the other hand I do not want to change the signature of snapshot_base as that would require fixing all drivers that overwrite snapshot_base. Potentially breaking drivers outside qcodes. Can we find a better way to determine if the snapshot is part of a larger snapshot that includes the group?
Todo:
- [ ] Documentation that groups needs to be added to the Groups dict. Should there be a add_group thing. Should this be enforced somehow.
- [ ] Revise the above in all drivers that uses groups.
- [ ] More tests naturally