Scripting
The SkyRoof and SkyRoofHub drivers are fully compatible with ASCOM standards and are fully scriptable under the ASCOM platform.
The drivers conform to all of the applicable ASCOM.Dome methods and properties along with a few customized properties.
Specifically, the custom properties concern operation of an auxiliary dew heater relay and an option to detect the on-board AtPark status of the
controller board.
The special commands are as follows:
(where 'roof' is the name of the ASCOM dome object)
To test AtPark status:
roof.Action("ParkCheck", "") This method will return a string either 'true' or 'false' depending on current AtPark state of the mount as detected by SkyRoof.
To activate or deactivate the auxiliary (dew) relay:
roof.Action("HeaterOn", "") or roof.Action("HeaterOff", "")
Below is an example script to open and close an observatory roof with a Visual Basic Script using the SkyRoofHub driver:
Set roof=CreateObject("ASCOM.SkyRoofHub.Dome") 'Assign the variable "roof" to the ASCOM driver object
Set objShell = WScript.CreateObject("WScript.Shell") 'Shell for PopUp messages
Const Timeout = 3 'Constant for PopUp message display time
Const PopUp_Title = "SkyRoof Driver Script" 'PopUp message title
roof.connected = true 'Connect to the driver
wscript.sleep(3000) 'Wait a few seconds for connection to driver
roof.openshutter 'Open the roof
objShell.Popup "Opening Roof...", Timeout, PopUp_Title 'Status message
while roof.shutterstatus <> 0 'Loop until the driver reports the roof is open
wend
objShell.Popup "Roof Open", Timeout, PopUp_Title 'Roof is open
wscript.sleep 10000 'Wait ten seconds
objShell.Popup "Closing Roof...", Timeout, PopUp_Title 'Status message
roof.closeshutter 'Close the roof
while roof.shutterstatus <> 1 'Loop until the driver reports the roof is closed
wend
objShell.Popup "Roof Closed", Timeout, PopUp_Title 'Status message
roof.connected = false 'Disconnect from driver
Set roof=Nothing 'Dispose object
ASCOM Driver Methods and Properties w/SkyRoof ASCOM driver
Connected -Boolean (read/write)-Driver connection state
ShutterStatus -Returns current roof state
0- Roof shutter status open
1- Roof shutter status closed
2- Roof shutter status opening
3- Roof shutter status closing
4- Roof shutter status error
OpenShutter -transmits command to open roof
CloseShutter -transmits command to close roof
AbortSlew -transmits command to stop roof
Action("ParkCheck", "") -returns the AtPark status of the telescope (state of external AtPark device)
Action("HeaterOn", "") -energizes auxiliary dew heater relay on the SkyRoof control board (returns nothing)
Action("HeaterOff", "") -de-energizes auxiliary dew heater relay on the SkyRoof control board (returns nothing)
*Other methods and properties are available-refer to ASCOM Dome class for details
*The firmware in the SkyRoof controller board will not allow the 'roof close' relay to energize unless the
AtPark state is detected as 'parked' or the AtPark connectors have been jumped at the board.
Beginning with SkyRoof controller board firmware version 7.0, the 'roof open' relay will also not energize if the AtPark state is not detected.
Created with the Personal Edition of HelpNDoc: Converting Word Documents to eBooks: A Step-by-Step Guide with HelpNDoc