qt3uw / qt3-utils

Data Acquisition for Confocal Microscope and Spin Control Experiments
https://sites.google.com/uw.edu/qt3-lab/projects
BSD 3-Clause "New" or "Revised" License
3 stars 6 forks source link

Hyperspectral scan: Adding Andor spectrometer #151

Closed vasilisniaouris closed 5 months ago

vasilisniaouris commented 6 months ago

We need to add the Andor spectrometer (specifically our SR 750 spectrograph with a CCD 920 detector). To do so, we will need to

  1. add a new Andor spectrometer config class,
  2. add a new Andor spectrometer daq class,
  3. add a new Andor spectrometer controller,
  4. add a yaml file specifically for the Andor spectrometer
  5. add the new controller to the main qt3scan application

These additions will mirror the implementation of the Princeton spectrometer.

A couple of things that we need to do differently for the andor spectrometer:

  1. We need to add a wait time between setting the new yaml file and allowing the user to get back to using the GUI. This is because the grating takes a long time (~30 secs) to set.
  2. When setting the yaml file response, we will allow for None input values that will read the current value of the specific setting, and will not modify it. These are the parameters the user set in the Andor Solis GUI and they do not want changed.
  3. When the andor API breaks the connection between the device and the computer, it turns off the cooling. To avoid having to warm up and cool back down between controller swaps, we need to implement a "singleton" object for the andor spectrometer config and daq, that will only close when the entire session closes, not just the controller. Later this can be used to create a GUI that holds multiple applications and shares devices between different applications.