6949 lines
463 KiB
XML
6949 lines
463 KiB
XML
<?xml version="1.0"?>
|
||
<doc>
|
||
<assembly>
|
||
<name>
|
||
ASCOM.DeviceInterfaces
|
||
</name>
|
||
</assembly>
|
||
<members>
|
||
<member name="T:ASCOM.DeviceInterface.My.Resources.Resources">
|
||
<summary>
|
||
A strongly-typed resource class, for looking up localized strings, etc.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.My.Resources.Resources.ResourceManager">
|
||
<summary>
|
||
Returns the cached ResourceManager instance used by this class.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.My.Resources.Resources.Culture">
|
||
<summary>
|
||
Overrides the current thread's CurrentUICulture property for all
|
||
resource lookups using this strongly typed resource class.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.AlignmentModes">
|
||
<summary>
|
||
The alignment mode of the mount.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.AlignmentModes.algAltAz">
|
||
<summary>
|
||
Altitude-Azimuth alignment.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.AlignmentModes.algPolar">
|
||
<summary>
|
||
Polar (equatorial) mount other than German equatorial.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.AlignmentModes.algGermanPolar">
|
||
<summary>
|
||
German equatorial mount.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.DriveRates">
|
||
<summary>
|
||
Well-known telescope tracking rates.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.DriveRates.driveSidereal">
|
||
<summary>
|
||
Sidereal tracking rate (15.041 arcseconds per second).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.DriveRates.driveLunar">
|
||
<summary>
|
||
Lunar tracking rate (14.685 arcseconds per second).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.DriveRates.driveSolar">
|
||
<summary>
|
||
Solar tracking rate (15.0 arcseconds per second).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.DriveRates.driveKing">
|
||
<summary>
|
||
King tracking rate (15.0369 arcseconds per second).
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.EquatorialCoordinateType">
|
||
<summary>
|
||
Equatorial coordinate systems used by telescopes.
|
||
Only used with telescope interface versions 2 and 3
|
||
</summary>
|
||
<remarks>
|
||
In June 2018 the name equLocalTopocentric was deprecated in favour of equTopocentric, both names return the same value (1).
|
||
The rationale for this change is set out in the <conceptualLink target="72A95B28-BBE2-4C7D-BC03-2D6AB324B6F7">Astronomical Coordinates</conceptualLink> section.
|
||
</remarks>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equOther">
|
||
<summary>
|
||
Custom or unknown equinox and/or reference frame.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equTopocentric">
|
||
<summary>
|
||
Topocentric coordinates. Coordinates of the object at the current date having allowed for annual aberration, precession and nutation. This is the most common coordinate type for amateur telescopes.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equJ2000">
|
||
<summary>
|
||
J2000 equator/equinox. Coordinates of the object at mid-day on 1st January 2000, ICRS reference frame.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equJ2050">
|
||
<summary>
|
||
J2050 equator/equinox, ICRS reference frame.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equB1950">
|
||
<summary>
|
||
B1950 equinox, FK4 reference frame.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.EquatorialCoordinateType.equLocalTopocentric">
|
||
<summary>
|
||
Please use equTopocentric instead - see <conceptualLink target="72A95B28-BBE2-4C7D-BC03-2D6AB324B6F7">Astronomical Coordinates</conceptualLink> for an explanation.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.GuideDirections">
|
||
<summary>
|
||
The direction in which the guide-rate motion is to be made.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.GuideDirections.guideNorth">
|
||
<summary>
|
||
North (+ declination/altitude).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.GuideDirections.guideSouth">
|
||
<summary>
|
||
South (- declination/altitude).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.GuideDirections.guideEast">
|
||
<summary>
|
||
East (+ right ascension/azimuth).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.GuideDirections.guideWest">
|
||
<summary>
|
||
West (- right ascension/azimuth)
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.TelescopeAxes">
|
||
<summary>
|
||
The telescope axes
|
||
Only used with if the telescope interface version is 2 or 3
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.TelescopeAxes.axisPrimary">
|
||
<summary>
|
||
Primary axis (e.g., Right Ascension or Azimuth).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.TelescopeAxes.axisSecondary">
|
||
<summary>
|
||
Secondary axis (e.g., Declination or Altitude).
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.TelescopeAxes.axisTertiary">
|
||
<summary>
|
||
Tertiary axis (e.g. imager rotator/de-rotator).
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.PierSide">
|
||
<summary>
|
||
The pointing state of the mount
|
||
</summary>
|
||
<remarks>
|
||
<para><c>Pier side</c> is a GEM-specific term that has historically caused much confusion.
|
||
As of Platform 6, the PierSide property is defined to refer to the telescope pointing state. Please see <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.SideOfPier" /> for
|
||
much more information on this topic.</para>
|
||
<para>In order to support Dome slaving, where it is important to know on which side of the pier the mount is actually located, ASCOM has adopted the
|
||
convention that the Normal pointing state will be the state where the mount is on the East side of the pier, looking West with the counterweights below
|
||
the optical assembly.</para>
|
||
<para>Only used with telescope interface versions 2 and later.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.PierSide.pierEast">
|
||
<summary>
|
||
Normal pointing state - Mount on the East side of pier (looking West)
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.PierSide.pierUnknown">
|
||
<summary>
|
||
Unknown or indeterminate.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.PierSide.pierWest">
|
||
<summary>
|
||
Through the pole pointing state - Mount on the West side of pier (looking East)
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ShutterState">
|
||
<summary>
|
||
ASCOM Dome ShutterState status values.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.ShutterState.shutterOpen">
|
||
<summary>
|
||
Dome shutter status open
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.ShutterState.shutterClosed">
|
||
<summary>
|
||
Dome shutter status closed
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.ShutterState.shutterOpening">
|
||
<summary>
|
||
Dome shutter status opening
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.ShutterState.shutterClosing">
|
||
<summary>
|
||
Dome shutter status closing
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.ShutterState.shutterError">
|
||
<summary>
|
||
Dome shutter status error
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.CameraStates">
|
||
<summary>
|
||
ASCOM Camera status values.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraIdle">
|
||
<summary>
|
||
Camera status idle
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraWaiting">
|
||
<summary>
|
||
Camera status waiting
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraExposing">
|
||
<summary>
|
||
Camera status exposing
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraReading">
|
||
<summary>
|
||
Camera status reading
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraDownload">
|
||
<summary>
|
||
Camera status download
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.CameraStates.cameraError">
|
||
<summary>
|
||
Camera status error
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.SensorType">
|
||
<summary>
|
||
Sensor type, identifies the type of colour sensor
|
||
V2 cameras only
|
||
</summary>]
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.Monochrome">
|
||
<summary>
|
||
Camera produces monochrome array with no Bayer encoding
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.Color">
|
||
<summary>
|
||
Camera produces color image directly, requiring not Bayer decoding
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.RGGB">
|
||
<summary>
|
||
Camera produces RGGB encoded Bayer array images
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.CMYG">
|
||
<summary>
|
||
Camera produces CMYG encoded Bayer array images
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.CMYG2">
|
||
<summary>
|
||
Camera produces CMYG2 encoded Bayer array images
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.SensorType.LRGB">
|
||
<summary>
|
||
Camera produces Kodak TRUESENSE Bayer LRGB array images
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IAxisRates">
|
||
<summary>
|
||
A collection of rates at which the telescope may be moved about the specified axis by the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method.
|
||
This is only used if the telescope interface version is 2 or 3
|
||
</summary>
|
||
<remarks><para>See the description of the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method for more information.</para>
|
||
<para>This method must return an empty collection if <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> is not supported.</para>
|
||
<para>The values used in <see cref="T:ASCOM.DeviceInterface.IRate" /> members must be non-negative; forward and backward motion is achieved by the application
|
||
applying an appropriate sign to the returned <see cref="T:ASCOM.DeviceInterface.IRate" /> values in the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> command.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IAxisRates.Item(System.Int32)">
|
||
<summary>
|
||
Return information about the rates at which the telescope may be moved about the specified axis by the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method.
|
||
</summary>
|
||
<param name="index">The axis about which rate information is desired</param>
|
||
<value>Collection of Rate objects describing the supported rates of motion that can be supplied to the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method for the specified axis.</value>
|
||
<returns>Collection of Rate objects </returns>
|
||
<remarks><para>The (symbolic) values for Index (<see cref="T:ASCOM.DeviceInterface.TelescopeAxes" />) are:</para>
|
||
<bl>
|
||
<li><see cref="F:ASCOM.DeviceInterface.TelescopeAxes.axisPrimary"/> 0 Primary axis (e.g., Hour Angle or Azimuth)</li>
|
||
<li><see cref="F:ASCOM.DeviceInterface.TelescopeAxes.axisSecondary"/> 1 Secondary axis (e.g., Declination or Altitude)</li>
|
||
<li><see cref="F:ASCOM.DeviceInterface.TelescopeAxes.axisTertiary"/> 2 Tertiary axis (e.g. imager rotator/de-rotator)</li>
|
||
</bl>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IAxisRates.Count">
|
||
<summary>
|
||
Number of items in the returned collection
|
||
</summary>
|
||
<value>Number of items</value>
|
||
<returns>Integer number of items</returns>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IAxisRates.Dispose">
|
||
<summary>
|
||
Disposes of the object and cleans up
|
||
</summary>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IAxisRates.GetEnumerator">
|
||
<summary>
|
||
Returns an enumerator for the collection
|
||
</summary>
|
||
<returns>An enumerator</returns>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ICameraV2">
|
||
<summary>
|
||
Defines the ICamera Interface
|
||
</summary>
|
||
<remarks>The camera state diagram is shown here: <img src="../media/Camerav2 State Diagram.png"/></remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ICameraV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.ICameraV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.ICameraV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a MethodNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>May throw a MethodNotImplementedException if the device does not support any actions.</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.ICameraV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p> This method must return an empty arraylist if no actions are supported.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.ICameraV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>May throw a MethodNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>May throw a MethodNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>May throw a MethodNotImplementedException.</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.AbortExposure">
|
||
<summary>
|
||
Aborts the current exposure, if any, and returns the camera to Idle state.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a MethodNotImplementedException.</b></p>
|
||
<para><b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>Must throw exception if camera is not idle and abort is unsuccessful (or not possible, e.g. during download).</description></item>
|
||
<item><description>Must throw exception if hardware or communications error occurs.</description></item>
|
||
<item><description>Must NOT throw an exception if the camera is already idle.</description></item>
|
||
</list> </para>
|
||
</remarks>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">Thrown if abort is not currently possible (e.g. during download).</exception>
|
||
<exception cref="T:ASCOM.DriverException">Thrown if a communications error occurs, or if the abort fails.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.BinX">
|
||
<summary>
|
||
Sets the binning factor for the X axis, also returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
Should default to 1 when the camera connection is established. Note: driver does not check
|
||
for compatible subframe values when this value is set; rather they are checked upon <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see>.
|
||
</remarks>
|
||
<value>The X binning value</value>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception for illegal binning values</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.BinY">
|
||
<summary>
|
||
Sets the binning factor for the Y axis, also returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
Should default to 1 when the camera connection is established. Note: driver does not check
|
||
for compatible subframe values when this value is set; rather they are checked upon <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see>.
|
||
</remarks>
|
||
<value>The Y binning value.</value>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception for illegal binning values</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CameraState">
|
||
<summary>
|
||
Returns the current camera operational state
|
||
</summary>
|
||
<remarks>
|
||
Returns one of the following status information:
|
||
<list type="bullet">
|
||
<listheader><description>Value State Meaning</description></listheader>
|
||
<item><description>0 CameraIdle At idle state, available to start exposure</description></item>
|
||
<item><description>1 CameraWaiting Exposure started but waiting (for shutter, trigger, filter wheel, etc.)</description></item>
|
||
<item><description>2 CameraExposing Exposure currently in progress</description></item>
|
||
<item><description>3 CameraReading CCD array is being read out (digitized)</description></item>
|
||
<item><description>4 CameraDownload Downloading data to PC</description></item>
|
||
<item><description>5 CameraError Camera error condition serious enough to prevent further operations (connection fail, etc.).</description></item>
|
||
</list>
|
||
</remarks>
|
||
<value>The state of the camera.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must return an exception if the camera status is unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CameraXSize">
|
||
<summary>
|
||
Returns the width of the CCD camera chip in unbinned pixels.
|
||
</summary>
|
||
<value>The size of the camera X.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if the value is not known</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CameraYSize">
|
||
<summary>
|
||
Returns the height of the CCD camera chip in unbinned pixels.
|
||
</summary>
|
||
<value>The size of the camera Y.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if the value is not known</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanAbortExposure">
|
||
<summary>
|
||
Returns <c>true</c> if the camera can abort exposures; <c>false</c> if not.
|
||
</summary>
|
||
<value>
|
||
<c>true</c> if this instance can abort exposure; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin">
|
||
<summary>
|
||
Returns a flag showing whether this camera supports asymmetric binning
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>If <c>true</c>, the camera can have different binning on the X and Y axes, as
|
||
determined by <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinX" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinY" />. If <c>false</c>, the binning must be equal on the X and Y axes.</para>
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if this instance can asymmetric bin; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if the value is not known (n.b. normally only
|
||
occurs if no connection established and camera must be queried)</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanGetCoolerPower">
|
||
<summary>
|
||
If <c>true</c>, the camera's cooler power setting can be read.
|
||
</summary>
|
||
<value>
|
||
<c>true</c> if this instance can get cooler power; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanPulseGuide">
|
||
<summary>
|
||
Returns a flag indicating whether this camera supports pulse guiding
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>Returns <c>true</c> if the camera can send autoguider pulses to the telescope mount; <c>false</c> if not.
|
||
Note: this does not provide any indication of whether the autoguider cable is actually connected.</para>
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if this instance can pulse guide; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanSetCCDTemperature">
|
||
<summary>
|
||
Returns a flag indicatig whether this camera supports setting the CCD temperature
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>If <c>true</c>, the camera's cooler setpoint can be adjusted. If <c>false</c>, the camera
|
||
either uses open-loop cooling or does not have the ability to adjust temperature
|
||
from software, and setting the <see cref="P:ASCOM.DeviceInterface.ICameraV2.SetCCDTemperature" /> property has no effect.</para>
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if this instance can set CCD temperature; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanStopExposure">
|
||
<summary>
|
||
Returns a flag indicating whether this camera can stop an exposure that is in progress
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>Some cameras support <see cref="M:ASCOM.DeviceInterface.ICameraV2.StopExposure" />, which allows the exposure to be terminated
|
||
before the exposure timer completes, but will still read out the image. Returns
|
||
<c>true</c> if <see cref="M:ASCOM.DeviceInterface.ICameraV2.StopExposure" /> is available, <c>false</c> if not.</para>
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if the camera can stop the exposure; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">an error condition such as connection failure is present</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CCDTemperature">
|
||
<summary>
|
||
Returns the current CCD temperature in degrees Celsius.
|
||
</summary>
|
||
<value>The CCD temperature.</value>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw exception if data unavailable.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if not supported.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CoolerOn">
|
||
<summary>
|
||
Turns on and off the camera cooler, and returns the current on/off state.
|
||
</summary>
|
||
<remarks>
|
||
<b>Warning:</b> turning the cooler off when the cooler is operating at high delta-T
|
||
(typically >20C below ambient) may result in thermal shock. Repeated thermal
|
||
shock may lead to damage to the sensor or cooler stack. Please consult the
|
||
documentation supplied with the camera for further information.
|
||
</remarks>
|
||
<value><c>true</c> if the cooler is on; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">an error condition such as connection failure is present</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CoolerPower">
|
||
<summary>
|
||
Returns the present cooler power level, in percent.
|
||
</summary>
|
||
<remarks>
|
||
Returns zero if <see cref="P:ASCOM.DeviceInterface.ICameraV2.CoolerOn" /> is <c>false</c>.
|
||
</remarks>
|
||
<value>The cooler power.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">an error condition such as connection failure is present</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ElectronsPerADU">
|
||
<summary>
|
||
Returns the gain of the camera in photoelectrons per A/D unit.
|
||
</summary>
|
||
<remarks>
|
||
Some cameras have multiple gain modes; these should be selected via the <see cref="M:ASCOM.DeviceInterface.ICameraV2.SetupDialog" /> and thus are
|
||
static during a session.
|
||
</remarks>
|
||
<value>The electrons per ADU.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.FullWellCapacity">
|
||
<summary>
|
||
Reports the full well capacity of the camera in electrons, at the current camera settings (binning, SetupDialog settings, etc.)
|
||
</summary>
|
||
<value>The full well capacity.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.HasShutter">
|
||
<summary>
|
||
Returns a flag indicating whether this camera has a mechanical shutter
|
||
</summary>
|
||
<remarks>
|
||
If <c>true</c>, the camera has a mechanical shutter. If <c>false</c>, the camera does not have
|
||
a shutter. If there is no shutter, the <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see> command will ignore the
|
||
Light parameter.
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if this instance has shutter; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.HeatSinkTemperature">
|
||
<summary>
|
||
Returns the current heat sink temperature (called "ambient temperature" by some manufacturers) in degrees Celsius.
|
||
</summary>
|
||
<remarks>
|
||
Only valid if <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanSetCCDTemperature" /> is <c>true</c>.
|
||
</remarks>
|
||
<value>The heat sink temperature.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ImageArray">
|
||
<summary>
|
||
Returns a safearray of int of size <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> * <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> containing the pixel values from the last exposure.
|
||
</summary>
|
||
<remarks>
|
||
The application must inspect the Safearray parameters to determine the dimensions.
|
||
<para>Note: if <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> or <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> is changed after a call to <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see> it will
|
||
have no effect on the size of this array. This is the preferred method for programs (not scripts) to download
|
||
iamges since it requires much less memory.</para>
|
||
<para>For color or multispectral cameras, will produce an array of <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> * <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> *
|
||
NumPlanes. If the application cannot handle multispectral images, it should use just the first plane.</para>
|
||
</remarks>
|
||
<value>The image array.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ImageArrayVariant">
|
||
<summary>
|
||
Returns a safearray of Variant of size <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> * <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> containing the pixel values from the last exposure.
|
||
</summary>
|
||
<remarks>
|
||
The application must inspect the Safearray parameters to
|
||
determine the dimensions. Note: if <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> or <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> is changed after a call to
|
||
<see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see> it will have no effect on the size of this array. This property
|
||
should only be used from scripts due to the extremely high memory utilization on
|
||
large image arrays (26 bytes per pixel). Pixels values should be in Short, int,
|
||
or Double format.
|
||
<para>For color or multispectral cameras, will produce an array of <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" /> * <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" /> *
|
||
NumPlanes. If the application cannot handle multispectral images, it should use
|
||
just the first plane.</para>
|
||
</remarks>
|
||
<value>The image array variant.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ImageReady">
|
||
<summary>
|
||
Returns a flag indicating whether the image is ready to be downloaded fom the camera
|
||
</summary>
|
||
<remarks>
|
||
If <c>true</c>, there is an image from the camera available. If <c>false</c>, no image
|
||
is available and attempts to use the <see cref="P:ASCOM.DeviceInterface.ICameraV2.ImageArray" /> method will produce an exception
|
||
</remarks>.
|
||
<value><c>true</c> if [image ready]; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">hardware or communications connection error has occurred.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.IsPulseGuiding">
|
||
<summary>
|
||
Returns a flag indicating whether the camera is currrently in a <see cref="M:ASCOM.DeviceInterface.ICameraV2.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see> operation.
|
||
</summary>
|
||
<remarks>
|
||
If <c>true</c>, pulse guiding is in progress. Required if the <see cref="M:ASCOM.DeviceInterface.ICameraV2.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see> method
|
||
(which is non-blocking) is implemented. See the <see cref="M:ASCOM.DeviceInterface.ICameraV2.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see> method.
|
||
</remarks>
|
||
<value>
|
||
<c>true</c> if this instance is pulse guiding; otherwise, <c>false</c>.
|
||
</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">hardware or communications connection error has occurred.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.LastExposureDuration">
|
||
<summary>
|
||
Reports the actual exposure duration in seconds (i.e. shutter open time).
|
||
</summary>
|
||
<remarks>
|
||
This may differ from the exposure time requested due to shutter latency, camera timing precision, etc.
|
||
</remarks>
|
||
<value>The last duration of the exposure.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if not supported</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If called before any exposure has been taken</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.LastExposureStartTime">
|
||
<summary>
|
||
Reports the actual exposure start in the FITS-standard CCYY-MM-DDThh:mm:ss[.sss...] format.
|
||
The start time must be UTC.
|
||
</summary>
|
||
<value>The last exposure start time in UTC.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if not supported</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If called before any exposure has been taken</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.MaxADU">
|
||
<summary>
|
||
Reports the maximum ADU value the camera can produce.
|
||
</summary>
|
||
<value>The maximum ADU.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.MaxBinX">
|
||
<summary>
|
||
Returns the maximum allowed binning for the X camera axis
|
||
</summary>
|
||
<remarks>
|
||
If <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin" /> = <c>false</c>, returns the maximum allowed binning factor. If
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin" /> = <c>true</c>, returns the maximum allowed binning factor for the X axis.
|
||
</remarks>
|
||
<value>The max bin X.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.MaxBinY">
|
||
<summary>
|
||
Returns the maximum allowed binning for the Y camera axis
|
||
</summary>
|
||
<remarks>
|
||
If <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin" /> = <c>false</c>, equals <see cref="P:ASCOM.DeviceInterface.ICameraV2.MaxBinX" />. If <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin" /> = <c>true</c>,
|
||
returns the maximum allowed binning factor for the Y axis.
|
||
</remarks>
|
||
<value>The max bin Y.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.NumX">
|
||
<summary>
|
||
Sets the subframe width. Also returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
If binning is active, value is in binned pixels. No error check is performed when the value is set.
|
||
Should default to <see cref="P:ASCOM.DeviceInterface.ICameraV2.CameraXSize" />.
|
||
</remarks>
|
||
<value>The num X.</value>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.NumY">
|
||
<summary>
|
||
Sets the subframe height. Also returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
If binning is active,
|
||
value is in binned pixels. No error check is performed when the value is set.
|
||
Should default to <see cref="P:ASCOM.DeviceInterface.ICameraV2.CameraYSize" />.
|
||
</remarks>
|
||
<value>The num Y.</value>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.PixelSizeX">
|
||
<summary>
|
||
Returns the width of the CCD chip pixels in microns.
|
||
</summary>
|
||
<value>The pixel size X.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.PixelSizeY">
|
||
<summary>
|
||
Returns the height of the CCD chip pixels in microns.
|
||
</summary>
|
||
<value>The pixel size Y.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">
|
||
<summary>
|
||
Activates the Camera's mount control sytem to instruct the mount to move in a particular direction for a given period of time
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>May throw a not implemented exception if this camera does not support PulseGuide</b></p>
|
||
<para>This method returns only after the move has completed.</para>
|
||
<para>
|
||
The (symbolic) values for GuideDirections are:
|
||
<list type="bullet">
|
||
<listheader><description>Constant Value Description</description></listheader>
|
||
<item><description>guideNorth 0 North (+ declination/elevation)</description></item>
|
||
<item><description>guideSouth 1 South (- declination/elevation)</description></item>
|
||
<item><description>guideEast 2 East (+ right ascension/azimuth)</description></item>
|
||
<item><description>guideWest 3 West (+ right ascension/azimuth)</description></item>
|
||
</list>
|
||
</para>
|
||
<para>Note: directions are nominal and may depend on exact mount wiring.
|
||
<see cref="F:ASCOM.DeviceInterface.GuideDirections.guideNorth" /> must be opposite <see cref="F:ASCOM.DeviceInterface.GuideDirections.guideSouth" />, and
|
||
<see cref="F:ASCOM.DeviceInterface.GuideDirections.guideEast" /> must be opposite <see cref="F:ASCOM.DeviceInterface.GuideDirections.guideWest" />.</para>
|
||
</remarks>
|
||
<param name="Direction">The direction of movement.</param>
|
||
<param name="Duration">The duration of movement in milli-seconds.</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">PulseGuide command is unsupported</exception>
|
||
<exception cref="T:ASCOM.DriverException">PulseGuide command is unsuccessful</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.SetCCDTemperature">
|
||
<summary>
|
||
Sets the camera cooler setpoint in degrees Celsius, and returns the current setpoint.
|
||
</summary>
|
||
<remarks>
|
||
<para>The driver should throw an <see cref="T:ASCOM.InvalidValueException" /> if an attempt is made to set <see cref="P:ASCOM.DeviceInterface.ICameraV2.SetCCDTemperature" />
|
||
outside the valid range for the camera. As an assitance to driver authors, to protect equipment and prevent harm to individuals,
|
||
Conform will report an issue if it is possible to set <see cref="P:ASCOM.DeviceInterface.ICameraV2.SetCCDTemperature" /> below -280C or above +100C.</para>
|
||
<b>Note:</b> Camera hardware and/or driver should perform cooler ramping, to prevent
|
||
thermal shock and potential damage to the CCD array or cooler stack.
|
||
</remarks>
|
||
<value>The set CCD temperature.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw exception if command not successful.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an InvalidValueException if an attempt is made to set a value is outside the
|
||
camera's valid termperature setpoint range.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanSetCCDTemperature" /> is <c>false</c>.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">
|
||
<summary>
|
||
Starts an exposure. Use <see cref="P:ASCOM.DeviceInterface.ICameraV2.ImageReady" /> to check when the exposure is complete.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a MethodNotImplementedException.</b></p>
|
||
<para>A dark frame or bias exposure may be shorter than the V2 <see cref="P:ASCOM.DeviceInterface.ICameraV2.ExposureMin" /> value and for a bias frame can be zero.
|
||
Check the value of <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">Light</see> and allow exposures down to 0 seconds
|
||
if <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">Light</see> is <c>false</c>. If the hardware will not
|
||
support an exposure duration of zero then, for dark and bias frames, set it to the minimum that is possible.</para>
|
||
<para>Some applications will set an exposure time of zero for bias frames so it's important that the driver allows this.</para>
|
||
</remarks>
|
||
<param name="Duration">Duration of exposure in seconds, can be zero if <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">Light</see> is <c>false</c></param>
|
||
<param name="Light"><c>true</c> for light frame, <c>false</c> for dark frame (ignored if no shutter)</param>
|
||
<exception cref="T:ASCOM.InvalidValueException"><see cref="P:ASCOM.DeviceInterface.ICameraV2.NumX" />, <see cref="P:ASCOM.DeviceInterface.ICameraV2.NumY" />, <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinX" />,
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.BinY" />, <see cref="P:ASCOM.DeviceInterface.ICameraV2.StartX" />, <see cref="P:ASCOM.DeviceInterface.ICameraV2.StartY" />, or <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">Duration</see> parameters are invalid.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException"><see cref="P:ASCOM.DeviceInterface.ICameraV2.CanAsymmetricBin" /> is <c>false</c> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinX" /> != <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinY" /></exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">the exposure cannot be started for any reason, such as a hardware or communications error</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.StartX">
|
||
<summary>
|
||
Sets the subframe start position for the X axis (0 based) and returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>If binning is active, value is in binned pixels.</para>
|
||
</remarks>
|
||
<value>The start X.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.StartY">
|
||
<summary>
|
||
Sets the subframe start position for the Y axis (0 based). Also returns the current value.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>If binning is active, value is in binned pixels.</para>
|
||
</remarks>
|
||
<value>The start Y.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected.</exception>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ICameraV2.StopExposure">
|
||
<summary>
|
||
Stops the current exposure, if any.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>May throw a not implemented exception</b></p>
|
||
<para>If an exposure is in progress, the readout process is initiated. Ignored if readout is already in process.</para>
|
||
</remarks>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Must throw an exception if CanStopExposure is <c>false</c></exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the camera or connection has an error condition</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if for any reason no image readout will be available.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetX">
|
||
<summary>
|
||
Returns the X offset of the Bayer matrix, as defined in <see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" />.
|
||
</summary>
|
||
<returns>The Bayer colour matrix X offset, as defined in <see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" />.</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Monochrome cameras must throw this exception, colour cameras must not.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented by colour cameras, monochrome cameras must throw a PropertyNotImplementedException</b></p>
|
||
<para>Since monochrome cameras don't have a bayer colour matrix by definition, such cameras shold throw a <see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
Colour cameras should always return a value and must not throw a <see cref="T:ASCOM.PropertyNotImplementedException" /></para>
|
||
<para>The value returned must be in the range 0 to M-1 where M is the width of the Bayer matrix. The offset is relative to the 0,0 pixel in
|
||
the sensor array, and does not change to reflect subframe settings.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with
|
||
the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetY">
|
||
<summary>
|
||
Returns the Y offset of the Bayer matrix, as defined in <see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" />.
|
||
</summary>
|
||
<returns>The Bayer colour matrix Y offset, as defined in <see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" />.</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Monochrome cameras must throw this exception, colour cameras must not.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented by colour cameras, monochrome cameras must throw a PropertyNotImplementedException</b></p>
|
||
<para>Since monochrome cameras don't have a bayer colour matrix by definition, such cameras shold throw a <see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
Colour cameras should always return a value and must not throw a <see cref="T:ASCOM.PropertyNotImplementedException" /></para>
|
||
<para>The value returned must be in the range 0 to M-1 where M is the width of the Bayer matrix. The offset is relative to the 0,0 pixel in
|
||
the sensor array, and does not change to reflect subframe settings.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with
|
||
the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.CanFastReadout">
|
||
<summary>
|
||
Camera has a fast readout mode
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<returns><c>true</c> when the camera supports a fast readout mode</returns>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to
|
||
ensure that the driver is aware of the capabilities of the specific camera model.
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ExposureMax">
|
||
<summary>
|
||
Returns the maximum exposure time supported by <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see>.
|
||
</summary>
|
||
<returns>The maximum exposure time, in seconds, that the camera supports</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
It is recommended that this function be called only after
|
||
a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure that the driver is aware of the capabilities of the
|
||
specific camera model.
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ExposureMin">
|
||
<summary>
|
||
Minimium exposure time
|
||
</summary>
|
||
<returns>The minimum exposure time, in seconds, that the camera supports through <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see></returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This must be a non-zero number representing the shortest possible exposure time supported by the camera model.
|
||
<para>Please note that for bias frame acquisition an even shorter exposure may be possible; please see <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see>
|
||
for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ExposureResolution">
|
||
<summary>
|
||
Exposure resolution
|
||
</summary>
|
||
<returns>The smallest increment in exposure time supported by <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see>.</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This can be used, for example, to specify the resolution of a user interface "spin control" used to dial in the exposure time.
|
||
<para>Please note that the Duration provided to <see cref="M:ASCOM.DeviceInterface.ICameraV2.StartExposure(System.Double,System.Boolean)">StartExposure</see> does not have to be an exact multiple of this number;
|
||
the driver should choose the closest available value. Also in some cases the resolution may not be constant over the full range
|
||
of exposure times; in this case the smallest increment would be appropriate. A value of 0.0 shall indicate that there is no minimum resulution
|
||
except that imposed by the resolution of the double value itself.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.FastReadout">
|
||
<summary>
|
||
Gets or sets Fast Readout Mode
|
||
</summary>
|
||
<value><c>true</c> for fast readout mode, <c>false</c> for normal mode</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Thrown if <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanFastReadout" /> is <c>false</c>.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Thrown if the driver is not connected and a connection is required to obtain this information.</exception>
|
||
<remarks><p style="color:red"><b>Must throw a PropertyNotImplementedException if CanFastReadout is false or
|
||
return a boolean value if CanFastReadout is true.</b></p>
|
||
Must thrown an exception if no <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established to the camera. Must throw
|
||
a <see cref="T:ASCOM.PropertyNotImplementedException" /> if <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanFastReadout" /> returns <c>false</c>.
|
||
<para>Many cameras have a "fast mode" intended for use in focusing. When set to <c>true</c>, the camera will operate in Fast mode; when
|
||
set <c>false</c>, the camera will operate normally. This property, if implemented, should default to <c>False</c>.</para>
|
||
<para>Please note that this function may in some cases interact with <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" />; for example, there may be modes where
|
||
the Fast/Normal switch is meaningless. In this case, it may be preferable to use the <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" /> function to control
|
||
fast/normal switching.</para>
|
||
<para>If this feature is not available, then <see cref="P:ASCOM.DeviceInterface.ICameraV2.CanFastReadout" /> must return <c>false</c>.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.Gain">
|
||
<summary>
|
||
Index into the <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gains" /> array for the selected camera gain
|
||
</summary>
|
||
<value>Short integer index for the current camera gain in the <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gains" /> string array.</value>
|
||
<returns>Index into the Gains array for the selected camera gain</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if gain is not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if Gain is not supported by the camera.</b></p>
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> can be used to adjust the gain setting of the camera, if supported. There are two typical usage scenarios:
|
||
<ul>
|
||
<li>DSLR Cameras - <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gains" /> will return a 0-based array of strings, which correspond to different gain settings such as
|
||
"ISO 800". <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> must be set to an integer in this range. <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> must thrown an exception if
|
||
this mode is used.</li>
|
||
<li>Adjustable gain CCD cameras - <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> return integers, which specify the valid range for <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" />.</li>
|
||
</ul>
|
||
<para>The driver must default <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> to a valid value. </para>
|
||
<para>Please note that <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode" /> may in some cases affect the gain of the camera; if so the driver must be written such
|
||
that the two properties do not conflict if both are used.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.GainMax">
|
||
<summary>
|
||
Maximum value of <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" />
|
||
</summary>
|
||
<value>Short integer representing the maximum gain value supported by the camera.</value>
|
||
<returns>The maximum gain value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GainMax is not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if GainMax is not supported by the camera..</b></p>
|
||
When specifying the gain setting with an integer value, <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> shall be greater than <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" />. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.GainMin">
|
||
<summary>
|
||
Minimum value of <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" />
|
||
</summary>
|
||
<returns>The minimum gain value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GainMin is not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if GainMin is not supported by the camera.</b></p>
|
||
When specifying the gain setting with an integer value, <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> shall be greater than <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" />. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.Gains">
|
||
<summary>
|
||
Gains supported by the camera
|
||
</summary>
|
||
<returns>An ArrayList of gain names </returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if Gains is not supported</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if Gains is not supported by the camera.</b></p>
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.Gains" /> provides a 0-based array of available gain settings. This is often used to specify ISO settings for DSLR cameras.
|
||
Typically the application software will display the available gain settings in a drop list. The application will then supply
|
||
the selected index to the driver via the <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> property.
|
||
<para>The <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gain" /> setting may alternatively be specified using integer values; if this mode is used then <see cref="P:ASCOM.DeviceInterface.ICameraV2.Gains" /> is invalid
|
||
and must throw an exception. Please see <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMax" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.GainMin" /> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware,
|
||
to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.PercentCompleted">
|
||
<summary>
|
||
Percent conpleted, Interface Version 2 only
|
||
</summary>
|
||
<returns>A value between 0 and 100% indicating the completeness of this operation</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if PercentCompleted is not supported</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">Thrown when it is inappropriate to call <see cref="P:ASCOM.DeviceInterface.ICameraV2.PercentCompleted" /></exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if PercentCompleted is not supported by the camera.</b></p>
|
||
If valid, returns an integer between 0 and 100, where 0 indicates 0% progress (function just started) and
|
||
100 indicates 100% progress (i.e. completion).
|
||
<para>At the discretion of the driver author, <see cref="P:ASCOM.DeviceInterface.ICameraV2.PercentCompleted" /> may optionally be valid
|
||
when <see cref="P:ASCOM.DeviceInterface.ICameraV2.CameraState" /> is in any or all of the following
|
||
states: <see cref="F:ASCOM.DeviceInterface.CameraStates.cameraExposing" />,
|
||
<see cref="F:ASCOM.DeviceInterface.CameraStates.cameraWaiting" />, <see cref="F:ASCOM.DeviceInterface.CameraStates.cameraReading" />
|
||
or <see cref="F:ASCOM.DeviceInterface.CameraStates.cameraDownload" />. In all other states an exception shall be thrown.</para>
|
||
<para>Typically the application user interface will show a progress bar based on the <see cref="P:ASCOM.DeviceInterface.ICameraV2.PercentCompleted" /> value.</para>
|
||
<para>Please note that client applications are not required to use this value, and in some cases may display status
|
||
information based on other information, such as time elapsed.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode">
|
||
<summary>
|
||
Readout mode, Interface Version 2 only
|
||
</summary>
|
||
<value></value>
|
||
<returns>Short integer index into the <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes">ReadoutModes</see> array of string readout mode names indicating
|
||
the camera's current readout mode.</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if set to an illegal or unavailable mode.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented if CanFastReadout is false, must throw a PropertyNotImplementedException if
|
||
CanFastReadout is true.</b></p>
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode" /> is an index into the array <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" />, and selects the desired readout mode for the camera.
|
||
Defaults to 0 if not set. Throws an exception if the selected mode is not available.
|
||
<para>It is strongly recommended, but not required, that driver authors make the 0-index mode suitable for standard imaging operations,
|
||
since it is the default.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" /> for additional information.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes">
|
||
<summary>
|
||
List of available readout modes, Interface Version 2 only
|
||
</summary>
|
||
<returns>An ArrayList of readout mode names</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented if CanFastReadout is false, must throw a PropertyNotImplementedException if
|
||
CanFastReadout is true.</b></p>
|
||
This property provides an array of strings, each of which describes an available readout mode of the camera.
|
||
At least one string must be present in the list. The user interface of a control application will typically present to the
|
||
user a drop-list of modes. The choice of available modes made available is entirely at the discretion of the driver author.
|
||
Please note that if the camera has many different modes of operation, then the most commonly adjusted settings should be in
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" />; additional settings may be provided using <see cref="M:ASCOM.DeviceInterface.ICameraV2.SetupDialog" />.
|
||
<para>To select a mode, the application will set <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode" /> to the index of the desired mode. The index is zero-based.</para>
|
||
<para>This property should only be read while a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> to the camera is actually established. Drivers often support
|
||
multiple cameras with different capabilities, which are not known until the <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is made. If the available readout modes
|
||
are not known because no <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> has been established, this property shall throw an exception.</para>
|
||
<para>Please note that the default <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode" /> setting is 0. It is strongly recommended, but not required, that
|
||
driver authors use the 0-index mode for standard imaging operations, since it is the default.</para>
|
||
<para>This feature may be used in parallel with <see cref="P:ASCOM.DeviceInterface.ICameraV2.FastReadout" />; however, care should be taken to ensure that the two
|
||
features work together consistently. If there are modes that are inconsistent having a separate fast/normal switch, then it
|
||
may be better to simply list Fast as one of the <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutModes" />.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with
|
||
the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.SensorName">
|
||
<summary>
|
||
Sensor name, Interface Version 2 only
|
||
## Mandatory must return an empty string if the sensor is unknown
|
||
</summary>
|
||
<returns>The name of the sensor used within the camera.</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if the sensor's name is not known.</b></p>
|
||
<para>Returns the name (datasheet part number) of the sensor, e.g. ICX285AL. The format is to be exactly as shown on
|
||
manufacturer data sheet, subject to the following rules:
|
||
<list type="bullet">
|
||
<item>All letters shall be uppercase.</item>
|
||
<item>Spaces shall not be included.</item>
|
||
<item>Any extra suffixes that define region codes, package types, temperature range, coatings, grading, color/monochrome,
|
||
etc. shall not be included.</item>
|
||
<item>For color sensors, if a suffix differentiates different Bayer matrix encodings, it shall be included.</item>
|
||
<item>The call shall return an empty string if the sensor name is not known.</item>
|
||
</list> </para>
|
||
<para>Examples:</para>
|
||
<list type="bullet">
|
||
<item><description>ICX285AL-F shall be reported as ICX285</description></item>
|
||
<item><description>KAF-8300-AXC-CD-AA shall be reported as KAF-8300</description></item>
|
||
</list>
|
||
<para><b>Note:</b></para>
|
||
<para>The most common usage of this property is to select approximate color balance parameters to be applied to
|
||
the Bayer matrix of one-shot color sensors. Application authors should assume that an appropriate IR cutoff filter is
|
||
in place for color sensors.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with
|
||
the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ICameraV2.SensorType">
|
||
<summary>
|
||
Type of colour information returned by the the camera sensor, Interface Version 2 only
|
||
</summary>
|
||
<value></value>
|
||
<returns>The <see cref="T:ASCOM.DeviceInterface.SensorType" /> enum value of the camera sensor</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks><p style="color:red"><b>May throw a PropertyNotImplementedException if the sensor type is not known.</b></p>
|
||
<para>This is only available for the Camera Interface Version 2</para>
|
||
<para><see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" /> returns a value indicating whether the sensor is monochrome, or what Bayer matrix it encodes. If this value
|
||
cannot be determined by interrogating the camera, the appropriate value may be set through the user setup dialogue or the property may
|
||
return a <see cref="T:ASCOM.PropertyNotImplementedException" />. Please note that for some cameras, changing <see cref="P:ASCOM.DeviceInterface.ICameraV2.BinX" />,
|
||
<see cref="P:ASCOM.DeviceInterface.ICameraV2.BinY" /> or <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode" /> may change the apparent type of the sensor and so you should change the value returned here
|
||
to match if this is the case for your camera.</para>
|
||
<para>The following values are defined:</para>
|
||
<para>
|
||
<table style="width:76.24%;" cellspacing="0" width="76.24%">
|
||
<col style="width: 11.701%;"></col>
|
||
<col style="width: 20.708%;"></col>
|
||
<col style="width: 67.591%;"></col>
|
||
<tr>
|
||
<td colspan="1" rowspan="1" style="width: 11.701%; padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-top-color: #000000; border-top-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px;
|
||
background-color: #00ffff;" width="11.701%">
|
||
<b>Value</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 20.708%; padding-right: 10px; padding-left: 10px;
|
||
border-top-color: #000000; border-top-style: Solid;
|
||
border-right-style: Solid; border-right-color: #000000;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px;
|
||
background-color: #00ffff;" width="20.708%">
|
||
<b>Enumeration</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 67.591%; padding-right: 10px; padding-left: 10px;
|
||
border-top-color: #000000; border-top-style: Solid;
|
||
border-right-style: Solid; border-right-color: #000000;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px;
|
||
background-color: #00ffff;" width="67.591%">
|
||
<b>Meaning</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Monochrome</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces monochrome array with no Bayer encoding</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
1</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Colour</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces color image directly, requiring not Bayer decoding</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
2</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
RGGB</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces RGGB encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
3</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
CMYG</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces CMYG encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
4</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
CMYG2</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces CMYG2 encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
5</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
LRGB</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces Kodak TRUESENSE Bayer LRGB array images</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>Please note that additional values may be defined in future updates of the standard, as new Bayer matrices may be created
|
||
by sensor manufacturers in the future. If this occurs, then a new enumeration value shall be defined. The pre-existing enumeration
|
||
values shall not change.
|
||
<para><see cref="P:ASCOM.DeviceInterface.ICameraV2.SensorType" /> can possibly change between exposures, for example if <see cref="P:ASCOM.DeviceInterface.ICameraV2.ReadoutMode">Camera.ReadoutMode</see> is changed, and should always be checked after each exposure.</para>
|
||
<para>In the following definitions, R = red, G = green, B = blue, C = cyan, M = magenta, Y = yellow. The Bayer matrix is
|
||
defined with X increasing from left to right, and Y increasing from top to bottom. The pattern repeats every N x M pixels for the
|
||
entire pixel array, where N is the height of the Bayer matrix, and M is the width.</para>
|
||
<para>RGGB indicates the following matrix:</para>
|
||
</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
B</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
|
||
<para>CMYG indicates the following matrix:</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
Y</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
C</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
M</td>
|
||
</tr>
|
||
|
||
</table>
|
||
</para>
|
||
<para>CMYG2 indicates the following matrix:</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
Y</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
M</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
Y</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 3</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
M</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
|
||
<para>LRGB indicates the following matrix (Kodak TRUESENSE):</para>
|
||
<para>
|
||
<table style="width:68.757%;" cellspacing="0" width="68.757%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 3</b></td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
B</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 3</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
B</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
L</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
|
||
<para>The alignment of the array may be modified by <see cref="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetX" /> and <see cref="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetY" />.
|
||
The offset is measured from the 0,0 position in the sensor array to the upper left corner of the Bayer matrix table.
|
||
Please note that the Bayer offset values are not affected by subframe settings.</para>
|
||
<para>For example, if a CMYG2 sensor has a Bayer matrix offset as shown below, <see cref="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetX" /> is 0 and <see cref="P:ASCOM.DeviceInterface.ICameraV2.BayerOffsetY" /> is 1:</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
M</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
Y</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
background-color: #00ffff" width="10%">
|
||
<b>Y = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
" width="10%">
|
||
M</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
" width="10%">
|
||
G</td>
|
||
</tr>
|
||
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
background-color: #00ffff;" width="10%">
|
||
<b>Y = 3</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%;
|
||
border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
|
||
border-left-color: #000000; border-left-style: Solid; border-left-width: 1px;
|
||
border-right-color: #000000; border-right-style: Solid; border-right-width: 1px;
|
||
border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
|
||
" width="10%">
|
||
Y</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.ICameraV2.Connected">connection</see> is established with the camera hardware, to ensure that
|
||
the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IDomeV2">
|
||
<summary>
|
||
Defines the IDome Interface
|
||
</summary>
|
||
<remarks>
|
||
This interface is used to handle a dome, with or without a controllable shutter, and also a roll off roof.
|
||
<para>The dome implentation should be self explanatory.</para>
|
||
<para>A roll off roof is implemented using the shutter control as the roof. The properties and methods shoud be implented as follows:
|
||
<list>
|
||
<item><description>OpenShutter and CloseShutter open and close the roof.</description></item>
|
||
<item><description>CanFindHome, CanPark,CanSetAltitude, CanSetAzimuth, CanSetPark, CanSlave and CanSyncAzimuth all return false.</description></item>
|
||
<item><description>CanSetShutter returns true.</description></item>
|
||
<item><description>ShutterStatus is implemented.</description></item>
|
||
<item><description>Slewing always returns false.</description></item>
|
||
<item><description>AbortSlew should stop the shutter moving.</description></item>
|
||
<item><description>FindHome, Park, SetPark, SlewToAltitude, SlewToAzimuth and SyncToAzimuth all throw the <see cref="T:ASCOM.MethodNotImplementedException" /></description></item>
|
||
<item><description>Altitude and Azimuth throw the <see cref="T:ASCOM.PropertyNotImplementedException"/>.</description></item>
|
||
</list></para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IDomeV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IDomeV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IDomeV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IDomeV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IDomeV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.AbortSlew">
|
||
<summary>
|
||
Immediately cancel current dome operation.
|
||
</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="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> will become False). Raises an error if a communications failure occurs, or if the command is known to have failed.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Altitude">
|
||
<summary>
|
||
The dome altitude (degrees, horizon zero and increasing positive to 90 zenith).
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
Raises an error only if no altitude control. If actual dome altitude can not be read, then reports back the last slew position.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.AtHome">
|
||
<summary>
|
||
Indicates whether the dome is in the home position. Raises an error if not supported.
|
||
<para>
|
||
This is normally used following a <see cref="M:ASCOM.DeviceInterface.IDomeV2.FindHome" /> operation. The value is reset with any azimuth slew operation that moves the dome away from the home position.
|
||
</para>
|
||
<para>
|
||
<see cref="P:ASCOM.DeviceInterface.IDomeV2.AtHome" /> may also become true durng normal slew operations, if the dome passes through the home position and the dome controller hardware is capable of detecting that;
|
||
or at the end of a slew operation if the dome comes to rest at the home position.
|
||
</para>
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
<para>The home position is normally defined by a hardware sensor positioned around the dome circumference and represents a fixed, known azimuth reference.</para>
|
||
<para>For some devices, the home position may represent a small range of azimuth values, rather than a discrete value, since dome inertia, the resolution of the home position sensor and/or the azimuth encoder may be
|
||
insufficient to return the exact same azimuth value on each occasion. Some dome controllers, on the other hand, will always force the azimuth reading to a fixed value whenever the home position sensor is active.
|
||
Because of these potential differences in behaviour, applications should not rely on the reported azimuth position being identical each time <see cref="P:ASCOM.DeviceInterface.IDomeV2.AtHome" /> is set <c>true</c>.</para>
|
||
</remarks>
|
||
[ASCOM-135] TPL - Updated documentation
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.AtPark">
|
||
<summary>
|
||
True if the dome is in the programmed park position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
Set only following a <see cref="M:ASCOM.DeviceInterface.IDomeV2.Park" /> operation and reset with any slew operation. Raises an error if not supported.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Azimuth">
|
||
<summary>
|
||
The dome azimuth (degrees, North zero and increasing clockwise, i.e., 90 East, 180 South, 270 West)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>Raises an error only if no azimuth control. If actual dome azimuth can not be read, then reports back last slew position</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanFindHome">
|
||
<summary>
|
||
True if driver can do a search for home position.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanPark">
|
||
<summary>
|
||
True if driver is capable of setting dome altitude.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSetAltitude">
|
||
<summary>
|
||
True if driver is capable of setting dome altitude.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSetAzimuth">
|
||
<summary>
|
||
True if driver is capable of setting dome azimuth.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSetPark">
|
||
<summary>
|
||
True if driver can set the dome park position.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSetShutter">
|
||
<summary>
|
||
True if driver is capable of automatically operating shutter.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSlave">
|
||
<summary>
|
||
True if the dome hardware supports slaving to a telescope.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
See the notes for the <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.CanSyncAzimuth">
|
||
<summary>
|
||
True if driver is capable of synchronizing the dome azimuth position using the <see cref="M:ASCOM.DeviceInterface.IDomeV2.SyncToAzimuth(System.Double)" /> method.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.CloseShutter">
|
||
<summary>
|
||
Close shutter or otherwise shield telescope from the sky.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.FindHome">
|
||
<summary>
|
||
Start operation to search for the dome home position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<remarks>
|
||
After Home position is established initializes <see cref="P:ASCOM.DeviceInterface.IDomeV2.Azimuth" /> to the default value and sets the <see cref="P:ASCOM.DeviceInterface.IDomeV2.AtHome" /> flag.
|
||
Exception if not supported or communications failure. Raises an error if <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> is True.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.OpenShutter">
|
||
<summary>
|
||
Open shutter or otherwise expose telescope to the sky.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<remarks>
|
||
Raises an error if not supported or if a communications failure occurs.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.Park">
|
||
<summary>
|
||
Rotate dome in azimuth to park position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<remarks>
|
||
After assuming programmed park position, sets <see cref="P:ASCOM.DeviceInterface.IDomeV2.AtPark" /> flag. Raises an error if <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> is True, or if not supported, or if a communications failure has occurred.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.SetPark">
|
||
<summary>
|
||
Set the current azimuth, altitude position of dome to be the park position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<remarks>
|
||
Raises an error if not supported or if a communications failure occurs.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.ShutterStatus">
|
||
<summary>
|
||
Status of the dome shutter or roll-off roof.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
Raises an error only if no shutter control. If actual shutter status can not be read, then reports back the last shutter state.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Slaved">
|
||
<summary>
|
||
True if the dome is slaved to the telescope in its hardware, else False.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>Slaved Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>Slaved Write can throw a PropertyNotImplementedException.</b></p>
|
||
Set this property to True to enable dome-telescope hardware slaving, if supported (see <see cref="P:ASCOM.DeviceInterface.IDomeV2.CanSlave" />). Raises an exception on any attempt to set
|
||
this property if hardware slaving is not supported). Always returns False if hardware slaving is not supported.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IDomeV2.Slewing">
|
||
<summary>
|
||
True if any part of the dome is currently moving, False if all dome components are steady.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>Slewing must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> is True, if not supported, if a communications failure occurs, or if the dome can not reach indicated azimuth.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.SlewToAltitude(System.Double)">
|
||
<summary>
|
||
Slew the dome to the given altitude position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If the supplied altitude is outside the range 0..90 degrees.</exception>
|
||
<remarks>
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> is True, if not supported, if a communications failure occurs, or if the dome can not reach indicated altitude.
|
||
</remarks>
|
||
<param name="Altitude">Target dome altitude (degrees, horizon zero and increasing positive to 90 zenith)</param>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.SlewToAzimuth(System.Double)">
|
||
<summary>
|
||
Slew the dome to the given azimuth position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If the supplied azimuth is outside the range 0..360 degrees.</exception>
|
||
<remarks>
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.IDomeV2.Slaved" /> is True, if not supported, if a communications failure occurs, or if the dome can not reach indicated azimuth.
|
||
</remarks>
|
||
<param name="Azimuth">Target azimuth (degrees, North zero and increasing clockwise. i.e., 90 East, 180 South, 270 West)</param>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IDomeV2.SyncToAzimuth(System.Double)">
|
||
<summary>
|
||
Synchronize the current position of the dome to the given azimuth.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If the supplied azimuth is outside the range 0..360 degrees.</exception>
|
||
<remarks>
|
||
Raises an error if not supported or if a communications failure occurs.
|
||
</remarks>
|
||
<param name="Azimuth">Target azimuth (degrees, North zero and increasing clockwise. i.e., 90 East, 180 South, 270 West)</param>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IFilterWheelV2">
|
||
<summary>
|
||
Defines the IFilterWheel Interface
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IFilterWheelV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IFilterWheelV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IFilterWheelV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IFilterWheelV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IFilterWheelV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFilterWheelV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.FocusOffsets">
|
||
<summary>
|
||
Focus offset of each filter in the wheel
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
For each valid slot number (from 0 to N-1), reports the focus offset for the given filter position. These values are focuser and filter dependent, and would usually be set up by the user via
|
||
the SetupDialog. The number of slots N can be determined from the length of the array. If focuser offsets are not available, then it should report back 0 for all array values.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.Names">
|
||
<summary>
|
||
Name of each filter in the wheel
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
For each valid slot number (from 0 to N-1), reports the name given to the filter position. These names would usually be set up by the user via the
|
||
SetupDialog. The number of slots N can be determined from the length of the array. If filter names are not available, then it should report back "Filter 1", "Filter 2", etc.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFilterWheelV2.Position">
|
||
<summary>
|
||
Sets or returns the current filter wheel position
|
||
</summary>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an InvalidValueException if an invalid position is set</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the Filter Wheel is not connected</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
Write a position number between 0 and N-1, where N is the number of filter slots (see <see cref="P:ASCOM.DeviceInterface.IFilterWheelV2.Names"/>). Starts filter wheel rotation immediately when written. Reading
|
||
the property gives current slot number (if wheel stationary) or -1 if wheel is moving.
|
||
<para>Returning a position of -1 is <b>mandatory</b> while the filter wheel is in motion; valid slot numbers must not be reported back while the filter wheel is rotating past filter positions.</para>
|
||
<para><b>Note</b></para>
|
||
<para>Some filter wheels are built into the camera (one driver, two interfaces). Some cameras may not actually rotate the wheel until the exposure is triggered. In this case, the written value is available
|
||
immediately as the read value, and -1 is never produced.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IFocuserV2">
|
||
<summary>
|
||
Provides universal access to Focuser drivers
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
<para>The Connected property is not implemented in Version 1 drivers; these use the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Link"></see>
|
||
property and will raise a Not Implemented exception for this property. Version 2 drivers must implement both Connected and Link.
|
||
Applications should check that InterfaceVersion returns 2 or more before using Connected.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Absolute">
|
||
<summary>
|
||
True if the focuser is capable of absolute position; that is, being commanded to a specific step location.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver must be connected in order to determine the property value.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.Halt">
|
||
<summary>
|
||
Immediately stop any focuser motion due to a previous <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)" /> method call.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Focuser does not support this method.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Can throw a not implemented exception</b></p>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>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.IsMoving">
|
||
<summary>
|
||
True if the focuser is currently moving to a new position. False if the focuser is stationary.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p></remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Link">
|
||
<summary>
|
||
State of the connection to the focuser.
|
||
</summary>
|
||
<remarks>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<p style="color:red"><b>Must be implemented</b></p> Set True to start the connection to the focuser; set False to terminate the connection.
|
||
The current connection status can also be read back through this property.
|
||
An exception will be raised if the link fails to change state for any reason.
|
||
<para><b>Note</b></para>
|
||
<para>The FocuserV1 interface was the only interface to name its <i>"Connect"</i> method "Link" all others named
|
||
their <i>"Connect"</i> method as "Connected". All interfaces including Focuser now have a <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Connected"></see> method and this is
|
||
the recommended method to use to <i>"Connect"</i> to Focusers exposing the V2 and later interfaces.</para>
|
||
<para>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.MaxIncrement">
|
||
<summary>
|
||
Maximum increment size allowed by the focuser;
|
||
i.e. the maximum number of steps allowed in one move operation.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
For most focusers this is the same as the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.MaxStep" /> property. This is normally used to limit the Increment display in the host software.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.MaxStep">
|
||
<summary>
|
||
Maximum step position permitted.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
The focuser can step between 0 and <see cref="P:ASCOM.DeviceInterface.IFocuserV2.MaxStep" />. If an attempt is made to move the focuser beyond these limits, it will automatically stop at the limit.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">
|
||
<summary>
|
||
Moves the focuser by the specified amount or to the specified position depending on the value of the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Absolute" /> property.
|
||
</summary>
|
||
<param name="Position">Step distance or absolute position, depending on the value of the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Absolute" /> property.</param>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If a Move operation is requested when <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempComp" /> is True</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p>
|
||
If the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Absolute" /> property is True, then this is an absolute positioning focuser. The <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">Move</see> command tells the focuser to move to an exact step position, and the Position parameter
|
||
of the <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">Move</see> method is an integer between 0 and <see cref="P:ASCOM.DeviceInterface.IFocuserV2.MaxStep" />.
|
||
<para>If the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Absolute" /> property is False, then this is a relative positioning focuser. The <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">Move</see> command tells the focuser to move in a relative direction, and the Position parameter
|
||
of the <see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">Move</see> method (in this case, step distance) is an integer between minus <see cref="P:ASCOM.DeviceInterface.IFocuserV2.MaxIncrement" /> and plus <see cref="P:ASCOM.DeviceInterface.IFocuserV2.MaxIncrement" />.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Position">
|
||
<summary>
|
||
Current focuser position, in steps.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not available for this device.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Can throw a not implemented exception</b></p> Valid only for absolute positioning focusers (see the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.Absolute" /> property).
|
||
A <see cref="T:ASCOM.PropertyNotImplementedException">PropertyNotImplementedException</see> exception must be thrown if this device is a relative positioning focuser rather than an absolute position focuser.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.StepSize">
|
||
<summary>
|
||
Step size (microns) for the focuser.
|
||
</summary>
|
||
<exception cref= "T:ASCOM.PropertyNotImplementedException">If the focuser does not intrinsically know what the step size is.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> Must throw an exception if the focuser does not intrinsically know what the step size is.</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.TempComp">
|
||
<summary>
|
||
The state of temperature compensation mode (if available), else always False.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempCompAvailable" /> is False and an attempt is made to set <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempComp" /> to true.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>TempComp Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>TempComp Write can throw a PropertyNotImplementedException.</b></p>
|
||
If the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempCompAvailable" /> property is True, then setting <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempComp" /> to True puts the focuser into temperature tracking mode. While in temperature tracking mode,
|
||
<see cref="M:ASCOM.DeviceInterface.IFocuserV2.Move(System.Int32)">Move</see> commands will be rejected by the focuser. Set to False to turn off temperature tracking.
|
||
<para>If temperature compensation is not available, this property must always return False.</para>
|
||
<para> A <see cref="T:ASCOM.PropertyNotImplementedException" /> exception must be thrown if <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempCompAvailable" /> is False and an attempt is made to set <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempComp" /> to true.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.TempCompAvailable">
|
||
<summary>
|
||
True if focuser has temperature compensation available.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
Will be True only if the focuser's temperature compensation can be turned on and off via the <see cref="P:ASCOM.DeviceInterface.IFocuserV2.TempComp" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV2.Temperature">
|
||
<summary>
|
||
Current ambient temperature as measured by the focuser.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not available for this device.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
Raises an exception if ambient temperature is not available. Commonly available on focusers with a built-in temperature compensation mode.
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IFocuserV3">
|
||
<summary>
|
||
Provides universal access to Focuser drivers - Updated to IFocuserV3 - see remarks below
|
||
</summary>
|
||
<remarks>
|
||
<para><b>SPECIFICATION REVISION - Platform 6.4</b></para>
|
||
<para>The method signatures in the revised interface specification are identical to the preceeding IFocuserV2, however, the IFocuserV3.Move command must
|
||
no longer throw an InvalidOperationException exception if a Move is attempted when temperature compensation is enabled.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
<para>The Connected property is not implemented in Version 1 drivers; these use the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Link"></see>
|
||
property and will raise a Not Implemented exception for this property. Version 2 drivers must implement both Connected and Link.
|
||
Applications should check that InterfaceVersion returns 2 or more before using Connected.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 3 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Absolute">
|
||
<summary>
|
||
True if the focuser is capable of absolute position; that is, being commanded to a specific step location.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver must be connected in order to determine the property value.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.Halt">
|
||
<summary>
|
||
Immediately stop any focuser motion due to a previous <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)" /> method call.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Focuser does not support this method.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Can throw a not implemented exception</b></p>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>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.IsMoving">
|
||
<summary>
|
||
True if the focuser is currently moving to a new position. False if the focuser is stationary.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p></remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Link">
|
||
<summary>
|
||
State of the connection to the focuser.
|
||
</summary>
|
||
<remarks>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<p style="color:red"><b>Must be implemented</b></p> Set True to start the connection to the focuser; set False to terminate the connection.
|
||
The current connection status can also be read back through this property.
|
||
An exception will be raised if the link fails to change state for any reason.
|
||
<para><b>Note</b></para>
|
||
<para>The FocuserV1 interface was the only interface to name its <i>"Connect"</i> method "Link" all others named
|
||
their <i>"Connect"</i> method as "Connected". All interfaces including Focuser now have a <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Connected"></see> method and this is
|
||
the recommended method to use to <i>"Connect"</i> to Focusers exposing the V2 and later interfaces.</para>
|
||
<para>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.MaxIncrement">
|
||
<summary>
|
||
Maximum increment size allowed by the focuser;
|
||
i.e. the maximum number of steps allowed in one move operation.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
For most focusers this is the same as the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.MaxStep" /> property. This is normally used to limit the Increment display in the host software.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.MaxStep">
|
||
<summary>
|
||
Maximum step position permitted.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
The focuser can step between 0 and <see cref="P:ASCOM.DeviceInterface.IFocuserV3.MaxStep" />. If an attempt is made to move the focuser beyond these limits, it will automatically stop at the limit.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)">
|
||
<summary>
|
||
Moves the focuser by the specified amount or to the specified position depending on the value of the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Absolute" /> property.
|
||
</summary>
|
||
<param name="Position">Step distance or absolute position, depending on the value of the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Absolute" /> property.</param>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p>
|
||
<para>If the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Absolute" /> property is True, then this is an absolute positioning focuser. The <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)">Move</see> command tells the focuser to move to an exact step position, and the Position parameter
|
||
of the <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)">Move</see> method is an integer between 0 and <see cref="P:ASCOM.DeviceInterface.IFocuserV3.MaxStep" />.</para>
|
||
<para>If the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Absolute" /> property is False, then this is a relative positioning focuser. The <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)">Move</see> command tells the focuser to move in a relative direction, and the Position parameter
|
||
of the <see cref="M:ASCOM.DeviceInterface.IFocuserV3.Move(System.Int32)">Move</see> method (in this case, step distance) is an integer between minus <see cref="P:ASCOM.DeviceInterface.IFocuserV3.MaxIncrement" /> and plus <see cref="P:ASCOM.DeviceInterface.IFocuserV3.MaxIncrement" />.</para>
|
||
<para><b>BEHAVIOURAL CHANGE - Platform 6.4</b></para>
|
||
<para>Prior to Platform 6.4, the interface specification mandated that drivers must throw an <see cref="T:ASCOM.InvalidOperationException"/> if a move was attempted when <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp"/> was True, even if the focuser
|
||
was able to execute the move safely without disrupting temperature compensation.</para>
|
||
<para>Following discussion on ASCOM-Talk in January 2018, the Focuser interface specification has been revised to IFocuserV3, removing the requrement to throw the InvalidOperationException exception. IFocuserV3 compliant drivers
|
||
are expected to execute Move requests when temperature compensation is active and to hide any specific actions required by the hardware from the client. For example this could be achieved by disabling temperature compensation, moving the focuser and re-enabling
|
||
temperature compensation or simply by moving the focuser with compensation enabled if the hardware supports this.</para>
|
||
<para>Conform will continue to pass IFocuserV2 drivers that throw InvalidOperationException exceptions. However, Conform will now fail IFocuserV3 drivers that throw InvalidOperationException exceptions, in line with this revised specification.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Position">
|
||
<summary>
|
||
Current focuser position, in steps.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not available for this device.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Can throw a not implemented exception</b></p> Valid only for absolute positioning focusers (see the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.Absolute" /> property).
|
||
A <see cref="T:ASCOM.PropertyNotImplementedException">PropertyNotImplementedException</see> exception must be thrown if this device is a relative positioning focuser rather than an absolute position focuser.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.StepSize">
|
||
<summary>
|
||
Step size (microns) for the focuser.
|
||
</summary>
|
||
<exception cref= "T:ASCOM.PropertyNotImplementedException">If the focuser does not intrinsically know what the step size is.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> Must throw an exception if the focuser does not intrinsically know what the step size is.</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.TempComp">
|
||
<summary>
|
||
The state of temperature compensation mode (if available), else always False.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempCompAvailable" /> is False and an attempt is made to set <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp" /> to true.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>TempComp Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>TempComp Write can throw a PropertyNotImplementedException.</b></p>
|
||
If the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempCompAvailable" /> property is True, then setting <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp" /> to True puts the focuser into temperature tracking mode; setting it to False will turn off temperature tracking.
|
||
<para>If temperature compensation is not available, this property must always return False.</para>
|
||
<para> A <see cref="T:ASCOM.PropertyNotImplementedException" /> exception must be thrown if <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempCompAvailable" /> is False and an attempt is made to set <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp" /> to true.</para>
|
||
<para><b>BEHAVIOURAL CHANGE - Platform 6.4</b></para>
|
||
<para>Prior to Platform 6.4, the interface specification mandated that drivers must throw an <see cref="T:ASCOM.InvalidOperationException"/> if a move was attempted when <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp"/> was True, even if the focuser
|
||
was able to execute the move safely without disrupting temperature compensation.</para>
|
||
<para>Following discussion on ASCOM-Talk in January 2018, the Focuser interface specification has been revised to IFocuserV3, removing the requrement to throw the InvalidOperationException exception. IFocuserV3 compliant drivers
|
||
are expected to execute Move requests when temperature compensation is active and to hide any specific actions required by the hardware from the client. For example this could be achieved by disabling temperature compensation, moving the focuser and re-enabling
|
||
temperature compensation or simply by moving the focuser with compensation enabled if the hardware supports this.</para>
|
||
<para>Conform will continue to pass IFocuserV2 drivers that throw InvalidOperationException exceptions. However, Conform will now fail IFocuserV3 drivers that throw InvalidOperationException exceptions, in line with this revised specification.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.TempCompAvailable">
|
||
<summary>
|
||
True if focuser has temperature compensation available.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>
|
||
Will be True only if the focuser's temperature compensation can be turned on and off via the <see cref="P:ASCOM.DeviceInterface.IFocuserV3.TempComp" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IFocuserV3.Temperature">
|
||
<summary>
|
||
Current ambient temperature as measured by the focuser.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not available for this device.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
Raises an exception if ambient temperature is not available. Commonly available on focusers with a built-in temperature compensation mode.
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IObservingConditions">
|
||
<summary>
|
||
Defines the IObservingConditions Interface.
|
||
This interface provides a limited set of values that are useful
|
||
for astronomical purposes for things such as determining if it is safe to open or operate the observing system,
|
||
for recording astronomical data or determining refraction corrections.
|
||
</summary>
|
||
<remarks>It is NOT intended as a general purpose environmental sensor system. The <see cref="M:ASCOM.DeviceInterface.IObservingConditions.Action(System.String,System.String)">Action</see> method and
|
||
<see cref="P:ASCOM.DeviceInterface.IObservingConditions.SupportedActions">SupportedActions</see> property can be used to extend your driver to present any further sensors that you need.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Connected">
|
||
<summary>
|
||
Set to True to connect to the device hardware. Set to False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and model number. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not be confused with the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Must return 1 for this interface version.
|
||
</summary>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p>This value will be incremented if the interface
|
||
specification is extended in the future.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.SupportedActions"/> property.</para>
|
||
<para>For ObservingConditions drivers the following conventions are recommended:
|
||
<list type="bullet">
|
||
<item>The "ActionName" should be the name of a sensor in a form that makes sense to the user.
|
||
This must not be changed in the driver.</item>
|
||
<item>The "ActionParameter" should be "Value" to return the sensor value and
|
||
"Description" to return the sensor description.
|
||
The description must return a valid description, even if not connected.</item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IObservingConditions.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
<para>See <see cref="M:ASCOM.DeviceInterface.IObservingConditions.Action(System.String,System.String)">Action</see> for advice on how th implement this for ObservingConditions drivers.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.AveragePeriod">
|
||
<summary>
|
||
Gets And sets the time period over which observations will be averaged
|
||
</summary>
|
||
<value>Time period (hours) over which to average sensor readings</value>
|
||
<exception cref="T:ASCOM.InvalidValueException">If the value set is not available for this driver. All drivers must accept 0.0 to specify that
|
||
an instantaneous value is available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Mandatory property, must be implemented, can NOT throw a PropertyNotImplementedException</b></p>
|
||
<para>This property should return the time period (hours) over which sensor readings will be averaged. If your driver is delivering instantaneous sensor readings this property should return a value of 0.0.</para>
|
||
<para>Please resist the temptation to throw exceptions when clients query sensor properties when insufficient time has passed to get a true average reading.
|
||
A best estimate of the average sensor value should be returned in these situations. </para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.CloudCover">
|
||
<summary>
|
||
Amount of sky obscured by cloud
|
||
</summary>
|
||
<value>percentage of the sky covered by cloud</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
This property should return a value between 0.0 and 100.0 where 0.0 = clear sky and 100.0 = 100% cloud coverage
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.DewPoint">
|
||
<summary>
|
||
Atmospheric dew point at the observatory
|
||
</summary>
|
||
<value>Atmospheric dew point reported in °C.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException when the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.Humidity"/> property also throws a PropertyNotImplementedException.</b></p>
|
||
<p style="color:red"><b>Mandatory property, must NOT throw a PropertyNotImplementedException when the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.Humidity"/> property is implemented.</b></p>
|
||
<para>The units of this property are degrees Celsius. Driver and application authors can use the <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/> method
|
||
to convert these units to and from degrees Farenhheit.</para>
|
||
<para>The ASCOM specification requires that DewPoint and Humidity are either both implemented or both throw PropertyNotImplementedExceptions. It is not allowed for
|
||
one to be implemented and the other to throw a PropertyNotImplementedException. The Utilities component contains methods (<see cref="M:ASCOM.Utilities.Util.DewPoint2Humidity(System.Double,System.Double)"/> and
|
||
<see cref="M:ASCOM.Utilities.Util.Humidity2DewPoint(System.Double,System.Double)"/>) to convert DewPoint to Humidity and vice versa given the ambient temperature.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Humidity">
|
||
<summary>
|
||
Atmospheric humidity at the observatory
|
||
</summary>
|
||
<value>Atmospheric humidity (%)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException when the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.DewPoint"/> property also throws a PropertyNotImplementedException.</b></p>
|
||
<p style="color:red"><b>Mandatory property, must NOT throw a PropertyNotImplementedException when the <see cref="P:ASCOM.DeviceInterface.IObservingConditions.DewPoint"/> property is implemented.</b></p>
|
||
<para>The ASCOM specification requires that DewPoint and Humidity are either both implemented or both throw PropertyNotImplementedExceptions. It is not allowed for
|
||
one to be implemented and the other to throw a PropertyNotImplementedException. The Utilities component contains methods (<see cref="M:ASCOM.Utilities.Util.DewPoint2Humidity(System.Double,System.Double)"/> and
|
||
<see cref="M:ASCOM.Utilities.Util.Humidity2DewPoint(System.Double,System.Double)"/>) to convert DewPoint to Humidity and vice versa given the ambient temperature.</para>
|
||
<para>This property should return a value between 0.0 and 100.0 where 0.0 = 0% relative humidity and 100.0 = 100% relative humidity.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Pressure">
|
||
<summary>
|
||
Atmospheric pressure at the observatory
|
||
</summary>
|
||
<value>Atmospheric presure at the observatory (hPa)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
<para>The units of this property are hectoPascals. Client and driver authors can use the method <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/>
|
||
to convert these units to and from milliBar, mm of mercury and inches of mercury.</para>
|
||
<para>This must be the pressure at the observatory altitude and not the adjusted pressure at sea level.
|
||
Please check whether your pressure sensor delivers local observatory pressure or sea level pressure and, if it returns sea level pressure,
|
||
adjust this to actual pressure at the observatory's altitude before returning a value to the client.
|
||
The <see cref="M:ASCOM.Utilities.Util.ConvertPressure(System.Double,System.Double,System.Double)"/> method can be used to effect this adjustment.
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.RainRate">
|
||
<summary>
|
||
Rain rate at the observatory
|
||
</summary>
|
||
<value>Rain rate (mm / hour)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
<para>The units of this property are millimetres per hour. Client and driver authors can use the method <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/>
|
||
to convert these units to and from inches per hour.</para>
|
||
<para>This property can be interpreted as 0.0 = Dry any positive nonzero value = wet.</para>
|
||
<para>Rainfall intensity is classified according to the rate of precipitation:</para>
|
||
<list type="bullet">
|
||
<item><description>Light rain — when the precipitation rate is less than 2.5 mm (0.098 in) per hour</description></item>
|
||
<item><description>Moderate rain — when the precipitation rate is between 2.5 mm (0.098 in) and 10 mm (0.39 in) per hour</description></item>
|
||
<item><description>Heavy rain — when the precipitation rate is between 10 mm (0.39 in) and 50 mm (2.0 in) per hour</description></item>
|
||
<item><description>Violent rain — when the precipitation rate is > 50 mm (2.0 in) per hour</description></item>
|
||
</list>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.SkyBrightness">
|
||
<summary>
|
||
Sky brightness at the observatory
|
||
</summary>
|
||
<value>Sky brightness (Lux)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
This property returns the sky brightness measured in Lux.
|
||
<para>Luminance Examples in Lux</para>
|
||
<list type="table">
|
||
<listheader>
|
||
<term>Illuminance</term><term>Surfaces illuminated by:</term>
|
||
</listheader>
|
||
<item><description>0.0001 lux</description><description>Moonless, overcast night sky (starlight)</description></item>
|
||
<item><description>0.002 lux</description><description>Moonless clear night sky with airglow</description></item>
|
||
<item><description>0.27–1.0 lux</description><description>Full moon on a clear night</description></item>
|
||
<item><description>3.4 lux</description><description>Dark limit of civil twilight under a clear sky</description></item>
|
||
<item><description>50 lux</description><description>Family living room lights (Australia, 1998)</description></item>
|
||
<item><description>80 lux</description><description>Office building hallway/toilet lighting</description></item>
|
||
<item><description>100 lux</description><description>Very dark overcast day</description></item>
|
||
<item><description>320–500 lux</description><description>Office lighting</description></item>
|
||
<item><description>400 lux</description><description>Sunrise or sunset on a clear day.</description></item>
|
||
<item><description>1000 lux</description><description>Overcast day; typical TV studio lighting</description></item>
|
||
<item><description>10000–25000 lux</description><description>Full daylight (not direct sun)</description></item>
|
||
<item><description>32000–100000 lux</description><description>Direct sunlight</description></item>
|
||
</list>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.SkyQuality">
|
||
<summary>
|
||
Sky quality at the observatory
|
||
</summary>
|
||
<value>Sky quality measured in magnitudes per square arc second</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
<para>Sky quality is typically measured in units of magnitudes per square arc second. A sky quality of 20 magnitudes per square arc second means that the
|
||
overall sky appears with a brightness equivalent to having 1 magnitude 20 star in each square arc second of sky.</para>
|
||
<para >Examples of typical sky quality values were published by Sky and Telescope (<a href="http://www.skyandtelescope.com/astronomy-resources/rate-your-skyglow/">http://www.skyandtelescope.com/astronomy-resources/rate-your-skyglow/</a>) and, in slightly adpated form, are reproduced below:</para>
|
||
<para>
|
||
<table style="width:80.0%;" cellspacing="0" width="80.0%">
|
||
<col style="width: 20.0%;"></col>
|
||
<col style="width: 80.0%;"></col>
|
||
<tr>
|
||
<td colspan="1" rowspan="1" style="width: 20.0%; padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-top-color: #000000; border-top-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px;
|
||
background-color: #00ffff;" width="10.0">
|
||
<b>Sky Quality (mag/arcsec<sup>2</sup>)</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 80.0%; padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-top-color: #000000; border-top-style: Solid;
|
||
border-right-style: Solid; border-right-color: #000000;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px;
|
||
background-color: #00ffff;" width="90.0">
|
||
<b>Description</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
22.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
By convention, this is often assumed to be the average brightness of a moonless night sky that's completely free of artificial light pollution.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
21.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
This is typical for a rural area with a medium-sized city not far away. It's comparable to the glow of the brightest section of the northern Milky Way, from Cygnus through Perseus. </td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
20.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
This is typical for the outer suburbs of a major metropolis. The summer Milky Way is readily visible but severely washed out.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
19.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Typical for a suburb with widely spaced single-family homes. It's a little brighter than a remote rural site at the end of nautical twilight, when the Sun is 12° below the horizon.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
18.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Bright suburb or dark urban neighborhood. It's also a typical zenith skyglow at a rural site when the Moon is full. The Milky Way is invisible, or nearly so.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
17.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Typical near the center of a major city.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
13.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
The zenith skyglow at the end of civil twilight, roughly a half hour after sunset, when the Sun is 6° below the horizon. Venus and Jupiter are easy to see, but bright stars are just beginning to appear.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
text-align: center;vertical-align: middle;
|
||
border-left-color: #000000; border-left-style: Solid;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
7.0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px;
|
||
border-right-color: #000000; border-right-style: Solid;
|
||
border-bottom-color: #000000; border-bottom-style: Solid;
|
||
border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
The zenith skyglow at sunrise or sunset</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.StarFWHM">
|
||
<summary>
|
||
Seeing at the observatory measured as star full width half maximum (FWHM) in arc secs.
|
||
</summary>
|
||
<value>Seeing reported as star full width half maximum (arc seconds)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.SkyTemperature">
|
||
<summary>
|
||
Sky temperature at the observatory
|
||
</summary>
|
||
<value>Sky temperature in °C</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
<para>The units of this property are degrees Celsius. Driver and application authors can use the <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/> method
|
||
to convert these units to and from degrees Farenhheit.</para>
|
||
<para>This is expected to be returned by an infra-red sensor looking at the sky. The lower the temperature the more the sky is likely to be clear.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.Temperature">
|
||
<summary>
|
||
Temperature at the observatory
|
||
</summary>
|
||
<value>Temperature in °C</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
<para>The units of this property are degrees Celsius. Driver and application authors can use the <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/> method
|
||
to convert these units to and from degrees Farenhheit.</para>
|
||
<para>This is expected to be the ambient temperature at the observatory.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.WindDirection">
|
||
<summary>
|
||
Wind direction at the observatory
|
||
</summary>
|
||
<value>Wind direction (degrees, 0..360.0)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
The returned value must be between 0.0 and 360.0, interpreted according to the metereological standard, where a special value of 0.0 is returned when the wind speed is 0.0.
|
||
Wind direction is measured clockwise from north, through east, where East=90.0, South=180.0, West=270.0 and North=360.0.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.WindGust">
|
||
<summary>
|
||
Peak 3 second wind gust at the observatory over the last 2 minutes
|
||
</summary>
|
||
<value>Wind gust (m/s) Peak 3 second wind speed over the last 2 minutes</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
The units of this property are metres per second. Driver and application authors can use the <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/> method
|
||
to convert these units to and from miles per hour or knots.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IObservingConditions.WindSpeed">
|
||
<summary>
|
||
Wind speed at the observatory
|
||
</summary>
|
||
<value>Wind speed (m/s)</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If this property is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional property, can throw a PropertyNotImplementedException</b></p>
|
||
The units of this property are metres per second. Driver and application authors can use the <see cref="M:ASCOM.Utilities.Util.ConvertUnits(System.Double,ASCOM.Utilities.Units,ASCOM.Utilities.Units)"/> method
|
||
to convert these units to and from miles per hour or knots.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.TimeSinceLastUpdate(System.String)">
|
||
<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="T:ASCOM.MethodNotImplementedException">If the sensor is not implemented.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.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="T:ASCOM.DeviceInterface.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>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.SensorDescription(System.String)">
|
||
<summary>
|
||
Provides a description of the sensor providing the requested property
|
||
</summary>
|
||
<param name="PropertyName">Name of the sensor whose description is required</param>
|
||
<returns>The description of the specified sensor.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the sensor is not implemented.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.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="T:ASCOM.DeviceInterface.IObservingConditions"/> interface. If the caller supplies some other value, throw an InvalidValueException.</para>
|
||
<para>If the sensor is implemented, this must return a valid string, even if the driver is not connected, so that applications can use this to determine what sensors are available.</para>
|
||
<para>If the sensor is not implemented, this must throw a MethodNotImplementedException.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IObservingConditions.Refresh">
|
||
<summary>
|
||
Forces the driver to immediately query its attached hardware to refresh sensor values
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If this method is not available.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Optional method, can throw a MethodNotImplementedException</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IRate">
|
||
<summary>
|
||
Describes a range of rates supported by the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method (degrees/per second)
|
||
These are contained within an <see cref="T:ASCOM.DeviceInterface.IAxisRates" /> collection and serve to describe one or more supported ranges of rates of motion about a mechanical axis.
|
||
It is possible that the <see cref="P:ASCOM.DeviceInterface.IRate.Maximum" /> and <see cref="P:ASCOM.DeviceInterface.IRate.Minimum" /> properties will be equal. In this case, the <see cref="T:ASCOM.DeviceInterface.IRate" /> object expresses a single discrete rate.
|
||
Both the <see cref="P:ASCOM.DeviceInterface.IRate.Minimum" /> and <see cref="P:ASCOM.DeviceInterface.IRate.Maximum" /> properties are always expressed in units of degrees per second.
|
||
This is only using for Telescope InterfaceVersions 2 and 3
|
||
</summary>
|
||
<remarks>Values used must be non-negative and are scalar values. You do not need to supply complementary negative rates for each positive
|
||
rate that you specify. Movement in both directions is achieved by the application applying an appropriate positive or negative sign to the
|
||
rate when it is used in the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> command.</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRate.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRate.Maximum">
|
||
<summary>
|
||
The maximum rate (degrees per second)
|
||
This must always be a positive number. It indicates the maximum rate in either direction about the axis.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRate.Minimum">
|
||
<summary>
|
||
The minimum rate (degrees per second)
|
||
This must always be a positive number. It indicates the maximum rate in either direction about the axis.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IRotatorV2">
|
||
<summary>
|
||
Defines the IRotator Interface
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.CanReverse">
|
||
<summary>
|
||
Indicates whether the Rotator supports the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Reverse" /> method.
|
||
</summary>
|
||
<returns>
|
||
True if the Rotator supports the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Reverse" /> method.
|
||
</returns>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>Must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.Halt">
|
||
<summary>
|
||
Immediately stop any Rotator motion due to a previous <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> or <see cref="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">MoveAbsolute</see> method call.
|
||
</summary>
|
||
<remarks>This is an optional method. Raises an error if not supported.</remarks>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throw a MethodNotImplementedException if the rotator cannot halt.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.IsMoving">
|
||
<summary>
|
||
Indicates whether the rotator is currently moving
|
||
</summary>
|
||
<returns>True if the Rotator is moving to a new position. False if the Rotator is stationary.</returns>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<remarks>Rotation is asynchronous, that is, when the <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> method is called, it starts the rotation, then returns
|
||
immediately. During rotation, <see cref="P:ASCOM.DeviceInterface.IRotatorV2.IsMoving" /> must be True, else it must be False.</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">
|
||
<summary>
|
||
Causes the rotator to move Position degrees relative to the current <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" /> value.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If Position is invalid.</exception>
|
||
<param name="Position">Relative position to move in degrees from current <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" />.</param>
|
||
<remarks>
|
||
Calling <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> causes the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.TargetPosition" /> property to change to the sum of the current angular position
|
||
and the value of the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" /> parameter (modulo 360 degrees), then starts rotation to <see cref="P:ASCOM.DeviceInterface.IRotatorV2.TargetPosition" />.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">
|
||
<summary>
|
||
Causes the rotator to move the absolute position of <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" /> degrees.
|
||
</summary>
|
||
<param name="Position">Absolute position in degrees.</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If Position is invalid.</exception>
|
||
<remarks>Calling <see cref="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">MoveAbsolute</see> causes the <see cref="P:ASCOM.DeviceInterface.IRotatorV2.TargetPosition" /> property to change to the value of the
|
||
<see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" /> parameter, then starts rotation to <see cref="P:ASCOM.DeviceInterface.IRotatorV2.TargetPosition" />. </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.Position">
|
||
<summary>
|
||
Current instantaneous Rotator position, in degrees.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<remarks>
|
||
The position is expressed as an angle from 0 up to but not including 360 degrees, counter-clockwise against the
|
||
sky. This is the standard definition of Position Angle. However, the rotator does not need to (and in general will not)
|
||
report the true Equatorial Position Angle, as the attached imager may not be precisely aligned with the rotator's indexing.
|
||
It is up to the client to determine any offset between mechanical rotator position angle and the true Equatorial Position
|
||
Angle of the imager, and compensate for any difference.
|
||
<para>The optional <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Reverse" /> property is provided in order to manage rotators being used on optics with odd or
|
||
even number of reflections. With the Reverse switch in the correct position for the optics, the reported position angle must
|
||
be counter-clockwise against the sky.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.Reverse">
|
||
<summary>
|
||
Sets or Returns the rotator’s Reverse state.
|
||
</summary>
|
||
<value>True if the rotation and angular direction must be reversed for the optics</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Throw a PropertyNotImplementedException if the rotator cannot reverse and CanReverse is False.</exception>
|
||
<remarks>See the definition of <see cref="P:ASCOM.DeviceInterface.IRotatorV2.Position" />. Raises an error if not supported. </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.StepSize">
|
||
<summary>
|
||
The minimum StepSize, in degrees.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Throw a PropertyNotImplementedException if the rotator does not know its step size.</exception>
|
||
<remarks>
|
||
Raises an exception if the rotator does not intrinsically know what the step size is.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IRotatorV2.TargetPosition">
|
||
<summary>
|
||
The destination position angle for Move() and MoveAbsolute().
|
||
</summary>
|
||
<value>The destination position angle for<see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> and <see cref="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">MoveAbsolute</see>.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<remarks>
|
||
Upon calling <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> or <see cref="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">MoveAbsolute</see>, this property immediately changes to the position angle to which the rotator is moving. The value is retained until a subsequent call
|
||
to <see cref="M:ASCOM.DeviceInterface.IRotatorV2.Move(System.Single)">Move</see> or <see cref="M:ASCOM.DeviceInterface.IRotatorV2.MoveAbsolute(System.Single)">MoveAbsolute</see>.
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ISwitchV2">
|
||
<summary>
|
||
Defines the ISwitchV2 Interface
|
||
</summary>
|
||
<remarks>
|
||
<para>The Switch interface is used to define a number of 'switch devices'. A switch device can be used to control something, such as a power switch
|
||
or may be used to sense the state of something, such as a limit switch.</para>
|
||
<para>This SwitchV2 interface is an extension of the original Switch interface. The changes allow devices to have more than two states and
|
||
to distinguish between devices that are writable and those that are read only.</para>
|
||
<para><b>Compatibility between Switch and SwitchV2 interfaces:</b></para>
|
||
<list type="bullet"><item>Switch devices that implemented the original Switch interface and
|
||
client applications that use the original interface will still work together.</item>
|
||
<item>Client applications that implement the original
|
||
Switch interface should still work with drivers that implement the new interface.</item>
|
||
<item>Client applications that use the new features in this interface
|
||
will not work with drivers that do not implement the new interface.</item>
|
||
</list>
|
||
<para>Each device has a CanWrite method, this is true if it can be written to or false if the device can only be read.</para>
|
||
<para>The new MinSwitchValue, MaxSwitchValue and SwitchStep methods are used to define the range and values that a device can handle.
|
||
This also defines the number of different values - states - that a device can have, from two for a traditional on-off switch, through
|
||
those with a small number of states to those which have many states.</para>
|
||
<para>The SetSwitchValue and GetSwitchValue methods are used to set and get the value of a device as a double.</para>
|
||
<para>There is no fundamental difference between devices with different numbers of states.</para>
|
||
<para><b>Naming Conventions</b></para>
|
||
<para>Each device handled by a Switch is known as a device or switch device for general cases,
|
||
a controller device if it can alter the state of the device and a sensor device if it can only be read.</para>
|
||
<para>For convenience devices are referred to as boolean if the device can only have two states, and multi-state if it can have more than two values.
|
||
<b>These are treated the same in the interface definition</b>.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ISwitchV2.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.ISwitchV2.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.ISwitchV2.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.ISwitchV2.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.ISwitchV2.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch">
|
||
<summary>
|
||
The number of switch devices managed by this driver
|
||
</summary>
|
||
<returns>The number of devices managed by this driver.</returns>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a <see cref="T:ASCOM.PropertyNotImplementedException"/></b></p>
|
||
<p>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</p></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchName(System.Int16)">
|
||
<summary>
|
||
Return the name of switch device n.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>The name of the device</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.MethodNotImplementedException</b></p>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.SetSwitchName(System.Int16,System.String)">
|
||
<summary>
|
||
Set a switch device name to a specified value.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<param name="name">The name of the device</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the device name cannot be set in the application code.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Can throw a <see cref="T:ASCOM.MethodNotImplementedException"/> if the device name can not be set by the application.</b></p>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchDescription(System.Int16)">
|
||
<summary>
|
||
Gets the description of the specified switch device. This is to allow a fuller description of
|
||
the device to be returned, for example for a tool tip.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>
|
||
String giving the device description.
|
||
</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.MethodNotImplementedException</b></p>
|
||
<para>Decices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.CanWrite(System.Int16)">
|
||
<summary>
|
||
Reports if the specified switch device can be written to, default true.
|
||
This is false if the device cannot be written to, for example a limit switch or a sensor.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>
|
||
<c>true</c> if the device can be written to, otherwise <c>false</c>.
|
||
</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.MethodNotImplementedException</b></p>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para>
|
||
<para>This is a Version 2 method, version 1 switch devices can be assumed to be writable.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitch(System.Int16)">
|
||
<summary>
|
||
Return the state of switch device id as a boolean
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>True or false</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If there is a temporary condition that prevents the device value being returned.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a <see cref="T:ASCOM.MethodNotImplementedException"/>.</b></p>
|
||
<para>All devices must implement this. A multi-state device will return true if the device is at the maximum value, false if the value is at the minumum
|
||
and either true or false as specified by the driver developer for intermediate values.</para>
|
||
<para>Some devices do not support reading their state although they do allow state to be set. In these cases, on startup, the driver can not know the hardware state and it is recommended that the
|
||
driver either:</para>
|
||
<list type="bullet">
|
||
<item><description>Sets the device to a known state on connection</description></item>
|
||
<item><description>Throws an <see cref="T:ASCOM.InvalidOperationException"/> until the client software has set the device state for the first time</description></item>
|
||
</list>
|
||
<para>In both cases the driver should save a local copy of the state which it last set and return this through <see cref="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitch(System.Int16)" /> and <see cref="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchValue(System.Int16)" /></para>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.SetSwitch(System.Int16,System.Boolean)">
|
||
<summary>
|
||
Sets a switch controller device to the specified state, true or false.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<param name="state">The required control state</param>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If <see cref="M:ASCOM.DeviceInterface.ISwitchV2.CanWrite(System.Int16)"/> is false.</exception>
|
||
<remarks><p style="color:red"><b>Can throw a <see cref="T:ASCOM.MethodNotImplementedException"/> if <see cref="M:ASCOM.DeviceInterface.ISwitchV2.CanWrite(System.Int16)"/> is False.</b></p>
|
||
<para><see cref="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchValue(System.Int16)"/> must return <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)" /> if the set state is true and <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)" /> if the set state is false.</para>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</para></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)">
|
||
<summary>
|
||
Returns the maximum value for this switch device, this must be greater than <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/>.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>The maximum value to which this device can be set or which a read only sensor will return.</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a <see cref="T:ASCOM.MethodNotImplementedException"/>.</b></p>
|
||
<para>If a two state device cannot report its state, <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/> should return the value 1.0.</para>
|
||
<para> Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1.</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)">
|
||
<summary>
|
||
Returns the minimum value for this switch device, this must be less than <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/>
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>The minimum value to which this device can be set or which a read only sensor will return.</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a <see cref="T:ASCOM.MethodNotImplementedException"/>.</b></p>
|
||
<para>If a two state device cannot report its state, <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/> should return the value 0.0.</para>
|
||
<para> Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1.</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)">
|
||
<summary>
|
||
Returns the step size that this device supports (the difference between successive values of the device).
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>The step size for this device.</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw <see cref="T:ASCOM.MethodNotImplementedException"/>.</b></p>
|
||
<para>SwitchStep, MinSwitchValue and MaxSwitchValue can be used to determine the way the device is controlled and/or displayed,
|
||
for example by setting the number of decimal places or number of states for a display.</para>
|
||
<para><see cref="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)"/> must be greater than zero and the number of steps can be calculated as:
|
||
((<see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/> - <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/>) / <see cref="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)"/>) + 1.</para>
|
||
<para>The switch range (<see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/> - <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/>) must be an exact multiple of <see cref="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)"/>.</para>
|
||
<para>If a two state device cannot report its state, <see cref="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)"/> should return the value 1.0.</para>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1.</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchValue(System.Int16)">
|
||
<summary>
|
||
Returns the value for switch device id as a double
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<returns>The value for this switch, this is expected to be between <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/> and
|
||
<see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/>.</returns>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If there is a temporary condition that prevents the device value being returned.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw a <see cref="T:ASCOM.MethodNotImplementedException"/>.</b></p>
|
||
<para>Some devices do not support reading their state although they do allow state to be set. In these cases, on startup, the driver can not know the hardware state and it is recommended that the
|
||
driver either:</para>
|
||
<list type="bullet">
|
||
<item><description>Sets the device to a known state on connection</description></item>
|
||
<item><description>Throws an <see cref="T:ASCOM.InvalidOperationException"/> until the client software has set the device state for the first time</description></item>
|
||
</list>
|
||
<para>In both cases the driver should save a local copy of the state which it last set and return this through <see cref="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitch(System.Int16)" /> and <see cref="M:ASCOM.DeviceInterface.ISwitchV2.GetSwitchValue(System.Int16)" /></para>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1.</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISwitchV2.SetSwitchValue(System.Int16,System.Double)">
|
||
<summary>
|
||
Set the value for this device as a double.
|
||
</summary>
|
||
<param name="id">The device number (0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1)</param>
|
||
<param name="value">The value to be set, between <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/> and <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/></param>
|
||
<exception cref="T:ASCOM.InvalidValueException">If id is outside the range 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If value is outside the range <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/> to <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/></exception>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If <see cref="M:ASCOM.DeviceInterface.ISwitchV2.CanWrite(System.Int16)"/> is false.</exception>
|
||
<remarks><p style="color:red"><b>Can throw a <see cref="T:ASCOM.MethodNotImplementedException"/> if <see cref="M:ASCOM.DeviceInterface.ISwitchV2.CanWrite(System.Int16)"/> is False.</b></p>
|
||
<para>If the value is more than <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MaxSwitchValue(System.Int16)"/> or less than <see cref="M:ASCOM.DeviceInterface.ISwitchV2.MinSwitchValue(System.Int16)"/>
|
||
then the method must throw an <see cref="T:ASCOM.InvalidValueException"/>.</para>
|
||
<para>A set value that is intermediate between the values specified by <see cref="M:ASCOM.DeviceInterface.ISwitchV2.SwitchStep(System.Int16)"/> should result in the device being set to an achievable value close to the requested set value.</para>
|
||
<para>Devices are numbered from 0 to <see cref="P:ASCOM.DeviceInterface.ISwitchV2.MaxSwitch"/> - 1.</para>
|
||
<para>This is a Version 2 method.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ITelescopeV3">
|
||
<summary>
|
||
Defines the ITelescope Interface
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 3 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.AbortSlew">
|
||
<summary>
|
||
Stops a slew in progress.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<remarks>
|
||
Effective only after a call to <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToTargetAsync" />, <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToCoordinatesAsync(System.Double,System.Double)" />, <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToAltAzAsync(System.Double,System.Double)" />, or <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" />.
|
||
Does nothing if no slew/motion is in progress. Tracking is returned to its pre-slew state. Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is true.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.AlignmentMode">
|
||
<summary>
|
||
The alignment mode of the mount (Alt/Az, Polar, German Polar).
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Altitude">
|
||
<summary>
|
||
The Altitude above the local horizon of the telescope's current position (degrees, positive up)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.ApertureArea">
|
||
<summary>
|
||
The area of the telescope's aperture, taking into account any obstructions (square meters)
|
||
</summary>
|
||
<remarks>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.ApertureDiameter">
|
||
<summary>
|
||
The telescope's effective aperture diameter (meters)
|
||
</summary>
|
||
<remarks>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.AtHome">
|
||
<summary>
|
||
True if the telescope is stopped in the Home position. Set only following a <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.FindHome"></see> operation,
|
||
and reset with any slew operation. This property must be False if the telescope does not support homing.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark">
|
||
<summary>
|
||
True if the telescope has been put into the parked state by the seee <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Park" /> method. Set False by calling the Unpark() method.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
<para>AtPark is True when the telescope is in the parked state. This is achieved by calling the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Park" /> method. When AtPark is true,
|
||
the telescope movement is stopped (or restricted to a small safe range of movement) and all calls that would cause telescope
|
||
movement (e.g. slewing, changing Tracking state) must not do so, and must raise an error.</para>
|
||
<para>The telescope is taken out of parked state by calling the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Unpark" /> method. If the telescope cannot be parked,
|
||
then AtPark must always return False.</para>
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.AxisRates(ASCOM.DeviceInterface.TelescopeAxes)">
|
||
<summary>
|
||
Determine the rates at which the telescope may be moved about the specified axis by the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method.
|
||
</summary>
|
||
<param name="Axis">The axis about which rate information is desired (TelescopeAxes value)</param>
|
||
<returns>Collection of <see cref="T:ASCOM.DeviceInterface.IRate" /> rate objects</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid Axis is specified.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a MethodNotImplementedException.</b></p>
|
||
See the description of <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> for more information. This method must return an empty collection if <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> is not supported.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
<para>
|
||
Please note that the rate objects must contain absolute non-negative values only. Applications determine the direction by applying a
|
||
positive or negative sign to the rates provided. This obviates the need for the driver to to present a duplicate set of negative rates
|
||
as well as the positive rates.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Azimuth">
|
||
<summary>
|
||
The azimuth at the local horizon of the telescope's current position (degrees, North-referenced, positive East/clockwise).
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanFindHome">
|
||
<summary>
|
||
True if this telescope is capable of programmed finding its home position (<see cref="M:ASCOM.DeviceInterface.ITelescopeV3.FindHome" /> method).
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.CanMoveAxis(ASCOM.DeviceInterface.TelescopeAxes)">
|
||
<summary>
|
||
True if this telescope can move the requested axis
|
||
</summary>
|
||
<param name="Axis">Primary, Secondary or Tertiary axis</param>
|
||
<returns>Boolean indicating can or can not move the requested axis</returns>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid Axis is specified.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a MethodNotImplementedException.</b></p>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanPark">
|
||
<summary>
|
||
True if this telescope is capable of programmed parking (<see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Park" />method)
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanPulseGuide">
|
||
<summary>
|
||
True if this telescope is capable of software-pulsed guiding (via the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)" /> method)
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetDeclinationRate">
|
||
<summary>
|
||
True if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate" /> property can be changed to provide offset tracking in the declination axis.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetGuideRates">
|
||
<summary>
|
||
True if the guide rate properties used for <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)" /> can ba adjusted.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetPark">
|
||
<summary>
|
||
True if this telescope is capable of programmed setting of its park position (<see cref="M:ASCOM.DeviceInterface.ITelescopeV3.SetPark" /> method)
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetPierSide">
|
||
<summary>
|
||
True if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.SideOfPier" /> property can be set, meaning that the mount can be forced to flip.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This will always return False for non-German-equatorial mounts that do not have to be flipped.
|
||
May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetRightAscensionRate">
|
||
<summary>
|
||
True if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate" /> property can be changed to provide offset tracking in the right ascension axis.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetTracking">
|
||
<summary>
|
||
True if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> property can be changed, turning telescope sidereal tracking on and off.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew">
|
||
<summary>
|
||
True if this telescope is capable of programmed slewing (synchronous or asynchronous) to equatorial coordinates
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
If this is true, then only the synchronous equatorial slewing methods are guaranteed to be supported.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync" /> property for the asynchronous slewing capability flag.
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAz">
|
||
<summary>
|
||
True if this telescope is capable of programmed slewing (synchronous or asynchronous) to local horizontal coordinates
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
If this is true, then only the synchronous local horizontal slewing methods are guaranteed to be supported.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAzAsync" /> property for the asynchronous slewing capability flag.
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAzAsync">
|
||
<summary>
|
||
True if this telescope is capable of programmed asynchronous slewing to local horizontal coordinates
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This indicates the the asynchronous local horizontal slewing methods are supported.
|
||
If this is True, then <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAz" /> will also be true.
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync">
|
||
<summary>
|
||
True if this telescope is capable of programmed asynchronous slewing to equatorial coordinates.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
This indicates the the asynchronous equatorial slewing methods are supported.
|
||
If this is True, then <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew" /> will also be true.
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSync">
|
||
<summary>
|
||
True if this telescope is capable of programmed synching to equatorial coordinates.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanSyncAltAz">
|
||
<summary>
|
||
True if this telescope is capable of programmed synching to local horizontal coordinates
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
May raise an error if the telescope is not connected.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.CanUnpark">
|
||
<summary>
|
||
True if this telescope is capable of programmed unparking (<see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Unpark" /> method).
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
If this is true, then <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPark" /> will also be true. May raise an error if the telescope is not connected.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Declination">
|
||
<summary>
|
||
The declination (degrees) of the telescope's current equatorial coordinates, in the coordinate system given by the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.EquatorialSystem" /> property.
|
||
Reading the property will raise an error if the value is unavailable.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate">
|
||
<summary>
|
||
The declination tracking rate (arcseconds per SI second, default = 0.0)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If DeclinationRate Write is not implemented.</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>DeclinationRate Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>DeclinationRate Write can throw a PropertyNotImplementedException.</b></p>
|
||
This property, together with <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate" />, provides support for "offset tracking".
|
||
Offset tracking is used primarily for tracking objects that move relatively slowly against the equatorial coordinate system.
|
||
It also may be used by a software guiding system that controls rates instead of using the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see> method.
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<list></list>
|
||
<item><description>The property value represents an offset from zero motion.</description></item>
|
||
<item><description>If <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetDeclinationRate" /> is False, this property will always return 0.</description></item>
|
||
<item><description>To discover whether this feature is supported, test the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetDeclinationRate" /> property.</description></item>
|
||
<item><description>The supported range of this property is telescope specific, however, if this feature is supported,
|
||
it can be expected that the range is sufficient to allow correction of guiding errors caused by moderate misalignment
|
||
and periodic error.</description></item>
|
||
<item><description>If this property is non-zero when an equatorial slew is initiated, the telescope should continue to update the slew
|
||
destination coordinates at the given offset rate.</description></item>
|
||
<item><description>This will allow precise slews to a fast-moving target with a slow-slewing telescope.</description></item>
|
||
<item><description>When the slew completes, the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> properties should reflect the final (adjusted) destination.</description></item>
|
||
<item><description>The units of this property are arcseconds per SI (atomic) second. Please note that for historic reasons the units of the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate" /> property are seconds of RA per sidereal second.</description></item>
|
||
</list>
|
||
</para>
|
||
<para>
|
||
This is not a required feature of this specification, however it is desirable.
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.DestinationSideOfPier(System.Double,System.Double)">
|
||
<summary>
|
||
Predict side of pier for German equatorial mounts
|
||
</summary>
|
||
<param name="RightAscension">The destination right ascension (hours).</param>
|
||
<param name="Declination">The destination declination (degrees, positive North).</param>
|
||
<returns>The side of the pier on which the telescope would be on if a slew to the given equatorial coordinates is performed at the current instant of time.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid RightAscension or Declination is specified.</exception>
|
||
<remarks>
|
||
This is only available for telescope InterfaceVersions 2 and 3
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.DoesRefraction">
|
||
<summary>
|
||
True if the telescope or driver applies atmospheric refraction to coordinates.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Either read or write or both properties can throw PropertyNotImplementedException if not implemented</exception>
|
||
<remarks>
|
||
If this property is True, the coordinates sent to, and retrieved from, the telescope are unrefracted.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>If the driver does not know whether the attached telescope does its own refraction, and if the driver does not itself calculate
|
||
refraction, this property (if implemented) must raise an error when read.</description></item>
|
||
<item><description>Writing to this property is optional. Often, a telescope (or its driver) calculates refraction using standard atmospheric parameters.</description></item>
|
||
<item><description>If the client wishes to calculate a more accurate refraction, then this property could be set to False and these
|
||
client-refracted coordinates used.</description></item>
|
||
<item><description>If disabling the telescope or driver's refraction is not supported, the driver must raise an error when an attempt to set
|
||
this property to False is made.</description></item>
|
||
<item><description>Setting this property to True for a telescope or driver that does refraction, or to False for a telescope or driver that
|
||
does not do refraction, shall not raise an error. It shall have no effect.</description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.EquatorialSystem">
|
||
<summary>
|
||
Equatorial coordinate system used by this telescope (e.g. Topocentric or J2000).
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
Most amateur telescopes use topocentric coordinates. This coordinate system is simply the apparent position in the sky
|
||
(possibly uncorrected for atmospheric refraction) for "here and now", thus these are the coordinates that one would use with digital setting
|
||
circles and most amateur scopes. More sophisticated telescopes use one of the standard reference systems established by professional astronomers.
|
||
The most common is the Julian Epoch 2000 (J2000). These instruments apply corrections for precession,nutation, abberration, etc. to adjust the coordinates
|
||
from the standard system to the pointing direction for the time and location of "here and now".
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.FindHome">
|
||
<summary>
|
||
Locates the telescope's "home" position (synchronous)
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanFindHome" /> is False</exception>
|
||
<remarks>
|
||
Returns only after the home position has been found.
|
||
At this point the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtHome" /> property will be True.
|
||
Raises an error if there is a problem.
|
||
Raises an error if AtPark is true.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.FocalLength">
|
||
<summary>
|
||
The telescope's focal length, meters
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<remarks>
|
||
This property may be used by clients to calculate telescope field of view and plate scale when combined with detector pixel size and geometry.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateDeclination">
|
||
<summary>
|
||
The current Declination movement rate offset for telescope guiding (degrees/sec)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid guide rate is set.</exception>
|
||
<remarks>
|
||
This is the rate for both hardware/relay guiding and the PulseGuide() method.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>To discover whether this feature is supported, test the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetGuideRates" /> property.</description></item>
|
||
<item><description>The supported range of this property is telescope specific, however, if this feature is supported, it can be expected that the range is sufficient to
|
||
allow correction of guiding errors caused by moderate misalignment and periodic error.</description></item>
|
||
<item><description>If a telescope does not support separate guiding rates in Right Ascension and Declination, then it is permissible for <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateRightAscension" /> and GuideRateDeclination to be tied together.
|
||
In this case, changing one of the two properties will cause a change in the other.</description></item>
|
||
<item><description>Mounts must start up with a known or default declination guide rate, and this property must return that known/default guide rate until changed.</description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateRightAscension">
|
||
<summary>
|
||
The current Right Ascension movement rate offset for telescope guiding (degrees/sec)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid guide rate is set.</exception>
|
||
<remarks>
|
||
This is the rate for both hardware/relay guiding and the PulseGuide() method.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>To discover whether this feature is supported, test the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetGuideRates" /> property.</description></item>
|
||
<item><description>The supported range of this property is telescope specific, however, if this feature is supported, it can be expected that the range is sufficient to allow correction of guiding errors caused by moderate
|
||
misalignment and periodic error.</description></item>
|
||
<item><description>If a telescope does not support separate guiding rates in Right Ascension and Declination, then it is permissible for GuideRateRightAscension and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateDeclination" /> to be tied together.
|
||
In this case, changing one of the two properties will cause a change in the other.</description></item>
|
||
<item><description> Mounts must start up with a known or default right ascension guide rate, and this property must return that known/default guide rate until changed.</description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.IsPulseGuiding">
|
||
<summary>
|
||
True if a <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)" /> command is in progress, False otherwise
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPulseGuide" /> is False</exception>
|
||
<remarks>
|
||
Raises an error if the value of the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPulseGuide" /> property is false (the driver does not support the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)" /> method).
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)">
|
||
<summary>
|
||
Move the telescope in one axis at the given rate.
|
||
</summary>
|
||
<param name="Axis">The physical axis about which movement is desired</param>
|
||
<param name="Rate">The rate of motion (deg/sec) about the specified axis</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid axis or rate is given.</exception>
|
||
<remarks>
|
||
This method supports control of the mount about its mechanical axes.
|
||
The telescope will start moving at the specified rate about the specified axis and continue indefinitely.
|
||
This method can be called for each axis separately, and have them all operate concurrently at separate rates of motion.
|
||
Set the rate for an axis to zero to restore the motion about that axis to the rate set by the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking"/> property.
|
||
Tracking motion (if enabled, see note below) is suspended during this mode of operation.
|
||
<para>
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is true.
|
||
This must be implemented for the if the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.CanMoveAxis(ASCOM.DeviceInterface.TelescopeAxes)" /> property returns True for the given axis.</para>
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>The movement rate must be within the value(s) obtained from a <see cref="T:ASCOM.DeviceInterface.IRate" /> object in the
|
||
the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.AxisRates(ASCOM.DeviceInterface.TelescopeAxes)" /> collection. This is a signed value with negative rates moving in the oposite direction to positive rates.</description></item>
|
||
<item><description>The values specified in <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.AxisRates(ASCOM.DeviceInterface.TelescopeAxes)" /> are absolute, unsigned values and apply to both directions, determined by the sign used in this command.</description></item>
|
||
<item><description>The value of <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> must be True if the telescope is moving about any of its axes as a result of this method being called.
|
||
This can be used to simulate a handbox by initiating motion with the MouseDown event and stopping the motion with the MouseUp event.</description></item>
|
||
<item><description>When the motion is stopped by setting the rate to zero the scope will be set to the previous <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRate" /> or to no movement, depending on the state of the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> property.</description></item>
|
||
<item><description>It may be possible to implement satellite tracking by using the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method to move the scope in the required manner to track a satellite.</description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.Park">
|
||
<summary>
|
||
Move the telescope to its park position, stop all motion (or restrict to a small safe range), and set <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> to True.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPark" /> is False</exception>
|
||
<remarks>
|
||
Raises an error if there is a problem communicating with the telescope or if parking fails. Parking should put the telescope into a state where its pointing accuracy
|
||
will not be lost if it is power-cycled (without moving it).Some telescopes must be power-cycled before unparking. Others may be unparked by simply calling the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Unpark" /> method.
|
||
Calling this with <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> = True does nothing (harmless)
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">
|
||
<summary>
|
||
Moves the scope in the given direction for the given interval or time at
|
||
the rate given by the corresponding guide rate property
|
||
</summary>
|
||
<param name="Direction">The direction in which the guide-rate motion is to be made</param>
|
||
<param name="Duration">The duration of the guide-rate motion (milliseconds)</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPulseGuide" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid direction or duration is given.</exception>
|
||
<remarks>
|
||
This method returns immediately if the hardware is capable of back-to-back moves,
|
||
i.e. dual-axis moves. For hardware not having the dual-axis capability,
|
||
the method returns only after the move has completed.
|
||
<para>
|
||
<b>NOTES:</b>
|
||
<list type="bullet">
|
||
<item><description>Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is true.</description></item>
|
||
<item><description>The <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.IsPulseGuiding" /> property must be be True during pulse-guiding.</description></item>
|
||
<item><description>The rate of motion for movements about the right ascension axis is
|
||
specified by the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateRightAscension" /> property. The rate of motion
|
||
for movements about the declination axis is specified by the
|
||
<see cref="P:ASCOM.DeviceInterface.ITelescopeV3.GuideRateDeclination" /> property. These two rates may be tied together
|
||
into a single rate, depending on the driver's implementation
|
||
and the capabilities of the telescope.</description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscension">
|
||
<summary>
|
||
The right ascension (hours) of the telescope's current equatorial coordinates,
|
||
in the coordinate system given by the EquatorialSystem property
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
Reading the property will raise an error if the value is unavailable.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate">
|
||
<summary>
|
||
The right ascension tracking rate offset from sidereal (seconds per sidereal second, default = 0.0)
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If RightAscensionRate Write is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid rate is set.</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>RightAscensionRate Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>RightAscensionRate Write can throw a PropertyNotImplementedException.</b></p>
|
||
This property, together with <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate" />, provides support for "offset tracking". Offset tracking is used primarily for tracking objects that move relatively slowly
|
||
against the equatorial coordinate system. It also may be used by a software guiding system that controls rates instead of using the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see> method.
|
||
<para>
|
||
<b>NOTES:</b>
|
||
The property value represents an offset from the currently selected <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRate" />.
|
||
<list type="bullet">
|
||
<item><description>If this property is zero, tracking will be at the selected <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRate" />.</description></item>
|
||
<item><description>If <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetRightAscensionRate" /> is False, this property must always return 0.</description></item>
|
||
To discover whether this feature is supported, test the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetRightAscensionRate" />property.
|
||
<item><description>The units of this property are seconds of right ascension per sidereal second. Please note that for historic reasons the units of the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate" /> property are arcseconds per SI second.</description></item>
|
||
<item><description>To convert a given rate in (the more common) units of sidereal seconds per UTC (clock) second, multiply the value by 0.9972695677
|
||
(the number of UTC seconds in a sidereal second) then set the property. Please note that these units were chosen for the Telescope V1 standard,
|
||
and in retrospect, this was an unfortunate choice. However, to maintain backwards compatibility, the units cannot be changed.
|
||
A simple multiplication is all that's needed, as noted. The supported range of this property is telescope specific, however,
|
||
if this feature is supported, it can be expected that the range is sufficient to allow correction of guiding errors
|
||
caused by moderate misalignment and periodic error. </description></item>
|
||
<item><description>If this property is non-zero when an equatorial slew is initiated, the telescope should continue to update the slew destination coordinates
|
||
at the given offset rate. This will allow precise slews to a fast-moving target with a slow-slewing telescope. When the slew completes,
|
||
the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> properties should reflect the final (adjusted) destination. This is not a required
|
||
feature of this specification, however it is desirable. </description></item>
|
||
<item><description>Use the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> property to enable and disable sidereal tracking (if supported). </description></item>
|
||
</list>
|
||
</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SetPark">
|
||
<summary>
|
||
Sets the telescope's park position to be its current position.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanPark" /> is False</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SideOfPier">
|
||
<summary>
|
||
Indicates the pointing state of the mount.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid side of pier is set.</exception>
|
||
<remarks>
|
||
<para>For historical reasons, this property's name does not reflect its true meaning. The name will not be changed (so as to preserve
|
||
compatibility), but the meaning has since become clear. All conventional mounts have two pointing states for a given equatorial (sky) position.
|
||
Mechanical limitations often make it impossible for the mount to position the optics at given HA/Dec in one of the two pointing
|
||
states, but there are places where the same point can be reached sensibly in both pointing states (e.g. near the pole and
|
||
close to the meridian). In order to understand these pointing states, consider the following (thanks to Patrick Wallace for this info):</para>
|
||
<para>All conventional telescope mounts have two axes nominally at right angles. For an equatorial, the longitude axis is mechanical
|
||
hour angle and the latitude axis is mechanical declination. Sky coordinates and mechanical coordinates are two completely separate arenas.
|
||
This becomes rather more obvious if your mount is an altaz, but it's still true for an equatorial. Both mount axes can in principle
|
||
move over a range of 360 deg. This is distinct from sky HA/Dec, where Dec is limited to a 180 deg range (+90 to -90). Apart from
|
||
practical limitations, any point in the sky can be seen in two mechanical orientations. To get from one to the other the HA axis
|
||
is moved 180 deg and the Dec axis is moved through the pole a distance twice the sky codeclination (90 - sky declination).</para>
|
||
<para>Mechanical zero HA/Dec will be one of the two ways of pointing at the intersection of the celestial equator and the local meridian.
|
||
In order to support Dome slaving, where it is important to know which side of the pier the mount is actually on, ASCOM has adopted the
|
||
convention that the Normal pointing state will be the state where a German Equatorial mount is on the East side of the pier, looking West, with the
|
||
counterweights below the optical assembly and that <see cref="F:ASCOM.DeviceInterface.PierSide.pierEast"></see> will represent this pointing state.</para>
|
||
<para>Move your scope to this position and consider the two mechanical encoders zeroed. The two pointing states are, then:
|
||
<list type="table">
|
||
<item><term><b>Normal (<see cref="F:ASCOM.DeviceInterface.PierSide.pierEast"></see>)</b></term><description>Where the mechanical Dec is in the range -90 deg to +90 deg</description></item>
|
||
<item><term><b>Beyond the pole (<see cref="F:ASCOM.DeviceInterface.PierSide.pierWest"></see>)</b></term><description>Where the mechanical Dec is in the range -180 deg to -90 deg or +90 deg to +180 deg.</description></item>
|
||
</list>
|
||
</para>
|
||
<para>"Side of pier" is a "consequence" of the former definition, not something fundamental.
|
||
Apart from mechanical interference, the telescope can move from one side of the pier to the other without the mechanical Dec
|
||
having changed: you could track Polaris forever with the telescope moving from west of pier to east of pier or vice versa every 12h.
|
||
Thus, "side of pier" is, in general, not a useful term (except perhaps in a loose, descriptive, explanatory sense).
|
||
All this applies to a fork mount just as much as to a GEM, and it would be wrong to make the "beyond pole" state illegal for the
|
||
former. Your mount may not be able to get there if your camera hits the fork, but it's possible on some mounts. Whether this is useful
|
||
depends on whether you're in Hawaii or Finland.</para>
|
||
<para>To first order, the relationship between sky and mechanical HA/Dec is as follows:</para>
|
||
<para><b>Normal state:</b>
|
||
<list type="bullet">
|
||
<item><description>HA_sky = HA_mech</description></item>
|
||
<item><description>Dec_sky = Dec_mech</description></item>
|
||
</list>
|
||
</para>
|
||
<para><b>Beyond the pole</b>
|
||
<list type="bullet">
|
||
<item><description>HA_sky = HA_mech + 12h, expressed in range ± 12h</description></item>
|
||
<item><description>Dec_sky = 180d - Dec_mech, expressed in range ± 90d</description></item>
|
||
</list>
|
||
</para>
|
||
<para>Astronomy software often needs to know which which pointing state the mount is in. Examples include setting guiding polarities
|
||
and calculating dome opening azimuth/altitude. The meaning of the SideOfPier property, then is:
|
||
<list type="table">
|
||
<item><term><b>pierEast</b></term><description>Normal pointing state</description></item>
|
||
<item><term><b>pierWest</b></term><description>Beyond the pole pointing state</description></item>
|
||
</list>
|
||
</para>
|
||
<para>If the mount hardware reports neither the true pointing state (or equivalent) nor the mechanical declination axis position
|
||
(which varies from -180 to +180), a driver cannot calculate the pointing state, and *must not* implement SideOfPier.
|
||
If the mount hardware reports only the mechanical declination axis position (-180 to +180) then a driver can calculate SideOfPier as follows:
|
||
<list type="bullet">
|
||
<item><description>pierEast = abs(mechanical dec) <= 90 deg</description></item>
|
||
<item><description>pierWest = abs(mechanical Dec) > 90 deg</description></item>
|
||
</list>
|
||
</para>
|
||
<para>It is allowed (though not required) that this property may be written to force the mount to flip. Doing so, however, may change
|
||
the right ascension of the telescope. During flipping, Telescope.Slewing must return True.</para>
|
||
<para>This property is only available in telescope InterfaceVersions 2 and 3.</para>
|
||
<para><b>Pointing State and Side of Pier - Help for Driver Developers</b></para>
|
||
<para>A further document, "Pointing State and Side of Pier", is installed in the Developer Documentation folder by the ASCOM Developer
|
||
Components installer. This further explains the pointing state concept and includes diagrams illustrating how it relates
|
||
to physical side of pier for German equatorial telescopes. It also includes details of the tests performed by Conform to determine whether
|
||
the driver correctly reports the pointing state as defined above.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SiderealTime">
|
||
<summary>
|
||
The local apparent sidereal time from the telescope's internal clock (hours, sidereal)
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw a PropertyNotImplementedException.</b></p>
|
||
It is required for a driver to calculate this from the system clock if the telescope
|
||
has no accessible source of sidereal time. Local Apparent Sidereal Time is the sidereal
|
||
time used for pointing telescopes, and thus must be calculated from the Greenwich Mean
|
||
Sidereal time, longitude, nutation in longitude and true ecliptic obliquity.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SiteElevation">
|
||
<summary>
|
||
The elevation above mean sea level (meters) of the site at which the telescope is located
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid elevation is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If the application must set the elevation before reading it, but has not.</exception>
|
||
<remarks>
|
||
Setting this property will raise an error if the given value is outside the range -300 through +10000 metres.
|
||
Reading the property will raise an error if the value has never been set or is otherwise unavailable.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SiteLatitude">
|
||
<summary>
|
||
The geodetic(map) latitude (degrees, positive North, WGS84) of the site at which the telescope is located.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid latitude is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If the application must set the latitude before reading it, but has not.</exception>
|
||
<remarks>
|
||
Setting this property will raise an error if the given value is outside the range -90 to +90 degrees.
|
||
Reading the property will raise an error if the value has never been set or is otherwise unavailable.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SiteLongitude">
|
||
<summary>
|
||
The longitude (degrees, positive East, WGS84) of the site at which the telescope is located.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid longitude is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If the application must set the longitude before reading it, but has not.</exception>
|
||
<remarks>
|
||
Setting this property will raise an error if the given value is outside the range -180 to +180 degrees.
|
||
Reading the property will raise an error if the value has never been set or is otherwise unavailable.
|
||
Note that West is negative!
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing">
|
||
<summary>
|
||
True if telescope is currently moving in response to one of the
|
||
Slew methods or the <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" /> method, False at all other times.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<remarks>
|
||
Reading the property will raise an error if the value is unavailable. If the telescope is not capable of asynchronous slewing, this property will always be False.
|
||
The definition of "slewing" excludes motion caused by sidereal tracking, <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.PulseGuide(ASCOM.DeviceInterface.GuideDirections,System.Int32)">PulseGuide</see>, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate" />, and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate" />.
|
||
It reflects only motion caused by one of the Slew commands, flipping caused by changing the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.SideOfPier" /> property, or <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.MoveAxis(ASCOM.DeviceInterface.TelescopeAxes,System.Double)" />.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.SlewSettleTime">
|
||
<summary>
|
||
Specifies a post-slew settling time (sec.).
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid settle time is set.</exception>
|
||
<remarks>
|
||
Adds additional time to slew operations. Slewing methods will not return,
|
||
and the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> property will not become False, until the slew completes and the SlewSettleTime has elapsed.
|
||
This feature (if supported) may be used with mounts that require extra settling time after a slew.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToAltAz(System.Double,System.Double)">
|
||
<summary>
|
||
Move the telescope to the given local horizontal coordinates, return when slew is complete
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAz" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid azimuth or elevation is given.</exception>
|
||
<remarks>
|
||
This Method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAz" /> returns True. Raises an error if the slew fails. The slew may fail if the target coordinates are beyond limits imposed within the driver component.
|
||
Such limits include mechanical constraints imposed by the mount or attached instruments, building or dome enclosure restrictions, etc.
|
||
<para>The <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> properties are not changed by this method.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is True. This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
<param name="Azimuth">Target azimuth (degrees, North-referenced, positive East/clockwise).</param>
|
||
<param name="Altitude">Target altitude (degrees, positive up)</param>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToAltAzAsync(System.Double,System.Double)">
|
||
<summary>
|
||
This Method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAzAsync" /> returns True.
|
||
</summary>
|
||
<param name="Azimuth">Azimuth to which to move</param>
|
||
<param name="Altitude">Altitude to which to move to</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAltAzAsync" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid azimuth or elevation is given.</exception>
|
||
<remarks>
|
||
This method should only be implemented if the properties <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Altitude" />, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Azimuth" />,
|
||
<see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscension" />, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Declination" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> can be read while the scope is slewing. Raises an error if starting the slew fails. Returns immediately after starting the slew.
|
||
The client may monitor the progress of the slew by reading the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Azimuth" />, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Altitude" />, and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> properties during the slew. When the slew completes, Slewing becomes False.
|
||
The slew may fail if the target coordinates are beyond limits imposed within the driver component. Such limits include mechanical constraints imposed by the mount or attached instruments, building or dome enclosure restrictions, etc.
|
||
The <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> properties are not changed by this method.
|
||
<para>Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is True.</para>
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToCoordinates(System.Double,System.Double)">
|
||
<summary>
|
||
Move the telescope to the given equatorial coordinates, return when slew is complete
|
||
</summary>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid right ascension or declination is given.</exception>
|
||
<param name="RightAscension">The destination right ascension (hours). Copied to <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" />.</param>
|
||
<param name="Declination">The destination declination (degrees, positive North). Copied to <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" />.</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew" /> is False</exception>
|
||
<remarks>
|
||
This Method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew" /> returns True. Raises an error if the slew fails.
|
||
The slew may fail if the target coordinates are beyond limits imposed within the driver component.
|
||
Such limits include mechanical constraints imposed by the mount or attached instruments,
|
||
building or dome enclosure restrictions, etc. The target coordinates are copied to
|
||
<see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> whether or not the slew succeeds.
|
||
<para>Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToCoordinatesAsync(System.Double,System.Double)">
|
||
<summary>
|
||
Move the telescope to the given equatorial coordinates, return immediately after starting the slew.
|
||
</summary>
|
||
<param name="RightAscension">The destination right ascension (hours). Copied to <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" />.</param>
|
||
<param name="Declination">The destination declination (degrees, positive North). Copied to <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" />.</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid right ascension or declination is given.</exception>
|
||
<remarks>
|
||
This method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync" /> returns True. Raises an error if starting the slew failed.
|
||
Returns immediately after starting the slew. The client may monitor the progress of the slew by reading
|
||
the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscension" />, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Declination" />, and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> properties during the slew. When the slew completes,
|
||
<see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> becomes False. The slew may fail to start if the target coordinates are beyond limits
|
||
imposed within the driver component. Such limits include mechanical constraints imposed
|
||
by the mount or attached instruments, building or dome enclosure restrictions, etc.
|
||
<para>The target coordinates are copied to <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" />
|
||
whether or not the slew succeeds.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToTarget">
|
||
<summary>
|
||
Move the telescope to the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> coordinates, return when slew complete.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew" /> is False</exception>
|
||
<remarks>
|
||
This Method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlew" /> returns True. Raises an error if the slew fails.
|
||
The slew may fail if the target coordinates are beyond limits imposed within the driver component.
|
||
Such limits include mechanical constraints imposed by the mount or attached
|
||
instruments, building or dome enclosure restrictions, etc.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SlewToTargetAsync">
|
||
<summary>
|
||
Move the telescope to the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> coordinates,
|
||
returns immediately after starting the slew.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync" /> is False</exception>
|
||
<remarks>
|
||
This Method must be implemented if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSlewAsync" /> returns True.
|
||
Raises an error if starting the slew failed. Returns immediately after starting the slew. The client may monitor the progress of the slew by reading the RightAscension, Declination,
|
||
and Slewing properties during the slew. When the slew completes, <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Slewing" /> becomes False. The slew may fail to start if the target coordinates are beyond limits imposed within
|
||
the driver component. Such limits include mechanical constraints imposed by the mount or attached instruments, building or dome enclosure restrictions, etc.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SyncToAltAz(System.Double,System.Double)">
|
||
<summary>
|
||
Matches the scope's local horizontal coordinates to the given local horizontal coordinates.
|
||
</summary>
|
||
<param name="Azimuth">Target azimuth (degrees, North-referenced, positive East/clockwise)</param>
|
||
<param name="Altitude">Target altitude (degrees, positive up)</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSyncAltAz" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid azimuth or altitude is given.</exception>
|
||
<remarks>
|
||
This must be implemented if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSyncAltAz" /> property is True. Raises an error if matching fails.
|
||
<para>Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is True.</para>
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SyncToCoordinates(System.Double,System.Double)">
|
||
<summary>
|
||
Matches the scope's equatorial coordinates to the given equatorial coordinates.
|
||
</summary>
|
||
<param name="RightAscension">The corrected right ascension (hours). Copied to the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension" /> property.</param>
|
||
<param name="Declination">The corrected declination (degrees, positive North). Copied to the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination" /> property.</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSync" /> is False</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid right ascension or declination is given.</exception>
|
||
<remarks>
|
||
This must be implemented if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSync" /> property is True. Raises an error if matching fails.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> AtPark is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.
|
||
The way that Sync is implemented is mount dependent and it should only be relied on to improve pointing for positions close to
|
||
the position at which the sync is done.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.SyncToTarget">
|
||
<summary>
|
||
Matches the scope's equatorial coordinates to the given equatorial coordinates.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSync" /> is False</exception>
|
||
<remarks>
|
||
This must be implemented if the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSync" /> property is True. Raises an error if matching fails.
|
||
Raises an error if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> AtPark is True, or if <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> is False.
|
||
The way that Sync is implemented is mount dependent and it should only be relied on to improve pointing for positions close to
|
||
the position at which the sync is done.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.TargetDeclination">
|
||
<summary>
|
||
The declination (degrees, positive North) for the target of an equatorial slew or sync operation
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid declination is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If the property is read before being set for the first time.</exception>
|
||
<remarks>
|
||
Setting this property will raise an error if the given value is outside the range -90 to +90 degrees. Reading the property will raise an error if the value has never been set or is otherwise unavailable.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.TargetRightAscension">
|
||
<summary>
|
||
The right ascension (hours) for the target of an equatorial slew or sync operation
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If the property is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid right ascension is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If the property is read before being set for the first time.</exception>
|
||
<remarks>
|
||
Setting this property will raise an error if the given value is outside the range 0 to 24 hours. Reading the property will raise an error if the value has never been set or is otherwise unavailable.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking">
|
||
<summary>
|
||
The state of the telescope's sidereal tracking drive.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If Tracking Write is not implemented.</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>Tracking Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>Tracking Write can throw a PropertyNotImplementedException.</b></p>
|
||
Changing the value of this property will turn the sidereal drive on and off.
|
||
However, some telescopes may not support changing the value of this property
|
||
and thus may not support turning tracking on and off.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanSetTracking" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRate">
|
||
<summary>
|
||
The current tracking rate of the telescope's sidereal drive
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If TrackingRate Write is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid drive rate is set.</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>TrackingRate Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>TrackingRate Write can throw a PropertyNotImplementedException.</b></p>
|
||
Supported rates (one of the <see cref="T:ASCOM.DeviceInterface.DriveRates" /> values) are contained within the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRates" /> collection.
|
||
Values assigned to TrackingRate must be one of these supported rates. If an unsupported value is assigned to this property, it will raise an error.
|
||
The currently selected tracking rate can be further adjusted via the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.RightAscensionRate" /> and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.DeclinationRate" /> properties. These rate offsets are applied to the currently
|
||
selected tracking rate. Mounts must start up with a known or default tracking rate, and this property must return that known/default tracking rate until changed.
|
||
<para>If the mount's current tracking rate cannot be determined (for example, it is a write-only property of the mount's protocol),
|
||
it is permitted for the driver to force and report a default rate on connect. In this case, the preferred default is Sidereal rate.</para>
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRates">
|
||
<summary>
|
||
Returns a collection of supported <see cref="T:ASCOM.DeviceInterface.DriveRates" /> values that describe the permissible
|
||
values of the <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.TrackingRate" /> property for this telescope type.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented and must not throw a PropertyNotImplementedException.</b></p>
|
||
At a minimum, this must contain an item for <see cref="F:ASCOM.DeviceInterface.DriveRates.driveSidereal" />.
|
||
<para>This is only available for telescope InterfaceVersions 2 and 3</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITelescopeV3.Unpark">
|
||
<summary>
|
||
Takes telescope out of the Parked state.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented and <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.CanUnpark" /> is False</exception>
|
||
<remarks>
|
||
The state of <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.Tracking" /> after unparking is undetermined. Valid only after <see cref="M:ASCOM.DeviceInterface.ITelescopeV3.Park" />. Applications must check and change Tracking as needed after unparking.
|
||
Raises an error if unparking fails. Calling this with <see cref="P:ASCOM.DeviceInterface.ITelescopeV3.AtPark" /> = False does nothing (harmless)
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITelescopeV3.UTCDate">
|
||
<summary>
|
||
The UTC date/time of the telescope's internal clock
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">If UTCDate Write is not implemented.</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">If an invalid <see cref="T:System.DateTime" /> is set.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">When UTCDate is read and the mount cannot provide this property itslef and a value has not yet be established by writing to the property.</exception>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>UTCDate Read must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
<p style="color:red;margin-top:0"><b>UTCDate Write can throw a PropertyNotImplementedException.</b></p>
|
||
The driver must calculate this from the system clock if the telescope has no accessible source of UTC time. In this case, the property must not be writeable (this would change the system clock!) and will instead raise an error.
|
||
However, it is permitted to change the telescope's internal UTC clock if it is being used for this property. This allows clients to adjust the telescope's UTC clock as needed for accuracy. Reading the property
|
||
will raise an error if the value has never been set or is otherwise unavailable.
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ITrackingRates">
|
||
<summary>
|
||
Returns a collection of supported DriveRate values that describe the permissible values of the TrackingRate property for this telescope type.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITrackingRates.Item(System.Int32)">
|
||
<summary>
|
||
Returns a specified item from the collection
|
||
</summary>
|
||
<param name="index">Number of the item to return</param>
|
||
<value>A collection of supported DriveRate values that describe the permissible values of the TrackingRate property for this telescope type.</value>
|
||
<returns>Returns a collection of supported DriveRate values</returns>
|
||
<remarks>This is only used by telescope interface versions 2 and 3</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ITrackingRates.Count">
|
||
<summary>
|
||
Number of DriveRates supported by the Telescope
|
||
</summary>
|
||
<value>Number of DriveRates supported by the Telescope</value>
|
||
<returns>Integer count</returns>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITrackingRates.GetEnumerator">
|
||
<summary>
|
||
Returns an enumerator for the collection
|
||
</summary>
|
||
<returns>An enumerator</returns>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ITrackingRates.Dispose">
|
||
<summary>
|
||
Disposes of the TrackingRates object
|
||
</summary>
|
||
<remarks></remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.VideoCameraFrameRate">
|
||
<summary>
|
||
ASCOM Video Camera supported frame rates.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraFrameRate.Variable">
|
||
<summary>
|
||
This is a video camera that supports variable frame rates.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraFrameRate.PAL">
|
||
<summary>
|
||
25 frames per second (fps) corresponding to a <b>PAL</b> (colour) or <b>CCIR</b> (black and white) video standard.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraFrameRate.NTSC">
|
||
<summary>
|
||
29.97 frames per second (fps) corresponding to an <b>NTSC</b> (colour) or <b>EIA</b> (black and white) video standard.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.VideoCameraState">
|
||
<summary>
|
||
ASCOM Video Camera status values.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraState.videoCameraRunning">
|
||
<summary>
|
||
Camera status running. The video is receiving signal and video frames are available for viewing or recording.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraState.videoCameraRecording">
|
||
<summary>
|
||
Camera status recording. The video camera is recording video to the file system. Video frames are available for viewing.
|
||
</summary>
|
||
</member>
|
||
<member name="F:ASCOM.DeviceInterface.VideoCameraState.videoCameraError">
|
||
<summary>
|
||
Camera status error. The video camera is in a state of an error and cannot continue its operation. Usually a reset will be required to resolve the error condition.
|
||
</summary>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IVideoFrame">
|
||
<summary>
|
||
Defines the IVideoFrame Interface.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.ImageArray">
|
||
<summary>
|
||
Returns a safearray of int32 containing the pixel values from the video frame. The array could be one of: ImageArray[Pixels], ImageArray[Height, Width], ImageArray[NumPlane, Pixels]
|
||
or ImageArray[NumPlane, Height, Width].
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
<para>The application must inspect the Safearray parameters to determine the dimensions and also the <see cref="P:ASCOM.DeviceInterface.IVideo.SensorType"/> to determine if the image is <b>Color</b> or not.
|
||
The following table should be used to determine the format of the data:</para>
|
||
<para>
|
||
<table style="width:76.24%;" cellspacing="0" width="76.24%">
|
||
<col style="width: 11.701%;"></col>
|
||
<col style="width: 20.708%;"></col>
|
||
<col style="width: 67.591%;"></col>
|
||
<tr>
|
||
<td colspan="1" rowspan="1" style="width: 11.701%; padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-color: #000000; border-right-style: Solid;
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="11.701%">
|
||
<b>Dimensions</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 20.708%; padding-right: 10px; padding-left: 10px; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-style: Solid; border-right-color: #000000; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="20.708%">
|
||
<b>SensorType</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 67.591%; padding-right: 10px; padding-left: 10px; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-style: Solid; border-right-color: #000000; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="67.591%">
|
||
<b>Array Format</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td>1; int[]</td>
|
||
<td><b>Monochrome</b>, <b>RGGB</b>, <b>CMYG</b>, <b>CMYG2</b>, <b>LRGB</b></td>
|
||
<td>A row major <b>ImageArray[Pixels]</b> of <see cref="P:ASCOM.DeviceInterface.IVideo.Height"/> * <see cref="P:ASCOM.DeviceInterface.IVideo.Width"/> elements. The pixels in the array start from the top left part of the image and are listed by horizontal lines/rows. The second pixel in the array is the second pixel from the first horizontal row
|
||
and the second last pixel in the array is the second last pixels from the last horizontal row.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>1; int[]</td>
|
||
<td><b>Color</b></td>
|
||
<td><p style="color:red">Invalid configuration.</p></td>
|
||
</tr>
|
||
<tr>
|
||
<td>2; int[,]</td>
|
||
<td><b>Monochrome</b>, <b>RGGB</b>, <b>CMYG</b>, <b>CMYG2</b>, <b>LRGB</b></td>
|
||
<td><b>ImageArray[Height, Width]</b> of <see cref="P:ASCOM.DeviceInterface.IVideo.Height"/> x <see cref="P:ASCOM.DeviceInterface.IVideo.Width"/> elements.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2; int[,]</td>
|
||
<td><b>Color</b></td>
|
||
<td><b>ImageArray[NumPlane, Pixels]</b> of NumPlanes x <see cref="P:ASCOM.DeviceInterface.IVideo.Height"/> * <see cref="P:ASCOM.DeviceInterface.IVideo.Width"/> elements. The order of the three colour planes is
|
||
first is <b>R</b>, the second is <b>G</b> and third is <b>B</b>. The pixels in second dimension of the array start from the top left part of the image and are listed by horizontal lines/rows. The second pixel is the second pixel from the first horizontal row
|
||
and the second last pixel is the second last pixels from the last horizontal row.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3; int[,,]</td>
|
||
<td><b>Monochrome</b>, <b>RGGB</b>, <b>CMYG</b>, <b>CMYG2</b>, <b>LRGB</b></td>
|
||
<td><p style="color:red">Invalid configuration.</p></td>
|
||
</tr>
|
||
<tr>
|
||
<td>3; int[,,]</td>
|
||
<td><b>Color</b></td>
|
||
<td><b>ImageArray[NumPlane, Height, Width]</b> of NumPlanes x <see cref="P:ASCOM.DeviceInterface.IVideo.Height"/> x <see cref="P:ASCOM.DeviceInterface.IVideo.Width"/> elements. The order of the three colour planes is
|
||
first is <b>R</b>, the second is <b>G</b> and third is <b>B</b>.</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>In <b>Color</b> SensorType mode, if the application cannot handle multispectral images, it should use just the first plane.</para>
|
||
</remarks>
|
||
<value>The image array.</value>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.PreviewBitmap">
|
||
<summary>
|
||
Returns a preview bitmap for the last video frame as an array of byte.
|
||
</summary>
|
||
<example> The following code can be used to create a Bitmap from the returned byte array
|
||
<code lang="cs">
|
||
using (var memStr = new MemoryStream(frame.PreviewBitmap))
|
||
{
|
||
bmp = (Bitmap)Image.FromStream(memStr);
|
||
}
|
||
</code>
|
||
<code lang="VB">
|
||
Using memStr = New MemoryStream(frame.PreviewBitmap)
|
||
bmp = DirectCast(Image.FromStream(memStr), Bitmap)
|
||
End Using
|
||
</code>
|
||
</example>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p> The application can use this bitmap to show a preview image of the last video frame when required. This is a convenience property for
|
||
those applications that don't require to process the <see cref="P:ASCOM.DeviceInterface.IVideoFrame.ImageArray"/> but usually only adjust the video camera settings and then record a video file.
|
||
<para>When a 24bit RGB image can be returned by the driver this should be the preferred format. </para>
|
||
</remarks>
|
||
<value>The preview bitmap image.</value>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.FrameNumber">
|
||
<summary>
|
||
Returns the frame number.
|
||
</summary>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
The frame number of the first exposed frame may not be zero and is dependent on the device and/or the driver. The frame number increases with each acquired frame not with each requested frame by the client.
|
||
</remarks>
|
||
<value>The frame number of the current video frame.</value>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.ExposureDuration">
|
||
<summary>
|
||
Returns the actual exposure duration in seconds (i.e. shutter open time).
|
||
</summary>
|
||
<remarks>
|
||
This may differ from the exposure time corresponding to the requested frame exposure due to shutter latency, camera timing precision, etc.
|
||
</remarks>
|
||
<value>The duration of the frame exposure.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if not implemented.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.ExposureStartTime">
|
||
<summary>
|
||
Returns the actual exposure start time in the FITS-standard CCYY-MM-DDThh:mm:ss[.sss...] format, if supported.
|
||
</summary>
|
||
<value>The frame exposure start time.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if not implemented.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideoFrame.ImageMetadata">
|
||
<summary>
|
||
Returns additional information associated with the video frame as a list of named variables.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
<para>The returned object contains entries for each value. For each entry, the Key property is the value's name, and the Value property is the string value itself.</para>
|
||
This property must return an empty list if no video frame metadata is provided.
|
||
<para>The Keys is a single word, or multiple words joined by underscore characters, that sensibly describes the variable. It is recommended that Keys
|
||
should be a maximum of 16 characters for legibility and all upper case.</para>
|
||
<para>The KeyValuePair objects are instances of the <see cref="T:ASCOM.Utilities.KeyValuePair">KeyValuePair class</see></para>
|
||
</remarks>
|
||
<value>An ArrayList of KeyValuePair objects.</value>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.IVideo">
|
||
<summary>
|
||
Defines the IVideo Interface.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and model number. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.IVideo.Description"/> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.IVideo.DriverVersion"/> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.IVideo.InterfaceVersion"/> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 1 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are supported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful.</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>May throw a MethodNotImplementedException if the device does not support any actions.</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
"General" will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.IVideo.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p> This method must return an empty arraylist if no actions are supported.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.IVideo.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.VideoCaptureDeviceName">
|
||
<summary>
|
||
The name of the video capture device when such a device is used.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if not implemented.</exception>
|
||
<remarks>For analogue video this is usually the video capture card or dongle attached to the computer.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful.</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.ExposureMax">
|
||
<summary>
|
||
The maximum supported exposure (integration time) in seconds.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
This value is for information purposes only. The exposure cannot be set directly in seconds, use <see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> property to change the exposure.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.ExposureMin">
|
||
<summary>
|
||
The minimum supported exposure (integration time) in seconds.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
This value is for information purposes only. The exposure cannot be set directly in seconds, use <see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> property to change the exposure.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.FrameRate">
|
||
<summary>
|
||
The frame rate at which the camera is running.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
Analogue cameras run in one of the two fixed frame rates - 25fps for PAL video and 29.97fps for NTSC video.
|
||
Digital cameras usually can run at a variable frame rate. This value is for information purposes only and cannot be set. The FrameRate has the same value during the entire operation of the device.
|
||
Changing the <see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> property may change the actual variable frame rate but cannot changethe return value of this property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.SupportedIntegrationRates">
|
||
<summary>
|
||
Returns the list of integration rates supported by the video camera.
|
||
</summary>
|
||
<remarks>
|
||
Digital and integrating analogue video cameras allow the effective exposure of a frame to be changed. If the camera supports setting the exposure directly i.e. 2.153 sec then the driver must only
|
||
return a range of useful supported exposures. For many video cameras the supported exposures (integration rates) increase by a factor of 2 from a base exposure e.g. 1, 2, 4, 8, 16 sec or 0.04, 0.08, 0.16, 0.32, 0.64, 1.28, 2.56, 5.12, 10.24 sec.
|
||
If the camers supports only one exposure that cannot be changed (such as all non integrating PAL or NTSC video cameras) then this property must throw <see cref="T:ASCOM.PropertyNotImplementedException"/>.
|
||
</remarks>
|
||
<value>The list of supported integration rates in seconds.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if camera supports only one integration rate (exposure) that cannot be changed.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.IntegrationRate">
|
||
<summary>
|
||
Index into the <see cref="P:ASCOM.DeviceInterface.IVideo.SupportedIntegrationRates"/> array for the selected camera integration rate.
|
||
</summary>
|
||
<value>Integer index for the current camera integration rate in the <see cref="P:ASCOM.DeviceInterface.IVideo.SupportedIntegrationRates"/> string array.</value>
|
||
<returns>Index into the SupportedIntegrationRates array for the selected camera integration rate.</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if the camera supports only one integration rate (exposure) that cannot be changed.</exception>
|
||
<remarks>
|
||
<see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> can be used to adjust the integration rate (exposure) of the camera, if supported. A 0-based array of strings - <see cref="P:ASCOM.DeviceInterface.IVideo.SupportedIntegrationRates"/>,
|
||
which correspond to different discrete integration rate settings supported by the camera will be returned. <see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> must be set to an integer in this range.
|
||
<para>The driver must default <see cref="P:ASCOM.DeviceInterface.IVideo.IntegrationRate"/> to a valid value when integration rate is supported by the camera. </para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.LastVideoFrame">
|
||
<summary>
|
||
Returns an <see cref="T:ASCOM.DeviceInterface.IVideoFrame"/> with its <see cref="P:ASCOM.DeviceInterface.IVideoFrame.ImageArray"/> property populated.
|
||
</summary>
|
||
<value>The current video frame.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">If called before any video frame has been taken.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.SensorName">
|
||
<summary>
|
||
Sensor name.
|
||
</summary>
|
||
<returns>The name of sensor used within the camera.</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if not implemented.</exception>
|
||
<remarks>Returns the name (datasheet part number) of the sensor, e.g. ICX285AL. The format is to be exactly as shown on
|
||
manufacturer data sheet, subject to the following rules. All letter shall be uppercase. Spaces shall not be included.
|
||
<para>Any extra suffixes that define region codes, package types, temperature range, coatings, grading, color/monochrome,
|
||
etc. shall not be included. For color sensors, if a suffix differentiates different Bayer matrix encodings, it shall be
|
||
included.</para>
|
||
<para>Examples:</para>
|
||
<list type="bullet">
|
||
<item><description>ICX285AL-F shall be reported as ICX285</description></item>
|
||
<item><description>KAF-8300-AXC-CD-AA shall be reported as KAF-8300</description></item>
|
||
</list>
|
||
<para><b>Note:</b></para>
|
||
<para>The most common usage of this property is to select approximate color balance parameters to be applied to
|
||
the Bayer matrix of one-shot color sensors. Application authors should assume that an appropriate IR cutoff filter is
|
||
in place for color sensors.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with
|
||
the camera hardware, to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.SensorType">
|
||
<summary>
|
||
Type of colour information returned by the the camera sensor.
|
||
</summary>
|
||
<value></value>
|
||
<returns>The <see cref="T:ASCOM.DeviceInterface.SensorType"/> enum value of the camera sensor</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
<para><see cref="P:ASCOM.DeviceInterface.IVideo.SensorType"/> returns a value indicating whether the sensor is monochrome, or what Bayer matrix it encodes.
|
||
The following values are defined:</para>
|
||
<para>
|
||
<table style="width:76.24%;" cellspacing="0" width="76.24%">
|
||
<col style="width: 11.701%;"></col>
|
||
<col style="width: 20.708%;"></col>
|
||
<col style="width: 67.591%;"></col>
|
||
<tr>
|
||
<td colspan="1" rowspan="1" style="width: 11.701%; padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-color: #000000; border-right-style: Solid;
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="11.701%">
|
||
<b>Value</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 20.708%; padding-right: 10px; padding-left: 10px; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-style: Solid; border-right-color: #000000; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="20.708%">
|
||
<b>Enumeration</b></td>
|
||
<td colspan="1" rowspan="1" style="width: 67.591%; padding-right: 10px; padding-left: 10px; 
 border-top-color: #000000; border-top-style: Solid; 
 border-right-style: Solid; border-right-color: #000000; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; 
 background-color: #00ffff;" width="67.591%">
|
||
<b>Meaning</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
0</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Monochrome</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces monochrome array with no Bayer encoding</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
1</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Colour</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces color image directly, requiring not Bayer decoding. The monochome pixels for the R, G and B channels are returned in this order in the <see cref="P:ASCOM.DeviceInterface.IVideoFrame.ImageArray"/>.</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
2</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
RGGB</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces RGGB encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
3</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
CMYG</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces CMYG encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
4</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
CMYG2</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces CMYG2 encoded Bayer array images</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-left-color: #000000; border-left-style: Solid; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
5</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
LRGB</td>
|
||
<td style="padding-right: 10px; padding-left: 10px; 
 border-right-color: #000000; border-right-style: Solid; 
 border-bottom-color: #000000; border-bottom-style: Solid; 
 border-right-width: 1px; border-left-width: 1px; border-top-width: 1px; border-bottom-width: 1px; ">
|
||
Camera produces Kodak TRUESENSE Bayer LRGB array images</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>Please note that additional values may be defined in future updates of the standard, as new Bayer matrices may be created
|
||
by sensor manufacturers in the future. If this occurs, then a new enumeration value shall be defined. The pre-existing enumeration
|
||
values shall not change.
|
||
<para>In the following definitions, R = red, G = green, B = blue, C = cyan, M = magenta, Y = yellow. The Bayer matrix is
|
||
defined with X increasing from left to right, and Y increasing from top to bottom. The pattern repeats every N x M pixels for the
|
||
entire pixel array, where N is the height of the Bayer matrix, and M is the width.</para>
|
||
<para>RGGB indicates the following matrix:</para>
|
||
</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
G</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
B</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>CMYG indicates the following matrix:</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
Y</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
C</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
M</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>CMYG2 indicates the following matrix:</para>
|
||
<para>
|
||
<table style="width:41.254%;" cellspacing="0" width="41.254%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
Y</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
M</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
G</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
C</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
Y</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 3</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
M</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>LRGB indicates the following matrix (Kodak TRUESENSE):</para>
|
||
<para>
|
||
<table style="width:68.757%;" cellspacing="0" width="68.757%">
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<col style="width: 10%;"></col>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #ffffff" width="10%">
|
||
</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px;
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>X = 3</b></td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 0</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
G</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 1</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
R</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 background-color: #00ffff" width="10%">
|
||
<b>Y = 2</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 " width="10%">
|
||
B</td>
|
||
</tr>
|
||
<tr valign="top" align="center">
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 background-color: #00ffff;" width="10%">
|
||
<b>Y = 3</b></td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
G</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
L</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
B</td>
|
||
<td colspan="1" rowspan="1" style="width:10%; 
 border-top-color: #000000; border-top-style: Solid; border-top-width: 1px; 
 border-left-color: #000000; border-left-style: Solid; border-left-width: 1px; 
 border-right-color: #000000; border-right-style: Solid; border-right-width: 1px; 
 border-bottom-color: #000000; border-bottom-style: Solid; border-bottom=width: 1px;
 " width="10%">
|
||
L</td>
|
||
</tr>
|
||
</table>
|
||
</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware, to ensure that
|
||
the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Width">
|
||
<summary>
|
||
Returns the width of the video frame in pixels.
|
||
</summary>
|
||
<value>The video frame width.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if the value is not known.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
For analogue video cameras working via a frame grabber the dimensions of the video frames may be different than the dimension of the CCD chip
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Height">
|
||
<summary>
|
||
Returns the height of the video frame in pixels.
|
||
</summary>
|
||
<value>The video frame height.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if the value is not known.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
For analogue video cameras working via a frame grabber the dimensions of the video frames may be different than the dimension of the CCD chip
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.PixelSizeX">
|
||
<summary>
|
||
Returns the width of the CCD chip pixels in microns.
|
||
</summary>
|
||
<value>The pixel size X if known.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if not implemented.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.PixelSizeY">
|
||
<summary>
|
||
Returns the height of the CCD chip pixels in microns.
|
||
</summary>
|
||
<value>The pixel size Y if known.</value>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if not implemented.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.BitDepth">
|
||
<summary>
|
||
Reports the bit depth the camera can produce.
|
||
</summary>
|
||
<value>The bit depth per pixel. Typical analogue videos are 8-bit while some digital cameras can provide 12, 14 or 16-bit images.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if data unavailable.</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.VideoCodec">
|
||
<summary>
|
||
Returns the video codec used to record the video file.
|
||
</summary>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw exception if not implemented.</exception>
|
||
<remarks>For AVI files this is usually the FourCC identifier of the codec- e.g. XVID, DVSD, YUY2, HFYU etc.
|
||
If the recorded video file doesn't use codecs an empty string must be returned.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.VideoFileFormat">
|
||
<summary>
|
||
Returns the file format of the recorded video file, e.g. AVI, MPEG, ADV etc.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.VideoFramesBufferSize">
|
||
<summary>
|
||
The size of the video frame buffer.
|
||
</summary>
|
||
<value>The size of the video frame buffer. </value>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p> When retrieving video frames using the <see cref="P:ASCOM.DeviceInterface.IVideo.LastVideoFrame" /> property
|
||
the driver may use a buffer to queue the frames waiting to be read by the client. This property returns the size of the buffer in frames or
|
||
if no buffering is supported then the value of less than 2 should be returned. The size of the buffer can be controlled by the end user from the driver setup dialog.
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.StartRecordingVideoFile(System.String)">
|
||
<summary>
|
||
Starts recording a new video file.
|
||
</summary>
|
||
<param name="PreferredFileName">The file name requested by the client. Some systems may not allow the file name to be controlled directly and they should ignore this parameter.</param>
|
||
<returns>The actual file name of the file that is being recorded.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Must throw exception if not implemented.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if not connected.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">Must throw exception if the current camera state doesn't allow to begin recording a file.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw exception if there is any other problem as result of which the recording cannot begin.</exception>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.StopRecordingVideoFile">
|
||
<summary>
|
||
Stops the recording of a video file.
|
||
</summary>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Must throw exception if not implemented.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw exception if not connected.</exception>
|
||
<exception cref="T:ASCOM.InvalidOperationException">Must throw exception if the current camera state doesn't allow to stop recording the file or no file is currently being recorded.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw exception if there is any other problem as result of which the recording cannot stop.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.CameraState">
|
||
<summary>
|
||
Returns the current camera operational state.
|
||
</summary>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
Returns one of the following status information:
|
||
<list type="bullet">
|
||
<listheader><description>Value State Meaning</description></listheader>
|
||
<item><description>0 CameraRunning The camera is running and video frames are available for viewing and recording</description></item>
|
||
<item><description>1 CameraRecording The camera is running and recording a video</description></item>
|
||
<item><description>2 CameraError Camera error condition serious enough to prevent further operations (connection fail, etc.).</description></item>
|
||
</list>
|
||
<para>CameraIdle and CameraBusy are optional states. Free running cameras cannot be stopped and don't have a CameraIdle state. When those cameras are powered they immediately enter CameraRunning state.
|
||
Some digital cameras or vdeo systems may suport operations that take longer to complete. Whlie those longer operations are running the camera will remain in the state it was before the operation started.</para>
|
||
<para>The video camera state diagram is shown below: </para>
|
||
<para>
|
||
<img src="../media/VideoCamera State Diagram.png"/></para>
|
||
</remarks>
|
||
<value>The state of the camera.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must return an exception if the camera status is unavailable.</exception>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.GainMax">
|
||
<summary>
|
||
Maximum value of <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/>.
|
||
</summary>
|
||
<value>Short integer representing the maximum gain value supported by the camera.</value>
|
||
<returns>The maximum gain value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GainMax is not supported.</exception>
|
||
<remarks>When specifying the gain setting with an integer value, <see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> shall be greater than <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/>. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.GainMin">
|
||
<summary>
|
||
Minimum value of <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/>.
|
||
</summary>
|
||
<returns>The minimum gain value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GainMin is not supported.</exception>
|
||
<remarks>When specifying the gain setting with an integer value, <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> shall be greater than <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/>. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Gain">
|
||
<summary>
|
||
Index into the <see cref="P:ASCOM.DeviceInterface.IVideo.Gains"/> array for the selected camera gain.
|
||
</summary>
|
||
<value>Short integer index for the current camera gain in the <see cref="P:ASCOM.DeviceInterface.IVideo.Gains"/> string array.</value>
|
||
<returns>Index into the Gains array for the selected camera gain</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if gain is not supported.</exception>
|
||
<remarks>
|
||
<see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> can be used to adjust the gain setting of the camera, if supported. There are two typical usage scenarios:
|
||
<ul>
|
||
<li>Discrete gain video cameras will return a 0-based array of strings - <see cref="P:ASCOM.DeviceInterface.IVideo.Gains"/>, which correspond to different discrete gain settings supported by the camera. <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> must be set to an integer in this range. <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> must thrown an exception if
|
||
this mode is used.</li>
|
||
<li>Adjustable gain video cameras - <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> return integers, which specify the valid range for <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/>.</li>
|
||
</ul>
|
||
<para>The driver must default <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> to a valid value. </para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Gains">
|
||
<summary>
|
||
Gains supported by the camera.
|
||
</summary>
|
||
<returns>An ArrayList of gain names or values</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if Gains is not supported</exception>
|
||
<remarks><see cref="P:ASCOM.DeviceInterface.IVideo.Gains"/> provides a 0-based array of available gain settings.
|
||
Typically the application software will display the available gain settings in a drop list. The application will then supply
|
||
the selected index to the driver via the <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> property.
|
||
<para>The <see cref="P:ASCOM.DeviceInterface.IVideo.Gain"/> setting may alternatively be specified using integer values; if this mode is used then <see cref="P:ASCOM.DeviceInterface.IVideo.Gains"/> is invalid
|
||
and must throw an exception. Please see <see cref="P:ASCOM.DeviceInterface.IVideo.GainMax"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GainMin"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware,
|
||
to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.GammaMax">
|
||
<summary>
|
||
Maximum value of <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/>.
|
||
</summary>
|
||
<value>Short integer representing the maximum gamma value supported by the camera.</value>
|
||
<returns>The maximum gain value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GammaMax is not supported</exception>
|
||
<remarks>When specifying the gamma setting with an integer value, <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> shall be greater than <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/>. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.GammaMin">
|
||
<summary>
|
||
Minimum value of <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/>.
|
||
</summary>
|
||
<returns>The minimum gamma value that this camera supports</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if GammaMin is not supported.</exception>
|
||
<remarks>When specifying the gamma setting with an integer value, <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/> is used in conjunction with <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> to
|
||
specify the range of valid settings.
|
||
<para><see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> shall be greater than <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/>. If either is available, then both must be available.</para>
|
||
<para>Please see <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware, to ensure
|
||
that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Gamma">
|
||
<summary>
|
||
Index into the <see cref="P:ASCOM.DeviceInterface.IVideo.Gammas"/> array for the selected camera gamma.
|
||
</summary>
|
||
<value>Short integer index for the current camera gamma in the <see cref="P:ASCOM.DeviceInterface.IVideo.Gammas"/> string array.</value>
|
||
<returns>Index into the Gammas array for the selected camera gamma</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.InvalidValueException">Must throw an exception if not valid.</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if Gamma is not supported.</exception>
|
||
<remarks>
|
||
<see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> can be used to adjust the gamma setting of the camera, if supported. There are two typical usage scenarios:
|
||
<ul>
|
||
<li>Discrete gamma video cameras will return a 0-based array of strings - <see cref="P:ASCOM.DeviceInterface.IVideo.Gammas"/>, which correspond to different discrete gamma settings supported by the camera. <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> must be set to an integer in this range. <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> must thrown an exception if
|
||
this mode is used.</li>
|
||
<li>Adjustable gain video cameras - <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> return integers, which specify the valid range for <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/>.</li>
|
||
</ul>
|
||
<para>The driver must default <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> to a valid value. </para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.Gammas">
|
||
<summary>
|
||
Gammas supported by the camera.
|
||
</summary>
|
||
<returns>An ArrayList of gamma names or values</returns>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the information is not available. (Some drivers may require an
|
||
active <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> in order to retrieve necessary information from the camera.)</exception>
|
||
<exception cref="T:ASCOM.PropertyNotImplementedException">Must throw an exception if Gammas is not supported</exception>
|
||
<remarks><see cref="P:ASCOM.DeviceInterface.IVideo.Gammas"/> provides a 0-based array of available gamma settings. This list can contain the widely used values of <b>OFF</b>, <b>LO</b> and <b>HI</b> that correspond to gammas of <b>1.00</b>, <b>0.45</b> and <b>0.35</b> as well as other extended values.
|
||
Typically the application software will display the available gamma settings in a drop list. The application will then supply
|
||
the selected index to the driver via the <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> property.
|
||
<para>The <see cref="P:ASCOM.DeviceInterface.IVideo.Gamma"/> setting may alternatively be specified using integer values; if this mode is used then <see cref="P:ASCOM.DeviceInterface.IVideo.Gammas"/> is invalid
|
||
and must throw an exception. Please see <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMax"/> and <see cref="P:ASCOM.DeviceInterface.IVideo.GammaMin"/> for more information.</para>
|
||
<para>It is recommended that this function be called only after a <see cref="P:ASCOM.DeviceInterface.IVideo.Connected">connection</see> is established with the camera hardware,
|
||
to ensure that the driver is aware of the capabilities of the specific camera model.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.IVideo.CanConfigureDeviceProperties">
|
||
<summary>
|
||
Returns True if the driver supports custom device properties configuration via the <see cref="M:ASCOM.DeviceInterface.IVideo.ConfigureDeviceProperties"/> method.
|
||
</summary>
|
||
<remarks><p style="color:red"><b>Must be implemented, must not throw an ASCOM.PropertyNotImplementedException.</b></p>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.IVideo.ConfigureDeviceProperties">
|
||
<summary>
|
||
Displays a device properties configuration dialog that allows the configuration of specialized settings.
|
||
</summary>
|
||
<exception cref="T:ASCOM.NotConnectedException">Must throw an exception if the camera is not connected.</exception>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Must throw an exception if not implemented.</exception>
|
||
<remarks>
|
||
<para>The dialog could also provide buttons for cameras that can be controlled via 'on screen display' menues and a set of navigation buttons such as Up, Down, Left, Right and Enter.
|
||
This dialog is not intended to be used in unattended mode but can give greater control over video cameras that provide special features. The dialog may also allow
|
||
changing standard <see cref="T:ASCOM.DeviceInterface.IVideo"/> interface settings such as Gamma and Gain. If a client software
|
||
displays any <see cref="T:ASCOM.DeviceInterface.IVideo"/> interface settings then it should take care to keep in sync the values changed by this method and those changed directly via the interface.</para>
|
||
<para>To support automated and unattended control over the specialized device settings or functions available on this dialog the driver should also allow their control via <see cref="P:ASCOM.DeviceInterface.IVideo.SupportedActions"/>.
|
||
This dialog is meant to be used by the applications to allow the user to adjust specialized device settings when those applications don't specifically use the specialized settings in their functionality.</para>
|
||
<para>Examples for specialized settings that could be supported are white balance and sharpness.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="T:ASCOM.DeviceInterface.ISafetyMonitor">
|
||
<summary>
|
||
Defines the ISafetyMonitor Interface
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.Connected">
|
||
<summary>
|
||
Set True to connect to the device hardware. Set False to disconnect from the device hardware.
|
||
You can also read the property to check whether it is connected. This reports the current hardware state.
|
||
</summary>
|
||
<value><c>true</c> if connected to the hardware; otherwise, <c>false</c>.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p>Do not use a NotConnectedException here, that exception is for use in other methods that require a connection in order to succeed.
|
||
<para>The Connected property sets and reports the state of connection to the device hardware.
|
||
For a hub this means that Connected will be true when the first driver connects and will only be set to false
|
||
when all drivers have disconnected. A second driver may find that Connected is already true and
|
||
setting Connected to false does not report Connected as false. This is not an error because the physical state is that the
|
||
hardware connection is still true.</para>
|
||
<para>Multiple calls setting Connected to true or false will not cause an error.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.Description">
|
||
<summary>
|
||
Returns a description of the device, such as manufacturer and modelnumber. Any ASCII characters may be used.
|
||
</summary>
|
||
<value>The description.</value>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the device is not connected and this information is only available when connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.DriverInfo">
|
||
<summary>
|
||
Descriptive and version information about this ASCOM driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks>
|
||
<p style="color:red"><b>Must be implemented</b></p> This string may contain line endings and may be hundreds to thousands of characters long.
|
||
It is intended to display detailed information on the ASCOM driver, including version and copyright data.
|
||
See the <see cref="P:ASCOM.DeviceInterface.ISafetyMonitor.Description" /> property for information on the device itself.
|
||
To get the driver version in a parseable string, use the <see cref="P:ASCOM.DeviceInterface.ISafetyMonitor.DriverVersion" /> property.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.DriverVersion">
|
||
<summary>
|
||
A string containing only the major and minor version of the driver.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This must be in the form "n.n".
|
||
It should not to be confused with the <see cref="P:ASCOM.DeviceInterface.ISafetyMonitor.InterfaceVersion" /> property, which is the version of this specification supported by the
|
||
driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.InterfaceVersion">
|
||
<summary>
|
||
The interface version number that this device supports. Should return 2 for this interface version.
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> Clients can detect legacy V1 drivers by trying to read ths property.
|
||
If the driver raises an error, it is a V1 driver. V1 did not specify this property. A driver may also return a value of 1.
|
||
In other words, a raised error or a return value of 1 indicates that the driver is a V1 driver.
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.Name">
|
||
<summary>
|
||
The short name of the driver, for display purposes
|
||
</summary>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.SetupDialog">
|
||
<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="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.Action(System.String,System.String)">
|
||
<summary>
|
||
Invokes the specified device-specific action.
|
||
</summary>
|
||
<param name="ActionName">
|
||
A well known name agreed by interested parties that represents the action to be carried out.
|
||
</param>
|
||
<param name="ActionParameters">List of required parameters or an <see cref="T:System.String">Empty String</see> if none are required.
|
||
</param>
|
||
<returns>A string response. The meaning of returned strings is set by the driver author.</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">Throws this exception if no actions are suported.</exception>
|
||
<exception cref="T:ASCOM.ActionNotImplementedException">It is intended that the SupportedActions method will inform clients
|
||
of driver capabilities, but the driver must still throw an ASCOM.ActionNotImplemented exception if it is asked to
|
||
perform an action that it does not support.</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<example>Suppose filter wheels start to appear with automatic wheel changers; new actions could
|
||
be “FilterWheel:QueryWheels” and “FilterWheel:SelectWheel”. The former returning a
|
||
formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate
|
||
values to indicate success or failure.
|
||
</example>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p>
|
||
This method is intended for use in all current and future device types and to avoid name clashes, management of action names
|
||
is important from day 1. A two-part naming convention will be adopted - <b>DeviceType:UniqueActionName</b> where:
|
||
<list type="bullet">
|
||
<item><description>DeviceType is the same value as would be used by <see cref="P:ASCOM.Utilities.Chooser.DeviceType"/> e.g. Telescope, Camera, Switch etc.</description></item>
|
||
<item><description>UniqueActionName is a single word, or multiple words joined by underscore characters, that sensibly describes the action to be performed.</description></item>
|
||
</list>
|
||
<para>
|
||
It is recommended that UniqueActionNames should be a maximum of 16 characters for legibility.
|
||
Should the same function and UniqueActionName be supported by more than one type of device, the reserved DeviceType of
|
||
“General” will be used. Action names will be case insensitive, so FilterWheel:SelectWheel, filterwheel:selectwheel
|
||
and FILTERWHEEL:SELECTWHEEL will all refer to the same action.</para>
|
||
<para>The names of all supported actions must be returned in the <see cref="P:ASCOM.DeviceInterface.ISafetyMonitor.SupportedActions"/> property.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.SupportedActions">
|
||
<summary>
|
||
Returns the list of action names supported by this driver.
|
||
</summary>
|
||
<value>An ArrayList of strings (SafeArray collection) containing the names of supported actions.</value>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Must be implemented</b></p> This method must return an empty arraylist if no actions are supported. Please do not throw a
|
||
<see cref="T:ASCOM.PropertyNotImplementedException" />.
|
||
<para>This is an aid to client authors and testers who would otherwise have to repeatedly poll the driver to determine its capabilities.
|
||
Returned action names may be in mixed case to enhance presentation but will be recognised case insensitively in
|
||
the <see cref="M:ASCOM.DeviceInterface.ISafetyMonitor.Action(System.String,System.String)">Action</see> method.</para>
|
||
<para>An array list collection has been selected as the vehicle for action names in order to make it easier for clients to
|
||
determine whether a particular action is supported. This is easily done through the Contains method. Since the
|
||
collection is also ennumerable it is easy to use constructs such as For Each ... to operate on members without having to be concerned
|
||
about hom many members are in the collection. </para>
|
||
<para>Collections have been used in the Telescope specification for a number of years and are known to be compatible with COM. Within .NET
|
||
the ArrayList is the correct implementation to use as the .NET Generic methods are not compatible with COM.</para>
|
||
</remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.CommandBlind(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and does not wait for a response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.CommandBool(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a boolean response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the interpreted boolean response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.CommandString(System.String,System.Boolean)">
|
||
<summary>
|
||
Transmits an arbitrary string to the device and waits for a string response.
|
||
Optionally, protocol framing characters may be added to the string before transmission.
|
||
</summary>
|
||
<param name="Command">The literal command string to be transmitted.</param>
|
||
<param name="Raw">
|
||
if set to <c>true</c> the string is transmitted 'as-is'.
|
||
If set to <c>false</c> then protocol framing characters may be added prior to transmission.
|
||
</param>
|
||
<returns>
|
||
Returns the string response received from the device.
|
||
</returns>
|
||
<exception cref="T:ASCOM.MethodNotImplementedException">If the method is not implemented</exception>
|
||
<exception cref="T:ASCOM.NotConnectedException">If the driver is not connected.</exception>
|
||
<exception cref="T:ASCOM.DriverException">Must throw an exception if the call was not successful</exception>
|
||
<remarks><p style="color:red"><b>Can throw a not implemented exception</b></p> </remarks>
|
||
</member>
|
||
<member name="M:ASCOM.DeviceInterface.ISafetyMonitor.Dispose">
|
||
<summary>
|
||
Dispose the late-bound interface, if needed. Will release it via COM
|
||
if it is a COM object, else if native .NET will just dereference it
|
||
for GC.
|
||
</summary>
|
||
</member>
|
||
<member name="P:ASCOM.DeviceInterface.ISafetyMonitor.IsSafe">
|
||
<summary>
|
||
Indicates whether the monitored state is safe for use.
|
||
</summary>
|
||
<value>True if the state is safe, False if it is unsafe.</value>
|
||
<remarks>
|
||
<p style="color:red;margin-bottom:0"><b>Must be implemented and must not throw a PropertyNotImplementedException. </b></p>
|
||
</remarks>
|
||
</member>
|
||
</members>
|
||
</doc>
|