Skip to content

Conversation

@adriente
Copy link

@adriente adriente commented Jul 3, 2025

Hi,

Aim of the pull request

We have a Shamrock spectrometer from andor equipped with a Newton EMCCD in the lab that we cant to control using PyMoDAQ. We couldn't modify the horizontal readout speed and the gain of the EMCCD. There were only 2 gratings accessible from PyMoDAQ even though the spectrometer has three gratings.
This pull request fixes those issues and it was tested on the described hardware.

Summary of the modifications

Files modified

\src\pymodaq_plugins_andor\daq_move_plugins\daq_move_Shamrock.py
\src\pymodaq_plugins_andor\daq_viewer_plugins\plugins_2D\daq_2Dviewer_AndorCCD.py
\src\pymodaq_plugins_andor\hardware\sdk2.py

Gratings issue

I modified the ini_spectro function so that the name of each grating is different so that all gratings appear in the parameter list.

Gain issue

I added a new parameter in the settings and modified the commit_settings accordingly. The parameters bounds are updated in ini_camera.

Horizontal readout speed (HSSpeed)

To control HSSpeed, the type of camera (EMCCD or conventional) has to be set. Additionally there may be several Analog to Digital (AD) channels configured, so the AD channel index has also to be specified. The number of available AD channels and the CCD type are set at init using init_AD_channels. These values are now stored in the AndorSDK object.

In PyMoDAQ, the parameter contains a 'AD channels' group which contain a 'ad_channel_#' list for each available AD channel. Each list displays the avalaible horizontal readout speeds.

To be done soon

  • Implement a way to manage units for readout speeds
  • Clean the functions that are not properly using AD channels

To be done later

  • Fully fix the AD channels issue.
  • Implement gain control for different CCD.
  • Implement the advanced settings for control over CCD gain.
  • Implement control over Vertical readout speed too.

@adriente
Copy link
Author

adriente commented Jul 4, 2025

I made a mistake when using SetHSSpeed, I was giving a string as input while it needs a an int. It is fixed in the second commit.

@seb5g
Copy link
Contributor

seb5g commented Jul 4, 2025

That's why you have to test it for real on the device, let us know here when you're done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants