PANOPTES units are equipped with an uninterruptable power supply (UPS), and are able to detect if the UPS battery is receiving power from a wall outlet. If the unit is not receiving power from a wall outlet, the mount should move to the park position and not observe until AC power from the wall outlet is restored. This keeps the unit safe in the event of a blackout or sudden loss of power. To check this condition, the power_board.ino sketch needs to be updated with a command whose response is the state of the wall power's condition (either available or unavailable). The core module needs to execute that arduino command, retrieve its response (either directly with Popen or indirectly through system_info.pickle), and then stop any running observations and wait for power to return before attempting to observe again. The message to the mount module should be sent through the current_target.pickle using the target.cmd attribute. The camera module should also use this command to stop taking images.
Each target observed by Moxa-POCS has its images placed in a time stamped directory within the images directory. In addition to raw image files (.cr2), the system should put other target information there as well. Specifically, it should put the Ra/Dec coordinates of the target, any user notes as specified by the schedule file (see /conf_files/targets/test_fields.yaml as an example), and in the future it should include weather sensor data about cloud cover. This should be done from the camera module since it already manages the directories where this new information will be stored.
The mount uses its own firmware to slew to a target and handle meridian flips. When the mount module is run, it would be best to make the mount's longitude and latitude settings match the settings.yaml file and enable meridian flips. Using the longitude and latitude in settings.yaml, the hemisphere should be determined and the mount settings should be adjusted accordingly. This improvement should be implemented into the mount module's connect_to_mount function. This can be done using the iOptron RS-232 Command Language V2.5.
Serial mount commands of interest from the above pdf:
“:SgsSSSSSS#” - sets the current longitude
“:StsSSSSSS#” - sets the current latitude
“:SHE0#” or “:SHE1#” - sets the hemisphere
“:SMTnnn#” - sets the treatment of meridian flip
Schedule files contain data of multiple targets and their position, desired camera settings and priority. They can be tiring to make using the panoptes-CLI, since each target has to be entered manually. Creating a system that uses an online database to create a schedule file with correct position values for numerous targets would be very helpful. It should be integrated with the panoptes-CLI and documented in the README.md file.
The API's coordinates (the "real" Ra/Dec) can be compared with the mount's coordinates using the getCurrentSkyCoord function in core.py.
Executing a tracking correction can be done in the iOptron RS-232 Serial Command Language using the “:MnXXXXX#”, “:MeXXXXX#”, “:MsXXXXX#” or “:MwXXXXX#” commands which move the mount by the guiding rate for XXXXX seconds. The guiding rate can be set using “:RGnnnn#” serial command.
General Notes:
This feature should be added inside of the mount module. Tracking corrections should happen after the first image is taken, and every few minutes or pictures afterwards.
Once more reliable hardware for weather sensing is made, it needs to be integrated into its module, and function with the core module to consistently detect rain and cloud conditions.