Skip to content

Commit

Permalink
Add support for MW FEM
Browse files Browse the repository at this point in the history
  • Loading branch information
nulinspiratie committed Jun 28, 2024
1 parent 9c6986d commit 5fc369c
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions quam/components/channels.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
LFAnalogInputPort,
LFFEMAnalogInputPort,
LFFEMAnalogOutputPort,
MWFEMAnalogInputPort,
MWFEMAnalogOutputPort,
OPXPlusAnalogInputPort,
OPXPlusAnalogOutputPort,
OPXPlusDigitalOutputPort,
Expand Down Expand Up @@ -1477,3 +1479,32 @@ class InIQOutSingleChannel(SingleChannel, InIQChannel):
"""

pass


@quam_dataclass
class MWChannel(QuamComponent):
opx_output: MWFEMAnalogOutputPort
upconverter: int = 1

def apply_to_config(self, config: Dict) -> None:
super().apply_to_config(config)

element_cfg = config["elements"][self.name]
element_cfg["MWInput"] = tuple(self.opx_output.port)
element_cfg["upconverter"] = self.upconverter


@quam_dataclass
class InMWChannel(QuamComponent):
opx_input: MWFEMAnalogInputPort

def apply_to_config(self, config: Dict) -> None:
super().apply_to_config(config)

element_cfg = config["elements"][self.name]
element_cfg["MWOutput"] = tuple(self.opx_input.port)


@quam_dataclass
class InOutMWChannel(MWChannel, InMWChannel):
pass

0 comments on commit 5fc369c

Please sign in to comment.