/// <summary> /// Launches a configuration dialog box for the driver. The call will not return /// until the user clicks OK or cancel manually. /// </summary> /// <exception cref="DriverException">Must throw an exception if the call was not successful</exception> /// <remarks><p style="color:red"><b>Must be implemented</b></p> </remarks> public void SetupDialog() { memberFactory.CallMember(3, "SetupDialog", new Type[] { }, new object[] { }); }
/// <summary> /// Immediately stop any focuser motion due to a previous <see cref="Move" /> method call. /// </summary> /// <remarks> /// Some focusers may not support this function, in which case an exception will be raised. /// <para><b>Recommendation:</b> Host software should call this method upon initialization and, /// if it fails, disable the Halt button in the user interface.</para> /// </remarks> /// <exception cref="MethodNotImplementedException">Focuser does not support this method.</exception> public void Halt() { memberFactory.CallMember(3, "Halt", new Type[] { }, new object[] { }); }
/// <summary> /// Aborts the current exposure, if any, and returns the camera to Idle state. /// Must throw exception if camera is not idle and abort is /// unsuccessful (or not possible, e.g. during download). /// Must throw exception if hardware or communications error /// occurs. /// Must NOT throw an exception if the camera is already idle. /// </summary> public void AbortExposure() { _memberFactory.CallMember(3, "AbortExposure", new Type[] {}, new object[] {}); }
/// <summary> /// Initiates cover opening if a cover is present /// </summary> /// <exception cref="MethodNotImplementedException">When <see cref="CoverState"/> returns <see cref="CoverStatus.NotPresent"/>.</exception> /// <remarks> /// <para>While the cover is opening <see cref="CoverState"/> must return <see cref="CoverStatus.Moving"/>.</para> /// <para>When the cover is open <see cref="CoverState"/> must return <see cref="CoverStatus.Open"/>.</para> /// <para>If an error condition arises while moving between states, <see cref="CoverState"/> must be set to <see cref="CoverStatus.Error"/> rather than <see cref="CoverStatus.Unknown"/>.</para> /// </remarks> public void OpenCover() { memberFactory.CallMember(3, "OpenCover", new Type[] { }, new object[] { }); }
/// <summary> /// Return the name of switch device n. This method is mandatory. /// </summary> /// <param name="id">The device number to return</param> /// <returns> /// The name of the device /// </returns> /// <exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="MaxSwitch"/> - 1</exception> public string GetSwitchName(short id) { return((string)memberFactory.CallMember(3, "GetSwitchName", new Type[] { typeof(short) }, new object[] { id })); }
/// <summary> /// Provides the time since the sensor value was last updated /// </summary> /// <param name="PropertyName">Name of the property whose time since last update is required</param> /// <returns>Time in seconds since the last sensor update for this property</returns> /// <exception cref="MethodNotImplementedException">If the sensor is not implemented.</exception> /// <exception cref="NotConnectedException">If the device is not connected.</exception> /// <exception cref="InvalidValueException">If an invalid property name parameter is supplied.</exception> /// <remarks> /// <p style="color:red"><b>Must NOT throw a MethodNotImplementedException when the specified sensor is implemented but must throw a MethodNotImplementedException when the specified sensor is not implemented.</b></p> ///<para>PropertyName must be the name of one of the sensor properties specified in the <see cref="IObservingConditions"/> interface. If the caller supplies some other value, throw an InvalidValueException.</para> /// <para>Return a negative value to indicate that no valid value has ever been received from the hardware.</para> /// <para>If an empty string is supplied as the PropertyName, the driver must return the time since the most recent update of any sensor. A MethodNotImplementedException must not be thrown in this circumstance.</para> /// </remarks> public double TimeSinceLastUpdate(string PropertyName) { return((double)_memberFactory.CallMember(3, "TimeSinceLastUpdate", new Type[] { typeof(string) }, new object[] { PropertyName })); }
/// <summary>Immediately stops any and all movement.</summary> /// <remarks> /// <p style="color:red"> /// <b>Must be implemented, must not throw a MethodNotImplementedException.</b> /// </p> /// Calling this method will immediately disable hardware slewing (<see cref="Slaved" /> will /// become <see langword="false" />). Raises an error if a communications failure occurs, or if the /// command is known to have failed. /// </remarks> public void AbortSlew() { memberFactory.CallMember(3, "AbortSlew", new Type[] { }, new object[] { }); }