APOAshDome module

This provides a low level interface to control the APO 1m Ash Dome. The software controls relays on a Raspberry Pi that trigger the dome control box to open/close upper shutter and to power dome rotation. It provides an interface to an encoder on the dome motor to determine the dome azimuth. It also provides the ability to sense the state of a dome home switch.

This is achieved through instantiation of an APOAshDome device. Upon instantiation, two important threads are started:

start_watchdog() toggles a relay on the dome control board every two minutes; the control box has an internal timer that will close the dome if this watchdog relay isn’t reset. The timeout on the timer can be adjusted, and is set to close after 3-4 minutes (should be occasionally tested!).

start_weather() instantiates an Safety object from APOSafety and checks for issafe() status every 90 seconds (which is determined from state of 3.5m and/or 2.5m domes). If this returns False, then the dome is closed. There is no provision for automatically reopening the dome; this needs to be tracked by some client process.

In addition to operational methods, the class also provides attributes and methods as required by the ASCOM Alpaca Dome device.

Module functions

Low level inteface to APO Ash Dome

class APOAshDome.ShutterState(*values)[source]
APOAshDome.set_relay(bit, value)[source]

Utility routine to turn RELAYplates relays on (1) or off

Always sleep 200 ms after a call to give system time to respond before subsequent call

APOAshDome.diff(azimuth, current_az)[source]

Get proper delta dome motion