ASCOM Master Interfaces Logo
1.0.15

Important Information

  • Introduction to Master Interfaces
    • Status of This Document (1.0.15 as of 12-Sep-2025)
    • Data Types Used in This Document
    • Common Misconceptions and Confusions
  • Release Notes for Interfaces as of ASCOM Platform 7
    • Non-Blocking (Asynchronous) Behavior - Documentation
    • Non-Blocking (Asynchronous) Enhancement - Device Connections
    • Expanded Application - Camera.ReadoutMode
    • Non-Blocking (Asynchronous) Enhancement - CoverCalibrator
    • Non-Blocking (Asynchronous) Enhancement - Dome
    • Non-Blocking (Asynchronous) Enhancement - Switch
    • Non-Blocking (Asynchronous) and Other Enhancements - Telescope
    • Enhancement - Aggregated Reading of Operational Properties
  • Frequently Asked Questions
    • Asynchronous Operations in ASCOM
      • Background for Developers
      • How can I tell if my asynchronous request fails?
      • What do I do if something goes wrong?
    • What is the “read all” feature and what are its rules?
    • TimeStamp Value
    • MaxADU, ElectronsPerADU, and FullWellCapacity in the Camera Interface
      • Values Must Reflect Current Camera Modes
      • Purpose of MaxADU
      • Meaning of MaxADU
      • Inflation of Data Values - Upscaling to Higher Bit depth
    • State Transition Diagram for Camera.CameraState
    • The Dome Interface seems complex and confusing. Help me.
    • What are the Angles that Rotator uses, and How Do They Relate?
      • Rotator on an Alt-Az Mount
    • Synchronous Slewing in the Telescope Interface
    • Managing a Telescope Mount’s Knowledge of Time and Place
      • Simple Internal Clock
      • Internal Precision Time Source
      • Internal Source of Position
      • Unavailablilty of Internal Precision Time or Location Source
    • What is the meaning of “pointing state” in the docs for SideOfPier
      • ASCOM Convention
      • Context
      • Pointing State and Side of Pier - Help for Driver Developers
    • What does MoveAxis() do and how do I use it?
      • Behavior of the Tracking Property
    • What are the equatorial coordinate reference frames?
    • What is DestinationSideOfPier and why would I want to use it?
    • What are RightAscensionRate and DeclinationRate and how are they used?
      • Units of RightAscensionRate
      • InvalidOperationException When TrackingRate is not driveSidereal
    • What Does PulseGuide() Do? I’m Confused.
      • Magnitude of Move
    • The Switch Interface seems complex and confusing. Help me.
      • For Application Developers
      • For Device Developers
    • What do we mean by the terms Mandatory, Optional and Deprecated?
  • Index

Master Interfaces

  • ASCOM Master Interface Definitions
    • ICameraV4 Interface
      • Camera
      • Methods
        • Camera.AbortExposure()
        • Camera.Action()
        • Camera.CommandBlind()
        • Camera.CommandBool()
        • Camera.CommandString()
        • Camera.Connect()
        • Camera.Disconnect()
        • Camera.PulseGuide()
        • Camera.SetupDialog()
        • Camera.StartExposure()
        • Camera.StopExposure()
      • Properties
        • Camera.BayerOffsetX
        • Camera.BayerOffsetY
        • Camera.BinX
        • Camera.BinY
        • Camera.CameraState
        • Camera.CameraXSize
        • Camera.CameraYSize
        • Camera.CanAbortExposure
        • Camera.CanAsymmetricBin
        • Camera.CanFastReadout
        • Camera.CanGetCoolerPower
        • Camera.CanPulseGuide
        • Camera.CanSetCCDTemperature
        • Camera.CanStopExposure
        • Camera.CCDTemperature
        • Camera.Connected
        • Camera.Connecting
        • Camera.CoolerOn
        • Camera.CoolerPower
        • Camera.Description
        • Camera.DeviceState
        • Camera.DriverInfo
        • Camera.DriverVersion
        • Camera.ElectronsPerADU
        • Camera.ExposureMax
        • Camera.ExposureMin
        • Camera.ExposureResolution
        • Camera.FastReadout
        • Camera.FullWellCapacity
        • Camera.Gain
        • Camera.GainMax
        • Camera.GainMin
        • Camera.Gains
        • Camera.HasShutter
        • Camera.HeatSinkTemperature
        • Camera.ImageArray
        • Camera.ImageArrayVariant
        • Camera.ImageReady
        • Camera.InterfaceVersion
        • Camera.IsPulseGuiding
        • Camera.LastExposureDuration
        • Camera.LastExposureStartTime
        • Camera.MaxADU
        • Camera.MaxBinX
        • Camera.MaxBinY
        • Camera.Name
        • Camera.NumX
        • Camera.NumY
        • Camera.Offset
        • Camera.OffsetMax
        • Camera.OffsetMin
        • Camera.Offsets
        • Camera.PercentCompleted
        • Camera.PixelSizeX
        • Camera.PixelSizeY
        • Camera.ReadoutMode
        • Camera.ReadoutModes
        • Camera.SensorName
        • Camera.SensorType
        • Camera.SetCCDTemperature
        • Camera.StartX
        • Camera.StartY
        • Camera.SubExposureDuration
        • Camera.SupportedActions
      • Enumerated Constants
        • Camera.CameraStates
        • Camera.GuideDirections
        • Camera.SensοrType
    • ICoverCalibratorV2 Interface
      • CoverCalibrator
      • Methods
        • CoverCalibrator.Action()
        • CoverCalibrator.CalibratorOff()
        • CoverCalibrator.CalibratorOn()
        • CoverCalibrator.CloseCover()
        • CoverCalibrator.CommandBlind()
        • CoverCalibrator.CommandBool()
        • CoverCalibrator.CommandString()
        • CoverCalibrator.Connect()
        • CoverCalibrator.Disconnect()
        • CoverCalibrator.HaltCover()
        • CoverCalibrator.OpenCover()
        • CoverCalibrator.SetupDialog()
      • Properties
        • CoverCalibrator.Brightness
        • CoverCalibrator.CalibratorChanging
        • CoverCalibrator.CalibratorState
        • CoverCalibrator.Connected
        • CoverCalibrator.Connecting
        • CoverCalibrator.CoverMoving
        • CoverCalibrator.CoverState
        • CoverCalibrator.Description
        • CoverCalibrator.DeviceState
        • CoverCalibrator.DriverInfo
        • CoverCalibrator.DriverVersion
        • CoverCalibrator.InterfaceVersion
        • CoverCalibrator.MaxBrightness
        • CoverCalibrator.Name
        • CoverCalibrator.SupportedActions
      • Enumerated Constants
        • CalibratorStatus
        • CoverStatus
    • IDomeV3 Interface
      • Dome
      • Methods
        • Dome.AbortSlew()
        • Dome.Action()
        • Dome.CloseShutter()
        • Dome.CommandBlind()
        • Dome.CommandBool()
        • Dome.CommandString()
        • Dome.Connect()
        • Dome.Disconnect()
        • Dome.FindHome()
        • Dome.OpenShutter()
        • Dome.Park()
        • Dome.SetPark()
        • Dome.SetupDialog()
        • Dome.SlewToAltitude()
        • Dome.SlewToAzimuth()
        • Dome.SyncToAzimuth()
      • Properties
        • Dome.Altitude
        • Dome.AtHome
        • Dome.AtPark
        • Dome.Azimuth
        • Dome.CanFindHome
        • Dome.CanPark
        • Dome.CanSetAltitude
        • Dome.CanSetAzimuth
        • Dome.CanSetPark
        • Dome.CanSetShutter
        • Dome.CanSlave
        • Dome.CanSyncAzimuth
        • Dome.Connected
        • Dome.Connecting
        • Dome.Description
        • Dome.DeviceState
        • Dome.DriverInfo
        • Dome.DriverVersion
        • Dome.InterfaceVersion
        • Dome.Name
        • Dome.ShutterStatus
        • Dome.Slaved
        • Dome.Slewing
        • Dome.SupportedActions
      • Enumerated Constants
        • ShutterState
    • IFilterWheelV3Class
      • FilterWheel
      • Methods
        • FilterWheel.Action()
        • FilterWheel.CommandBlind()
        • FilterWheel.CommandBool()
        • FilterWheel.CommandString()
        • FilterWheel.Connect()
        • FilterWheel.Disconnect()
        • FilterWheel.SetupDialog()
      • Properties
        • FilterWheel.Connected
        • FilterWheel.Connecting
        • FilterWheel.Description
        • FilterWheel.DeviceState
        • FilterWheel.DriverInfo
        • FilterWheel.DriverVersion
        • FilterWheel.FocusOffsets
        • FilterWheel.InterfaceVersion
        • FilterWheel.Name
        • FilterWheel.Names
        • Filterwheel.Position
        • FilterWheel.SupportedActions
    • IFocuserV4 Interface
      • Focuser
      • Methods
        • Focuser.Action()
        • Focuser.CommandBlind()
        • Focuser.CommandBool()
        • Focuser.CommandString()
        • Focuser.Connect()
        • Focuser.Disconnect()
        • Focuser.Halt()
        • Focuser.Move()
        • Focuser.SetupDialog()
      • Properties
        • Focuser.Absolute
        • Focuser.Connected
        • Focuser.Connecting
        • Focuser.Description
        • Focuser.DeviceState
        • Focuser.DriverInfo
        • Focuser.DriverVersion
        • Focuser.InterfaceVersion
        • Focuser.IsMoving
        • Focuser.Link
        • Focuser.MaxIncrement
        • Focuser.MaxStep
        • Focuser.Name
        • Focuser.Position
        • Focuser.StepSize
        • Focuser.SupportedActions
        • Focuser.TempComp
        • Focuser.TempCompAvailable
        • Focuser.Temperature
    • IObservingConditionsV2 Interface
      • ObservingConditions
      • Methods
        • ObservingConditions.Action()
        • ObservingConditions.CommandBlind()
        • ObservingConditions.CommandBool()
        • ObservingConditions.CommandString()
        • ObservingConditions.Connect()
        • ObservingConditions.Disconnect()
        • ObservingConditions.Refresh()
        • ObservingConditions.SensorDescription()
        • ObservingConditions.SetupDialog()
        • ObservingConditions.TimeSinceLastUpdate()
      • Properties
        • ObservingConditions.AveragePeriod
        • ObservingConditions.CloudCover
        • ObservingConditions.Connected
        • ObservingConditions.Connecting
        • ObservingConditions.Description
        • ObservingConditions.DeviceState
        • ObservingConditions.DewPoint
        • ObservingConditions.DriverInfo
        • ObservingConditions.DriverVersion
        • ObservingConditions.Humidity
        • ObservingConditions.InterfaceVersion
        • ObservingConditions.Name
        • ObservingConditions.Pressure
        • ObservingConditions.RainRate
        • ObservingConditions.SkyBrightness
        • ObservingConditions.SkyQuality
        • ObservingConditions.SkyTemperature
        • ObservingConditions.StarFWHM
        • ObservingConditions.SupportedActions
        • ObservingConditions.Temperature
        • ObservingConditions.WindDirection
        • ObservingConditions.WindGust
        • ObservingConditions.WindSpeed
    • IRate Interface
      • Rate
      • Properties
    • IRotatorV4 Class
      • Rotator
      • Methods
        • Rotator.Action()
        • Rotator.CommandBlind()
        • Rotator.CommandBool()
        • Rotator.CommandString()
        • Rotator.Connect()
        • Rotator.Disconnect()
        • Rotator.Halt()
        • Rotator.Move()
        • Rotator.MoveAbsolute()
        • Rotator.MoveMechanical()
        • Rotator.Sync()
        • Rotator.SetupDialog()
      • Properties
        • Rotator.CanReverse
        • Rotator.Connected
        • Rotator.Connecting
        • Rotator.Description
        • Rotator.DeviceState
        • Rotator.DriverInfo
        • Rotator.DriverVersion
        • Rotator.InterfaceVersion
        • Rotator.IsMoving
        • Rotator.MechanicalPosition
        • Rotator.Name
        • Rotator.Position
        • Rotator.Reverse
        • Rotator.StepSize
        • Rotator.SupportedActions
        • Rotator.TargetPosition
    • ISafetyMonitorV3 Interface
      • SafetyMonitor
      • Methods
        • SafetyMonitor.Action()
        • SafetyMonitor.CommandBlind()
        • SafetyMonitor.CommandBool()
        • SafetyMonitor.CommandString()
        • SafetyMonitor.Connect()
        • SafetyMonitor.Disconnect()
        • SafetyMonitor.SetupDialog()
      • Properties
        • SafetyMonitor.Connected
        • SafetyMonitor.Connecting
        • SafetyMonitor.Description
        • SafetyMonitor.DeviceState
        • SafetyMonitor.DriverInfo
        • SafetyMonitor.DriverVersion
        • SafetyMonitor.InterfaceVersion
        • SafetyMonitor.IsSafe
        • SafetyMonitor.Name
        • SafetyMonitor.SupportedActions
    • IStateValue Interface
      • StateValue
      • Properties
        • Name
        • Value
    • ISwitchV3 Interface
      • Switch
      • Methods
        • Switch.Action()
        • Switch.CanAsync()
        • Switch.CancelAsync()
        • Switch.CanWrite()
        • Switch.CommandBlind()
        • Switch.CommandBool()
        • Switch.CommandString()
        • Switch.Connect()
        • Switch.Disconnect()
        • Switch.GetSwitch()
        • Switch.GetSwitchDescription()
        • Switch.GetSwitchName()
        • Switch.GetSwitchValue()
        • Switch.MaxSwitchValue()
        • Switch.MinSwitchValue()
        • Switch.SetAsync()
        • Switch.SetAsyncValue()
        • Switch.SetSwitch()
        • Switch.SetSwitchName()
        • Switch.SetSwitchValue()
        • Switch.SetupDialog()
        • Switch.StateChangeComplete()
        • Switch.SwitchStep()
      • Properties
        • Switch.Connected
        • Switch.Connecting
        • Switch.Description
        • Switch.DeviceState
        • Switch.DriverInfo
        • Switch.DriverVersion
        • Switch.InterfaceVersion
        • Switch.MaxSwitch
        • Switch.Name
        • Switch.SupportedActions
    • ITelescope V4 Interface
      • Telescope
      • Methods
        • Telescope.AbortSlew()
        • Telescope.Action()
        • Telescope.AxisRates()
        • Telescope.CanMoveAxis()
        • Telescope.CommandBlind()
        • Telescope.CommandBool()
        • Telescope.CommandString()
        • Telescope.Connect()
        • Telescope.DestinationSideOfPier()
        • Telescope.Disconnect()
        • Telescope.FindHome()
        • Telescope.MoveAxis()
        • Telescope.Park()
        • Telescope.PulseGuide()
        • Telescope.SetPark()
        • Telescope.SetupDialog()
        • Telescope.SlewToAltAz()
        • Telescope.SlewToAltAzAsync()
        • Telescope.SlewToCoordinates()
        • Telescope.SlewToCoordinatesAsync()
        • Telescope.SlewToTarget()
        • Telescope.SlewToTargetAsync()
        • Telescope.SyncToAltAz()
        • Telescope.SyncToCoordinates()
        • Telescope.SyncToTarget()
        • Telescope.Unpark()
      • Properties
        • Telescope.AlignmentMode
        • Telescope.Altitude
        • Telescope.ApertureArea
        • Telescope.ApertureDiameter
        • Telescope.AtHome
        • Telescope.AtPark
        • Telescope.Azimuth
        • Telescope.CanFindHome
        • Telescope.CanPark
        • Telescope.CanPulseGuide
        • Telescope.CanSetDeclinationRate
        • Telescope.CanSetGuideRates
        • Telescope.CanSetPark
        • Telescope.CanSetPierSide
        • Telescope.CanSetRightAscensionRate
        • Telescope.CanSetTracking
        • Telescope.CanSlew
        • Telescope.CanSlewAltAz
        • Telescope.CanSlewAltAzAsync
        • Telescope.CanSlewAsync
        • Telescope.CanSync
        • Telescope.CanSyncAltAz
        • Telescope.CanUnpark
        • Telescope.Connected
        • Telescope.Connecting
        • Telescope.Declination
        • Telescope.DeclinationRate
        • Telescope.Description
        • Telescope.DeviceState
        • Telescope.DoesRefraction
        • Telescope.DriverInfo
        • Telescope.DriverVersion
        • Telescope.EquatorialSystem
        • Telescope.FocalLength
        • Telescope.GuideRateDeclination
        • Telescope.GuideRateRightAscension
        • Telescope.InterfaceVersion
        • Telescope.IsPulseGuiding
        • Telescope.Name
        • Telescope.RightAscension
        • Telescope.RightAscensionRate
        • Telescope.SideOfPier
        • Telescope.SiderealTime
        • Telescope.SiteElevation
        • Telescope.SiteLatitude
        • Telescope.SiteLongitude
        • Telescope.SlewSettleTime
        • Telescope.Slewing
        • Telescope.SupportedActions
        • Telescope.TargetDeclination
        • Telescope.TargetRightAscension
        • Telescope.Tracking
        • Telescope.TrackingRate
        • Telescope.TrackingRates
        • Telescope.UTCDate
      • Enumerated Constants
        • Telescope.AlignmentModes
        • Telescope.DriveRates
        • Telescope.EquatorialCoordinateType
        • Telescope.GuideDirections
        • Telescope.PierSide
        • Telescope.TelescopeAxes
    • Exception Classes
      • ActionNotImplementedException
      • DriverException
      • InvalidOperationException
      • InvalidValueException
      • MethodNotImplementedException
      • NotConnectedException
      • OperationCancelledException
      • ParkedException
      • PropertyNotImplementedException
      • SlavedException
      • ValueNotSetException
  • Index
ASCOM Master Interfaces
  • Search


© Copyright 2023-2025, ASCOM Initiative, MIT License.

Built with Sphinx using a theme provided by Read the Docs.