Skip to content

Commit

Permalink
Add QDOSequencer, QDOSlowFluxChannel, and QDOFastFluxChannel.
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanbro authored and notmgsk committed Nov 18, 2020
1 parent 33bfedc commit 9b70944
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 2 deletions.
51 changes: 50 additions & 1 deletion rpcq/core_messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -692,7 +692,7 @@ class QFDChannel(Message):
"""Delay [seconds] to account for inter-channel skew."""

flux_current: Optional[float] = None
"""Slow flux current [Amps]."""
"""Flux current [Amps]."""

relay_closed: Optional[bool] = None
"""Set the state of the Flux relay.
Expand Down Expand Up @@ -792,6 +792,45 @@ class CWChannel(Message):
"""The state (on/off) of CW generator's output."""


@dataclass(eq=False, repr=False)
class QDOSlowFluxChannel(Message):
"""
Configuration for a single QDO Slow Flux Channel.
"""

channel_index: int
"""The channel index on the QDO, zero indexed from the
lowest channel, as installed in the box. Flux index typically starts at 4."""

flux_current: Optional[float] = None
"""Flux current [Amps]."""

relay_closed: Optional[bool] = False
"""Set the state of the Flux relay.
True - Relay closed, allows flux current to flow.
False - Relay open, no flux current can flow."""


@dataclass(eq=False, repr=False)
class QDOFastFluxChannel(Message):
"""
Configuration for a single QDO Fast Flux Channel.
"""

channel_index: int
"""The channel index on the QDO, zero indexed from the
lowest channel, as installed in the box."""

direction: Optional[str] = "tx"
"""The QDO is a device that transmits pulses."""

delay: float = 0.0e+0
"""Delay [seconds] to account for inter-channel skew."""

flux_current: Optional[float] = None
"""Flux current [Amps]."""


@dataclass(eq=False, repr=False)
class LegacyUSRPSequencer(Message):
"""
Expand All @@ -815,6 +854,16 @@ class QFDSequencer(Message):
"""The label of the associated channel."""


@dataclass(eq=False, repr=False)
class QDOSequencer(Message):
"""
Configuration for a single QDO Sequencer.
"""

tx_channel: str
"""The label of the associated channel."""


@dataclass(eq=False, repr=False)
class QFDx2Sequencer(Message):
"""
Expand Down
63 changes: 62 additions & 1 deletion src/core-messages.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -868,7 +868,7 @@
:default 0.0)

(|flux_current|
:documentation "Slow flux current [Amps]."
:documentation "Flux current [Amps]."
:type :float
:required nil
:default nil)
Expand Down Expand Up @@ -1019,6 +1019,58 @@

:documentation "Configuration for a single CW Generator Channel.")

(defmessage |QDOSlowFluxChannel| ()
(
(|channel_index|
:documentation "The channel index on the QDO, zero indexed from the\
lowest channel, as installed in the box. Flux index typically starts at 4."
:type :integer
:required t)

(|flux_current|
:documentation "Flux current [Amps]."
:type :float
:required nil
:default nil)

(|relay_closed|
:documentation "Set the state of the Flux relay.\
True - Relay closed, allows flux current to flow.\
False - Relay open, no flux current can flow."
:type :bool
:required nil
:default nil))

:documentation "Configuration for a single QDO Slow Flux Channel.")

(defmessage |QDOFastFluxChannel| ()
(
(|direction|
:documentation "The QDO is a device that transmits pulses."
:type :string
:required nil
:default "tx")

(|channel_index|
:documentation "The channel index on the QDO, zero indexed from the\
lowest channel, as installed in the box."
:type :integer
:required t)

(|delay|
:documentation "Delay [seconds] to account for inter-channel skew."
:type :float
:required t
:default 0.0)

(|flux_current|
:documentation "Flux current [Amps]."
:type :float
:required nil
:default nil))

:documentation "Configuration for a single QDO Fast Flux Channel.")

(defmessage |LegacyUSRPSequencer| ()
(
(|tx_channel|
Expand All @@ -1042,6 +1094,15 @@

:documentation "Configuration for a single QFD Sequencer.")

(defmessage |QDOSequencer| ()
(
(|tx_channel|
:documentation "The label of the associated channel."
:type :string
:required t))

:documentation "Configuration for a single QDO Sequencer.")

(defmessage |QFDx2Sequencer| ()
(
(|tx_channel|
Expand Down

0 comments on commit 9b70944

Please sign in to comment.