@@ -269,16 +269,26 @@ def create_camera_task(self, channel_key):
269269 camera_trigger_out_line = self .configuration ["configuration" ]["microscopes" ][
270270 self .microscope_name
271271 ]["daq" ]["camera_trigger_out_line" ]
272- camera_high_time = 0.004
273- sweep_time = self .sweep_times [channel_key ]
274- camera_low_time = sweep_time - camera_high_time
275- camera_delay = self .camera_delay
272+
273+ # apply waveform templates
274+ camera_waveform_repeat_num = self .waveform_repeat_num * self .waveform_expand_num
275+
276+ if self .analog_outputs :
277+ camera_high_time = 0.004
278+ camera_low_time = self .sweep_times [channel_key ] - camera_high_time
279+ elif camera_waveform_repeat_num == 1 :
280+ # if no ao tasks, let the camera task occupy the full sweep time
281+ camera_high_time = self .sweep_times [channel_key ] - self .camera_delay
282+ camera_low_time = 0.004
283+ else :
284+ camera_high_time = self .sweep_times [channel_key ] - 0.004
285+ camera_low_time = 0.004
276286
277287 self .camera_trigger_task .co_channels .add_co_pulse_chan_time (
278288 camera_trigger_out_line ,
279289 high_time = camera_high_time ,
280290 low_time = camera_low_time ,
281- initial_delay = camera_delay ,
291+ initial_delay = self . camera_delay ,
282292 )
283293
284294 # apply waveform templates
0 commit comments