예제 #1
0
 /// <summary>
 /// Initialize the axis
 /// </summary>
 public override void Initialize()
 {
     IgnorePageList.Add(typeof(RotaryBasePage));
     base.Initialize();
     Enabled = false;
     Homed   = false;
     RegisterOnChanged(() => Enabled, OnEnabledChanged);
 }
        /// <summary>
        /// Initialize this Component
        /// </summary>
        public override void Initialize()
        {
            base.Initialize();

            _delCogCompleteHandler = new CogCompleteEventHandler(CogAcqFifo_Complete);

            IgnorePageList.Add(typeof(CameraBaseCtl));
            IgnorePageList.Add(typeof(CamPanel));

            RegisterOnChanged(() => Brightness, OnChangedBrightness);
            RegisterOnChanged(() => Contrast, OnChangedContrast);
            RegisterOnChanged(() => Exposure, OnChangedExposure);
            RegisterOnChanged(() => VideoFormat, OnChangeVideoFormat);
            RegisterOnChanged(() => CameraID, OnChangeCameraID);
            RegisterOnChanged(() => TriggerMode, OnChangedTriggerMode);

            if (Simulate == eSimulate.SimulateDontAsk)
            {
                throw new ForceSimulateException("Always Simulate");
            }

            try
            {
                // This also assigns the frameGrabber if match is found
                GetCameraIDs();
                GetVideoFormats();
                InitializeFrameGrabber();

                OnChangedBrightness(Brightness);
                OnChangedContrast(Contrast);
                OnChangedExposure(Exposure);

                Simulate = eSimulate.None;
            }
            catch (ForceSimulateException fsex)
            {
                throw fsex;
            }
            catch (Exception ex)
            {
                throw new ForceSimulateException(ex);
            }
        }