コード例 #1
0
ファイル: NikonCamera.cs プロジェクト: daleghent/NINA
        private void GetCapabilities()
        {
            Logger.Debug("Getting Nikon capabilities");
            Capabilities.Clear();
            foreach (NkMAIDCapInfo info in _camera.GetCapabilityInfo())
            {
                Capabilities.Add(info.ulID, info);

                var description = info.GetDescription();
                var canGet      = info.CanGet();
                var canGetArray = info.CanGetArray();
                var canSet      = info.CanSet();
                var canStart    = info.CanStart();

                Logger.Debug(description);
                Logger.Debug("\t Id: " + info.ulID.ToString());
                Logger.Debug("\t CanGet: " + canGet.ToString());
                Logger.Debug("\t CanGetArray: " + canGetArray.ToString());
                Logger.Debug("\t CanSet: " + canSet.ToString());
                Logger.Debug("\t CanStart: " + canStart.ToString());

                if (info.ulID == eNkMAIDCapability.kNkMAIDCapability_ShutterSpeed && !canSet)
                {
                    throw new NikonException("Cannot set shutterspeeds. Please make sure the camera dial is set to a position where bulb mode is possible and the mirror lock is turned off");
                }
            }
        }
コード例 #2
0
        bool LoadFile(string pathToFile)
        {
            if (!File.Exists(pathToFile))
            {
                Debug.LogError("EgoXproject: Change file does not exist: " + pathToFile);
                return(false);
            }

            SavePath = pathToFile;
            PList p = new PList();

            if (!p.Load(SavePath))
            {
                return(false);
            }

            if (!Validate(p))
            {
                return(false);
            }

            //set the platform. if non specified will default to ios
            BuildPlatform platform;

            if (p.Root.EnumValue(BUILD_PLATFORM_KEY, out platform))
            {
                Platform = platform;
            }
            else
            {
                Platform = BuildPlatform.iOS;
            }

            //reset everything
            Frameworks.Clear();
            FilesAndFolders.Clear();
            BuildSettings.Clear();
            Scripts.Clear();
            Signing.Clear();
            Capabilities.Clear();
            //load everything
            InfoPlistChanges = p.Root.DictionaryValue(INFO_PLIST_KEY).Copy() as PListDictionary;
            AppConfig        = p.Root.DictionaryValue(APP_CONFIG_KEY) != null?p.Root.DictionaryValue(APP_CONFIG_KEY).Copy() as PListDictionary : new PListDictionary();

            AppConfigEnabled = p.Root.ArrayValue(APP_CONFIG_ENABLED_KEY) != null?p.Root.ArrayValue(APP_CONFIG_ENABLED_KEY).Copy() as PListArray : new PListArray();

            ManualEntitlements = p.Root.DictionaryValue(MANUAL_ENTITLEMENTS) != null?p.Root.DictionaryValue(MANUAL_ENTITLEMENTS).Copy() as PListDictionary : new PListDictionary();

            LoadFrameworks(p.Root.DictionaryValue(FRAMEWORKS_KEY));
            LoadFilesAndFolders(p.Root.DictionaryValue(FILES_AND_FOLDERS_KEY));
            LoadScripts(p.Root.ArrayValue(SCRIPTS_KEY));
            LoadBuildSettings(p.Root.ArrayValue(BUILD_SETTINGS_KEY));
            LoadSigning(p.Root.DictionaryValue(SIGNING_KEY));
            LoadCapabilities(p.Root.DictionaryValue(CAPABILITIES_KEY));


            IsDirty = false;
            return(true);
        }
コード例 #3
0
        public override bool Init(DeviceDescriptor deviceDescriptor)
        {
            bool res = base.Init(deviceDescriptor);

            Capabilities.Clear();
            HaveLiveView   = false;
            CaptureInSdRam = false;
            return(res);
        }
コード例 #4
0
 public override bool Init(DeviceDescriptor deviceDescriptor)
 {
     bool res = base.Init(deviceDescriptor);
       Capabilities.Clear();
       Capabilities.Add(CapabilityEnum.CaptureNoAf);
       HaveLiveView = false;
       CaptureInSdRam = false;
       return res;
 }
コード例 #5
0
        public override bool Init(DeviceDescriptor deviceDescriptor)
        {
            bool res = base.Init(deviceDescriptor);

            Capabilities.Clear();
            Capabilities.Add(CapabilityEnum.LiveView);
            Capabilities.Add(CapabilityEnum.CaptureInRam);
            Capabilities.Add(CapabilityEnum.CaptureNoAf);
            return(res);
        }
コード例 #6
0
        public override bool Init(DeviceDescriptor deviceDescriptor)
        {
            bool res = base.Init(deviceDescriptor);

            Capabilities.Clear();
            Capabilities.Add(CapabilityEnum.LiveView);
            Capabilities.Add(CapabilityEnum.RecordMovie);
            CaptureInSdRam   = false;
            PropertyChanged -= NikonBase_PropertyChanged;
            return(res);
        }
コード例 #7
0
        private async Task RequestCapabilitiesAsync()
        {
            //TODO why read to end ??? timeout caused by it
            //await ReadToEndAsync();
            await WriteAsync(string.Format("{0} {1}", SmtpCommands.Ehlo, Environment.MachineName));

            var response = await ReadAsync();

            if (response.IsError)
            {
                // Fallback to HELO command, EHLO probably not supported.
                await WriteAsync(string.Format("{0} {1}", SmtpCommands.Helo, Environment.MachineName));
            }

            Capabilities.Clear();
            Capabilities.AddRange(await ReadCapabilitiesAsync());
        }