*** Wartungsfenster jeden ersten Mittwoch vormittag im Monat ***

Skip to content
Snippets Groups Projects
Commit 824d1115 authored by Schabbauer, Johannes's avatar Schabbauer, Johannes
Browse files

Added frequency conversion to detuning from D2 line

parent 5331cd3f
No related branches found
No related tags found
No related merge requests found
from labscript import Device, DigitalOut, StaticAnalogQuantity, set_passed_properties, LabscriptError, MHz from labscript import Device, DigitalOut, StaticAnalogQuantity, set_passed_properties, LabscriptError, MHz
from .unitconversions import dBm_to_W, Hz_to_MHz from .unitconversions import dBm_to_W, Hz_to_MHz
from labscript_utils.unitconversions.detuning import detuning
import numpy as np import numpy as np
class TimeBaseAOM(Device): class TimeBaseAOM(Device):
...@@ -10,11 +11,19 @@ class TimeBaseAOM(Device): ...@@ -10,11 +11,19 @@ class TimeBaseAOM(Device):
def __init__( def __init__(
self, name, parent_device, connection, self, name, parent_device, connection,
digital_gate=[], AM_offset=None, FM_deviation=None, digital_gate=[], unit_conversion_parameters={},
**kwargs): **kwargs):
Device.__init__(self,name,parent_device,connection, **kwargs) Device.__init__(self,name,parent_device,connection, **kwargs)
# If the channel is instantiated with unit conversion parameters,
# use them to calculate the right detuning. If not just convert
# between Hz and MHz.
if unit_conversion_parameters:
unit_conversion_class = detuning
else:
unit_conversion_class = Hz_to_MHz
self.amp = StaticAnalogQuantity( self.amp = StaticAnalogQuantity(
f"{self.name}_ampl",self,"amp", f"{self.name}_ampl",self,"amp",
limits=(self.parent_device.min_amp,self.parent_device.max_amp), limits=(self.parent_device.min_amp,self.parent_device.max_amp),
...@@ -23,7 +32,7 @@ class TimeBaseAOM(Device): ...@@ -23,7 +32,7 @@ class TimeBaseAOM(Device):
self.freq= StaticAnalogQuantity( self.freq= StaticAnalogQuantity(
f"{self.name}_freq",self,"freq", f"{self.name}_freq",self,"freq",
limits=(self.parent_device.min_freq,self.parent_device.max_freq), limits=(self.parent_device.min_freq,self.parent_device.max_freq),
unit_conversion_class=Hz_to_MHz unit_conversion_class=unit_conversion_class, unit_conversion_parameters=unit_conversion_parameters
) )
self.AM_offset = StaticAnalogQuantity(f"{self.name}_amoffs",self,"-",limits=(-225,15)) # Maximum would be 25, but this is not recommended for proper operation self.AM_offset = StaticAnalogQuantity(f"{self.name}_amoffs",self,"-",limits=(-225,15)) # Maximum would be 25, but this is not recommended for proper operation
self.FM_deviation = StaticAnalogQuantity(f"{self.name}_fmdev",self,"-") self.FM_deviation = StaticAnalogQuantity(f"{self.name}_fmdev",self,"-")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment