private void SetCameraToManual() { Logger.WriteTraceMessage("Set camera to manual exposure"); if (Capabilities.ContainsKey(eNkMAIDCapability.kNkMAIDCapability_ExposureMode) && Capabilities[eNkMAIDCapability.kNkMAIDCapability_ExposureMode].CanSet()) { var exposureMode = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_ExposureMode); var foundManual = false; for (int i = 0; i < exposureMode.Length; i++) { if ((uint)exposureMode[i] == (uint)eNkMAIDExposureMode.kNkMAIDExposureMode_Manual) { exposureMode.Index = i; foundManual = true; _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_ExposureMode, exposureMode); break; } } if (!foundManual) { throw new NikonException("Failed to find the 'Manual' exposure mode"); } } else { Logger.WriteTraceMessage("Cannot set to manual mode. Skipping..."); } }
/// <summary> /// Gets the value of a specific retrieved capability. /// </summary> /// <param name="capabilityName">Name of the capability</param> /// <returns>Value of the capability</returns> public String Get(String capabilityName) { if (String.IsNullOrEmpty(capabilityName)) { return(String.Empty); } var result = Capabilities.ContainsKey(capabilityName) ? Capabilities[capabilityName] : String.Empty; return(result); }
public override string this[string name] { get { if (_properties != null && _properties.ContainsKey(name)) { return(_properties[name]); } return((Capabilities != null && Capabilities.ContainsKey(name)) ? Capabilities[name] : string.Empty); } }
public override string this[string name] { get { if (Capabilities.ContainsKey(name)) { return(Capabilities[name]); } return(string.Empty); } }
public void Init(NikonDevice cam) { Logger.WriteTraceMessage("Initializing Nikon camera '" + cam.Name + "'"); _camera = cam; _camera.ImageReady += Camera_ImageReady; _camera.CaptureComplete += _camera_CaptureComplete; //Set to shoot in RAW Logger.WriteTraceMessage("Setting compression to RAW"); var compression = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_CompressionLevel); for (int i = 0; i < compression.Length; i++) { var val = compression.GetEnumValueByIndex(i); if (val.ToString() == "RAW") { compression.Index = i; _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_CompressionLevel, compression); break; } } //Ensure camera is in Manual mode /*var exposureMode = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_ExposureMode); * if (exposureMode.Index != (int)eNkMAIDExposureMode.kNkMAIDExposureMode_Manual) * { * Logger.WriteTraceMessage("Camera not set to Manual mode. Switching now."); * exposureMode.Index = (int)eNkMAIDExposureMode.kNkMAIDExposureMode_Manual; * _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_ExposureMode, exposureMode); * }*/ //Changed to function SetCameraToManual(); GetIsoList(); GetShutterSpeeds(); GetCapabilities(); /* Setting SaveMedia when supported, to save images via SDRAM and not to the internal memory card */ if (Capabilities.ContainsKey(eNkMAIDCapability.kNkMAIDCapability_SaveMedia) && Capabilities[eNkMAIDCapability.kNkMAIDCapability_SaveMedia].CanSet()) { _camera.SetUnsigned(eNkMAIDCapability.kNkMAIDCapability_SaveMedia, (uint)eNkMAIDSaveMedia.kNkMAIDSaveMedia_SDRAM); } else { Logger.WriteTraceMessage("Setting SaveMedia Capability not available. This has to be set manually or is not supported by this model."); } }
private void SetCameraISO(int index) { if (Capabilities.ContainsKey(eNkMAIDCapability.kNkMAIDCapability_Sensitivity) && Capabilities[eNkMAIDCapability.kNkMAIDCapability_Sensitivity].CanSet()) { Logger.WriteTraceMessage("Setting ISO to index: " + index); var ISOCOntrolList = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_Sensitivity); ISOCOntrolList.Index = index; _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_Sensitivity, ISOCOntrolList); } else { Logger.WriteTraceMessage("Cannot set camera ISO. Skipping..."); } }
public void Init(NikonDevice cam) { Logger.Debug("Initializing Nikon camera"); _camera = cam; _camera.ImageReady += Camera_ImageReady; _camera.CaptureComplete += _camera_CaptureComplete; GetCapabilities(); if (Capabilities.TryGetValue(eNkMAIDCapability.kNkMAIDCapability_CompressionLevel, out var compressionCapability)) { if (compressionCapability.CanGet() && compressionCapability.CanSet()) { //Set to shoot in RAW Logger.Debug("Setting compression to RAW"); var compression = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_CompressionLevel); for (int i = 0; i < compression.Length; i++) { var val = compression.GetEnumValueByIndex(i); if (val.ToString() == "RAW") { compression.Index = i; _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_CompressionLevel, compression); break; } } } else { Logger.Trace($"Cannot set compression level: CanGet {compressionCapability.CanGet()} - CanSet {compressionCapability.CanSet()}"); } } else { Logger.Trace("Compression Level capability not available"); } GetShutterSpeeds(); /* Setting SaveMedia when supported, to save images via SDRAM and not to the internal memory card */ if (Capabilities.ContainsKey(eNkMAIDCapability.kNkMAIDCapability_SaveMedia) && Capabilities[eNkMAIDCapability.kNkMAIDCapability_SaveMedia].CanSet()) { _camera.SetUnsigned(eNkMAIDCapability.kNkMAIDCapability_SaveMedia, (uint)eNkMAIDSaveMedia.kNkMAIDSaveMedia_SDRAM); } else { Logger.Trace("Setting SaveMedia Capability not available. This has to be set manually or is not supported by this model."); } }
private void SetCameraShutterSpeed(int index) { if (Capabilities.ContainsKey(eNkMAIDCapability.kNkMAIDCapability_ShutterSpeed) && Capabilities[eNkMAIDCapability.kNkMAIDCapability_ShutterSpeed].CanSet()) { Logger.WriteTraceMessage("Setting shutter speed to index: " + index); var shutterspeed = _camera.GetEnum(eNkMAIDCapability.kNkMAIDCapability_ShutterSpeed); _prevShutterSpeed = shutterspeed.Index; shutterspeed.Index = index; _camera.SetEnum(eNkMAIDCapability.kNkMAIDCapability_ShutterSpeed, shutterspeed); } else { Logger.WriteTraceMessage("Cannot set camera shutter speed. Skipping..."); } }
public bool HasPinCapability(PinModes mode) { return(Capabilities.ContainsKey(mode)); }