Skip to content

Add API for IQ channel#32

Open
mjhaye wants to merge 1 commit intostephanlphilips:masterfrom
mjhaye:add-api-for-iq-channels
Open

Add API for IQ channel#32
mjhaye wants to merge 1 commit intostephanlphilips:masterfrom
mjhaye:add-api-for-iq-channels

Conversation

@mjhaye
Copy link
Copy Markdown

@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
Copy Markdown
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
Copy Markdown
Collaborator

Committed on dev branch:
6ca2772

To be tested with hardware. Release today or tomorrow.

@sldesnoo-Delft
Copy link
Copy Markdown
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