dopes.equipment_control.cm110 API documentation

# Module `dopes.equipment_control.cm110`

## Classes

`class cm110 (port)`
  Expand source code

      class cm110(equipment.equipment):

          """Class to control CM110 monochromator"""
          model="CM110"
          company="Spectral Product"
          url="https://www.spectralproducts.com/CM110"

          def __init__(self,port):
              """ Function called when an instance of the class is created

                  args:
                      \n\t- port (string) : the computer port to which the equipment is connected
              """
              self.serial_resource = serial.Serial(
                  port=port,
                  baudrate=9600,
                  parity=serial.PARITY_NONE,
                  stopbits=serial.STOPBITS_ONE,
                  bytesize=serial.EIGHTBITS
              )

          def initialize(self,grating_number=1,waiting_time=30):
              """ Function to initialize the CM110

                  args:
                      \n\t- grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))
                      \n\t- waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position

              """
              reset=[255,255,255]

              self.serial_resource.write(serial.to_bytes([26,grating_number]))
              time.sleep(waiting_time)
              self.serial_resource.write(serial.to_bytes(reset))
              time.sleep(waiting_time)

          def set_wavelength(self, wavelength,waiting_time=5):
              """ Function to set the wavelength of the monochromator

                  args:
                     \n\t- wavelength (scalar) : targeted wavelength in nm
                     \n\t- waiting_time : waiting time in seconds to let the grating of the monochromator reach the targeted wavelength
              """
              set_position = [16,int((wavelength-wavelength%256)/256),int(wavelength)%256] # Goto Position : 1000 -> 0x3E8 -> 3 and 232
              self.serial_resource.write(serial.to_bytes(set_position))
              time.sleep(waiting_time)

          def select_grating(self, grating_number,waiting_time=30):
              """ Function to select the gratin
                     \n\t- grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))
                     \n\t- waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position
              """
              self.serial_resource.write(serial.to_bytes([26,grating_number]))
              time.sleep(waiting_time)

          def close_connection(self):
              """ Function to close the  serial connection with the equipment """
              self.serial_resource.close()

  Class to control CM110 monochromator

  Function called when an instance of the class is created

      args:

  - port (string) : the computer port to which the equipment is connected

  ### Ancestors

  - equipment

  ### Class variables

  `var company`
  `var model`
  `var url`

  ### Methods

  `def close_connection(self)`
    Expand source code

        def close_connection(self):
            """ Function to close the  serial connection with the equipment """
            self.serial_resource.close()

    Function to close the serial connection with the equipment

  `def initialize(self, grating_number=1, waiting_time=30)`
    Expand source code

        def initialize(self,grating_number=1,waiting_time=30):
            """ Function to initialize the CM110

                args:
                    \n\t- grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))
                    \n\t- waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position

            """
            reset=[255,255,255]

            self.serial_resource.write(serial.to_bytes([26,grating_number]))
            time.sleep(waiting_time)
            self.serial_resource.write(serial.to_bytes(reset))
            time.sleep(waiting_time)

    Function to initialize the CM110

        args:

    - grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))

    - waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position

  `def select_grating(self, grating_number, waiting_time=30)`
    Expand source code

        def select_grating(self, grating_number,waiting_time=30):
            """ Function to select the gratin
                   \n\t- grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))
                   \n\t- waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position
            """
            self.serial_resource.write(serial.to_bytes([26,grating_number]))
            time.sleep(waiting_time)

    Function to select the gratin

    - grating_number (int) : select the grating (Grating 1 : AG2400-00240-303 (2400 G/mm and 180 nm - 680 nm) and Grating 2 : AG1200-00750-303 (1200 G/mm and 480 nm - 1500 nm))

    - waiting_time (int) : waiting time in seconds after changing the grating and reset to the initial position

  `def set_wavelength(self, wavelength, waiting_time=5)`
    Expand source code

        def set_wavelength(self, wavelength,waiting_time=5):
            """ Function to set the wavelength of the monochromator

                args:
                   \n\t- wavelength (scalar) : targeted wavelength in nm
                   \n\t- waiting_time : waiting time in seconds to let the grating of the monochromator reach the targeted wavelength
            """
            set_position = [16,int((wavelength-wavelength%256)/256),int(wavelength)%256] # Goto Position : 1000 -> 0x3E8 -> 3 and 232
            self.serial_resource.write(serial.to_bytes(set_position))
            time.sleep(waiting_time)

    Function to set the wavelength of the monochromator

        args:

    - wavelength (scalar) : targeted wavelength in nm

    - waiting_time : waiting time in seconds to let the grating of the monochromator reach the targeted wavelength

  ### Inherited members

  - `equipment`:
    - `set_connection_parameter`
    - `set_connection_parameter_dic`