Skip to content

Add ramp and ramp_to_zero support to Channel#192

Merged
nulinspiratie merged 6 commits intomainfrom
feature/ramp-support
Apr 16, 2026
Merged

Add ramp and ramp_to_zero support to Channel#192
nulinspiratie merged 6 commits intomainfrom
feature/ramp-support

Conversation

@nulinspiratie
Copy link
Copy Markdown
Contributor

@nulinspiratie nulinspiratie commented Mar 3, 2026

  • Channel.ramp(slope, duration): dedicated method for playing linear voltage ramps; slope is in V/ns
  • Channel.ramp_to_zero(duration=None): wraps qm.qua.ramp_to_zero
  • For IQ channels, ramp() applies the same ramp to both I and Q outputs together
  • Channel.play() does not accept ramp objects; use Channel.ramp() instead

Fixes #187

- Channel.ramp(slope, duration): dedicated method for QUA voltage ramps
- Channel.ramp_to_zero(duration=None): wraps qm.qua.ramp_to_zero
- Channel.play() now accepts ramp() objects directly without validate=False;
  validation is automatically skipped for QuaProgramRampPulse instances
@nulinspiratie nulinspiratie requested a review from KU-QM March 3, 2026 13:49
…ls.py

Replace `from qm.qua import (...)` with `from qm import qua` and prefix all
call sites with `qua.`, eliminating the need to rename ramp and ramp_to_zero.
Update tests to patch qm.qua directly instead of quam.components.channels.
@nulinspiratie nulinspiratie merged commit 71c2b15 into main Apr 16, 2026
4 checks passed
@nulinspiratie nulinspiratie deleted the feature/ramp-support branch April 16, 2026 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MWChannel cannot ramp_to_zero() but can be sticky

1 participant