Skip to content

Add API for IQ channel #32

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mjhaye
Copy link

@mjhaye mjhaye commented Mar 1, 2023

This is how I have done it now for lls. Still based on the IQ_channel_constructor to keep the implementation identical, but maybe a new/double implementation is preferred (to avoid circular dependencies).

Also the name define_iq_channel looks a lot like define_IQ_channel but I could not think of something better and eventually the latter should be removed, I think.

Also added py.typed so that the typehints that exist at least are available to external users.

@sldesnoo-Delft
Copy link
Collaborator

sldesnoo-Delft commented Mar 6, 2023

Thanks for the contribution. I'll copy the API you propose.
I'm going to change the implementation to make it a lot cleaner.
IQ_channel_constructor.init() now calls pulse_lib.define_IQ_channel().
When pulse_lib_define_iq_channel() calls IQ_channel_constructor.init() calling pulse_lib.define_IQ_channel() then at least I get a bit confused.

@sldesnoo-Delft
Copy link
Collaborator

Committed on dev branch:
6ca2772

To be tested with hardware. Release today or tomorrow.

@sldesnoo-Delft
Copy link
Collaborator

Changed API to:
def define_iq_channel(
self, name: str, i_name: str = "", q_name: str = "",
i_neg_name: str = "", q_neg_name: str = "",
marker_name: str = ""
) -> None:
'''
Defines a new IQ pair for IQ modulated MW pulse generation via qubit channels.

    For balanced IQ signals two additional channels may be specified for the
    negative image of I and Q signal.

    Args:
        i_name: awg channel name of the I component (+)
        q_name: awg channel name of the Q component (+)
        i_neg_name: [optional] awg channel name of the I component (-)
        q_neg_name: [optional] awg channel name of the Q component (-)
        marker_name: [optional] marker to use for pulse modulation.
    '''

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.

2 participants