示例#1
0
    def create(self):
        """Create :py:mod:`rts2saf.devices.CCD` based on properties stored in configuration. Optionally fetch filter offsets from CCD and/or  check if device is present. 

        :return:  :py:mod:`rts2saf.devices.CCD` if success else None

        """
        # configuration has been read in, now create objects
        # create object CCD

        self.ccd= CCD( 
            debug        =self.debug,
            name         =self.rt.cfg['CCD_NAME'],
            ftws         =self.ftws,
            binning      =self.rt.cfg['CCD_BINNING'],
            window       =self.rt.cfg['WINDOW'],
            pixelSize    =float(self.rt.cfg['PIXELSIZE']),
            baseExposure =float(self.rt.cfg['BASE_EXPOSURE']),
            logger=self.logger
            )
            
        if self.check:
            if not self.ccd.check(proxy=self.proxy):
                return None
        if self.fetchOffsets:
            # fetch the filter offsets
            if not self.filterOffsets():
                return None

        return self.ccd
示例#2
0
 def test_deviceClasses(self):
     logger.info('== {} =='.format(self._testMethodName))
     # they are harmless
     # ToDo: move write from CheckDevices to these classes
     ft = Filter()
     self.assertIs(type(ft), Filter,
                   'no object of type: '.format(type(Filter)))
     ftw = FilterWheel()
     self.assertIs(type(ftw), FilterWheel,
                   'no object of type: '.format(type(FilterWheel)))
     foc = Focuser()
     self.assertIs(type(foc), Focuser,
                   'no object of type: '.format(type(Focuser)))
     ccd = CCD()
     self.assertIs(type(ccd), CCD, 'no object of type: '.format(type(CCD)))