Script TheSky  Version 1.32
Public Types | Public Slots | Properties | List of all members
sky6Dome Class Reference

The sky6Dome object. More...

Inheritance diagram for sky6Dome:

Public Types

enum  SlitState {
  SlitStateUnknown =0, PseudoOpen =1, PseudoClosed =2, Open =3,
  Closed =4
}
 The SlitState enumeration. More...
 

Public Slots

void Abort ()
 Use this method to abort (stop) any dome operation currently in progress, for example a GotoAzEl().
 
void CloseSlit ()
 Use this method to close the dome slit. More...
 
void Connect ()
 Establishes communication between this dome object and the TheSky.
 
void Disconnect ()
 Terminates communication between the dome object (sky6Dome) and the TheSky.
 
void FindHome ()
 Use this method to cause the dome hardware to find its homing sensor as part of the initialization process. More...
 
void GetAzEl ()
 Gets the horizon (azimuth and altitude) coordinates of the dome. More...
 
void GotoAzEl (double dAz, double dEl)
 Causes the dome to goto the specified azimuth and elevation coordinates. More...
 
void OpenSlit ()
 Use this method to cause the open the dome slit. More...
 
void Park ()
 Use this method to send the dome to its park position. More...
 
void Sync (double dAz, double dEl)
 Use this method to sync the dome for initialization purposes.
 
void Unpark ()
 Use this method to unpark the dome.
 
SlitState slitState ()
 Returns the state of the dome slit. More...
 
int lastError ()
 Returns the error code for the last call to OpenSlit(), CloseSlit(), GetAzEl(), Park(), FindHome(). More...
 
int isCoupledToMountTracking ()
 Returns non-zero if dome is coupled to the mount tracking or zero if not. More...
 
void setIsCoupledToMountTracking (int bYes)
 Controls if the dome is coupled to mount tracking or not. More...
 
double minimumTrackingAngle ()
 Returns the minimum tracking angle associated with the dome being coupled to tracking. More...
 
void setMinimumTrackingAngle (double dValue)
 Controls the value of the minimum tracking angle associated with the dome being coupled to tracking. More...
 

Properties

int IsConnected
 Returns non-zero if the connection to the dome exists or zero if there is no connection.
 
int IsCoupled
 Returns non-zero if dome is coupled to the mount slewing or zero if not.
 
double dAz
 A double value that is the current azimuth (in decimal degrees) of the dome. More...
 
double dEl
 A double value that is the current elevation (in decimal degrees) of the dome. More...
 
int IsGotoComplete
 Returns a value that determines if the goto operation is complete (non-zero) or if the operation is in progress (zero). More...
 
int IsOpenComplete
 Returns a value that determines if the open is complete (non-zero) or if the operation is in progress (zero). More...
 
int IsCloseComplete
 Returns a value that determines if the close is complete (non-zero) or if the operation is in progress (zero). More...
 
int IsParkComplete
 Returns a value that determines if the park is complete (non-zero) or if the operation is in progress (zero). More...
 
int IsUnparkComplete
 Returns a value that determines if the unpark is complete (non-zero) or if the operation is in progress (zero). More...
 
int IsFindHomeComplete
 Returns a value that determines if the find home is complete (non-zero) or if the operation is in progress (zero). More...
 

Detailed Description

The sky6Dome object.

The sky6Dome object allows scripted control of any computerized "go to" dome compatible with TheSky. This object provides TheSky with backward compatibility to Automadome's/TheSky6 dome scripting interface, except the dome control is contained within TheSky. It should also be noted, this interface is not identical to Automadome's, so slight programming changes are required for client/scripts using Automdome's dome scripting interface.

Disclaimer

Softare Bisque and TheSky cannot be held responsible for accidents related to dome control, for example personal injury due to dome motion or equipment damage due to dome close failure. For the latter, most dome hardware available today does not have direct, reliable, hardware feedback on the state the dome slit being closed (or open for that matter). IOW, a power outage or someone physically present opening the dome may cause the dome hardware to not know if the dome is open. As such, the only way TheSky can "know" the dome is closed is to perform the close operation. And even then, the close operation might fail without the dome hardware knowing and reporting it back to TheSky.

As of build 8031, TheSky displays the "Slit state" on the Dome tab to let user know at a glance if the dome is open or closed. This is described in fully in the slitState() method along with the sky6Dome::SlitState enumeration. Fully automated/remote observatories should not rely completely on the return value of slitState() to know if the dome is open or closed and should instead rely on other redundant means (limit switches, video, physical present, etc.) to verify the dome is actually closed. Long story short, TheSky's dome close is only as good as dome hardware.

If and when in the future, dome hardware has direct, reliable (hopefully redundant), hardware feedback on the state the dome slit being closed, the DomeDriverInterface
can/will accomdate in a new optional interface and dome slit state will reported as such in TheSky.

All this being said, in the steady state, normal use, TheSky can reliably align the dome slit and telescope optic where an uncaught dome hardware 'failure' would result in imaging the wall of the dome. This isn't as critical a case as is closing the dome, hence the disclaimer above.

The sky6Dome object is new to TheSky in build 4568 (and later).

Member Enumeration Documentation

◆ SlitState

The SlitState enumeration.

See also
slitState() method that returns this enumeration.
Enumerator
SlitStateUnknown 

The state of the dome slit is unknown.

This means an open or close has never been issued or an error occured during the last open or close.

PseudoOpen 

The last open command was successful.

Given for dome's that don't have reliable, hardware feedback when open.

PseudoClosed 

The last close command was successful.

Given for dome's that don't have reliable, hardware feedback when closed.

Open 

The dome slit is open.

Given for dome's that provide reliable, hardware feedback when open.

Closed 

The dome slit is closed.

Given for dome's that provide reliable, hardware feedback when closed.

Member Function Documentation

◆ CloseSlit

void sky6Dome::CloseSlit ( )
slot

Use this method to close the dome slit.

Monitor the progress with the IsCloseComplete() property.

◆ FindHome

void sky6Dome::FindHome ( )
slot

Use this method to cause the dome hardware to find its homing sensor as part of the initialization process.

Monitor the progress with the IsFindHomeComplete() property.

◆ GetAzEl

void sky6Dome::GetAzEl ( )
slot

Gets the horizon (azimuth and altitude) coordinates of the dome.

The results of calling this method may be found in the dAz(), dEl() properties.

◆ GotoAzEl

void sky6Dome::GotoAzEl ( double  dAz,
double  dEl 
)
slot

Causes the dome to goto the specified azimuth and elevation coordinates.

Parameters
dAzA double that specifies the desired azimuth .
dElA double number that specifies the altitude to slew the dome.

◆ isCoupledToMountTracking

int sky6Dome::isCoupledToMountTracking ( )
slot

Returns non-zero if dome is coupled to the mount tracking or zero if not.

These accessor methods were added in build 13613. This should be a property, but to avoid breaking early binding clients, access was added as slots.

See also
setIsCoupledToMountTracking, IsCoupled.

◆ lastError

int sky6Dome::lastError ( )
slot

Returns the error code for the last call to OpenSlit(), CloseSlit(), GetAzEl(), Park(), FindHome().

This method is not available in TheSky6.

◆ minimumTrackingAngle

double sky6Dome::minimumTrackingAngle ( )
slot

Returns the minimum tracking angle associated with the dome being coupled to tracking.

These accessor methods were added in build 13613. This should be a property, but to avoid breaking early binding clients, access was added as slots.

See also
setMinimumTrackingAngle, isCoupledToMountTracking.

◆ OpenSlit

void sky6Dome::OpenSlit ( )
slot

Use this method to cause the open the dome slit.

Monitor the progress with the IsOpenComplete() property.

◆ Park

void sky6Dome::Park ( )
slot

Use this method to send the dome to its park position.

Monitor the progress with the IsParkComplete() property.

◆ setIsCoupledToMountTracking

void sky6Dome::setIsCoupledToMountTracking ( int  bYes)
slot

Controls if the dome is coupled to mount tracking or not.

See also
isCoupledToMountTracking, IsCoupled.

◆ setMinimumTrackingAngle

void sky6Dome::setMinimumTrackingAngle ( double  dValue)
slot

Controls the value of the minimum tracking angle associated with the dome being coupled to tracking.

See also
minimumTrackingAngle, isCoupledToMountTracking.

◆ slitState

SlitState sky6Dome::slitState ( )
slot

Returns the state of the dome slit.

This applies equally to the state of a claim shell or roll off roof. Caution, because of dome hardware (limitations) this return value isn't necessarily 100% reliable.
For domes without reliable hardware feedback on open/close, this method merely represents the result of last dome open or close TheSky has sent to the dome hardware in a convenient, mutually exclusive manner.

For example (domes without reliable hardware open/close feedback)...

The state of this variable is maintained regardless of how the dome open or close is performed by TheSky, through the user interface, i.e. pressing buttons on the Dome tab, through scripting interface or even the scripting interface over a socket. The state of this variable can be wrong if the dome is opened or closed by a means other than TheSky or the dome hardware fails without provided an error. The state of this variable is persistent across exit and restart of TheSky without actually querying dome so TheSky is "doing the best it can" for domes that don't have reliable hadware open/close feedback. In summary, this method provides a convenient means of knowing the success or failure of the last dome open or close.

Domes with reliable hardare open/close feedback, will instead return sky6Dome::Open, sky6Dome::Closed for an errorless open/close respectively and sky6Dome::SlitStateUnknown otherwise.

To obtain the error code that happened during the open or close see the lastError method.

The reliability of this return value is only as good as the dome hardware, please see the disclaimer at the beginning of this document.

This method is not available in TheSky6 and is unique to TheSky.

This method was added to TheSky build 8064. See Application::build to determine the build of TheSky in use an act accordingly for your situation.

See also
lastError
SlitState

Property Documentation

◆ dAz

double sky6Dome::dAz
read

A double value that is the current azimuth (in decimal degrees) of the dome.

Before using this property, the GetAzEl() method must be called first.

◆ dEl

double sky6Dome::dEl
read

A double value that is the current elevation (in decimal degrees) of the dome.

Before using this property, the GetAzEl() method must be called first.

◆ IsCloseComplete

int sky6Dome::IsCloseComplete
read

Returns a value that determines if the close is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes

◆ IsFindHomeComplete

int sky6Dome::IsFindHomeComplete
read

Returns a value that determines if the find home is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes

◆ IsGotoComplete

int sky6Dome::IsGotoComplete
read

Returns a value that determines if the goto operation is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes

◆ IsOpenComplete

int sky6Dome::IsOpenComplete
read

Returns a value that determines if the open is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes

◆ IsParkComplete

int sky6Dome::IsParkComplete
read

Returns a value that determines if the park is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes

◆ IsUnparkComplete

int sky6Dome::IsUnparkComplete
read

Returns a value that determines if the unpark is complete (non-zero) or if the operation is in progress (zero).

See also
lastError, Exceptions And Error Codes
ScriptTheSkyX Examples
(C) Software Bisque, Inc. All rights reserved.