-
Notifications
You must be signed in to change notification settings - Fork 3
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
Fix/Add all MW channel properties #72
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey Serwan, the attributes look good, but it looks like the MWChannel
is missing the API for creating QUA commands, e.g.,
AttributeError: 'InOutMWChannel' object has no attribute 'measure'
These currently live in e.g., the IQChannel
class. Perhaps you could put a separate class which contains just the interface for creating QUA command and have both InOutIQchannel
and InOutMWChannel
inherit from this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another thing is that it wont allow you to add IQ waveforms unless it is an IQChannel
, but you should also be able to add IQWaveforms to an MWChannel. So in
quam/components/pulses.py
, you could add something like:
channel type (SingleChannel, IQChannel, InOutIQChannel).
"""
- from quam.components.channels import SingleChannel, IQChannel
+ from quam.components.channels import SingleChannel, IQChannel, MWChannel
pulse_config = config["pulses"][self.pulse_name]
@@ -221,7 +221,7 @@ class Pulse(QuamComponent):
"Waveform type 'single' not allowed for IQChannel"
f" '{self.channel.name}'"
)
- elif "I" in waveforms and not isinstance(self.channel, IQChannel):
+ elif "I" in waveforms and not isinstance(self.channel, (IQChannel, MWChannel)):
raise ValueError(
"Waveform type 'IQ' not allowed for SingleChannel"
f" '{self.channel.name}'"
Addressed both issues, @deanpoulos wdyt? |
This PR adds the following changes
MWChannel
Channel
an abstract base classintermediate_frequency
toChannel
, meaning that all channels share this propertysmearing
,time_of_flight