From 824d1115dccd6726a33adb97a6c54160bc1e2359 Mon Sep 17 00:00:00 2001 From: Runner PC Cavity Lab <johannes.schabbauer@tuwien.ac.at> Date: Thu, 12 Sep 2024 16:20:05 +0200 Subject: [PATCH] Added frequency conversion to detuning from D2 line --- TimeBaseAOMDriver/labscript_devices.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/TimeBaseAOMDriver/labscript_devices.py b/TimeBaseAOMDriver/labscript_devices.py index f50fc5f..20b0441 100644 --- a/TimeBaseAOMDriver/labscript_devices.py +++ b/TimeBaseAOMDriver/labscript_devices.py @@ -1,5 +1,6 @@ from labscript import Device, DigitalOut, StaticAnalogQuantity, set_passed_properties, LabscriptError, MHz from .unitconversions import dBm_to_W, Hz_to_MHz +from labscript_utils.unitconversions.detuning import detuning import numpy as np class TimeBaseAOM(Device): @@ -10,11 +11,19 @@ class TimeBaseAOM(Device): def __init__( self, name, parent_device, connection, - digital_gate=[], AM_offset=None, FM_deviation=None, + digital_gate=[], unit_conversion_parameters={}, **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( f"{self.name}_ampl",self,"amp", limits=(self.parent_device.min_amp,self.parent_device.max_amp), @@ -23,7 +32,7 @@ class TimeBaseAOM(Device): self.freq= StaticAnalogQuantity( f"{self.name}_freq",self,"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.FM_deviation = StaticAnalogQuantity(f"{self.name}_fmdev",self,"-") -- GitLab