Loading noctua/defaults/snapshot_imaging.json +1 −1 Original line number Diff line number Diff line {"template" : "snapshot_imaging", {"template" : "snapshot", "params": { "object": "test object", "binning": 1, Loading noctua/defaults/snapshot_spectro.json +1 −1 Original line number Diff line number Diff line {"template" : "snapshot_spectro", {"template" : "snapshot", "params": { "object": "test spectro", "binning": 1, Loading noctua/templates/snapshot_imaging.py +0 −24 Original line number Diff line number Diff line Loading @@ -140,7 +140,6 @@ class Template(BaseTemplate): xyend[0]-xystart[0], xyend[1]-xystart[1]) else: msg = f"No windowing: full frame in bininng {binning}" log.warning(msg) Loading @@ -166,29 +165,6 @@ class Template(BaseTemplate): log.info(f"Starting Exposure {exposure + 1} of {repeat}") # ######################## # ##### Dome Slewing ##### # ######################## log.info(f"Dome slewing is {self.domeslewing}") if imagetype == "Light": if self.domeslewing: log.info(f"Check Dome position") while (abs(tel.coordinates["altaz"][1] - dom.azimuth) > 3): if not self.domeslewing: log.debug("Stop slewing anyway") return dom.azimuth = tel.coordinates["altaz"][1] sleep(0.5) while dom.is_moving: if self.check_pause_or_abort(): log.debug( "check_pause_or_abort returned true. I'm here") return log.warning(f"Waiting for Dome to Stop") sleep(0.5) ########################## ##### Start exposure ##### ########################## Loading noctua/templates/snapshot_spectro.py +43 −25 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ from time import sleep from astropy.time import Time # Other templates from ..config.constants import (camera_state, frame_number, frame_type, from ..config.constants import (camera_state, filter_name, filter_number, filter_state, frame_number, frame_type, image_state, temp_fits, viewer_fits_path) from .. import devices as _dev from ..devices import dom, tel Loading @@ -32,7 +33,7 @@ class Template(BaseTemplate): ######################## try: camera_name = params.get("camera") or "cam2" camera_name = params.get("camera") or "cam" cam = getattr(_dev, camera_name) fits_file = viewer_fits_path(getattr(cam, '_viewer_key', None)) Loading @@ -40,6 +41,8 @@ class Template(BaseTemplate): repeat = params.get("repeat") or 1 imagetype = params.get("imagetype") or "Light" binning = params.get("binning") or cam.binning filt = params.get("filter") or ( filter_name.get(cam.filter) if hasattr(cam, 'filter') else None) xystart = params.get("xystart") or cam.xystart xyend = params.get("xyend") or cam.xyend exptime = params["exptime"] Loading Loading @@ -87,6 +90,41 @@ class Template(BaseTemplate): log.info(f"Camera is {camera_state[cam.state]}") # Changing filter if not the same as the current one (only if camera has a filter wheel) if filt and hasattr(cam, 'filter'): # On bad ctrl-c, filter can be 15 (?!) log.warning(f"Filter is number {cam.filter}") log.warning( f"Filter is {filter_name[cam.filter]}, we have selected {filt}") if filter_number[filt] != cam.filter: msg = f"Changing filter to {filt}, " msg += f"Which is number {filter_number[filt]}" log.info(msg) cam.filter = filter_number[filt] sleep(0.2) status = 1 while status != 0: self.check_pause_or_abort() try: status = int(cam.is_moving) except ValueError as e: msg = f"Error trying to contact the camera: {e}" log.error(msg) self.error.append(msg) if status == 2: msg = f"Filter {filter_state[status]}" log.error(msg) self.error.append(msg) return else: log.warning(f"Filter {filter_state[status]}") sleep(0.75) # Changing windowing if xystart and xyend: log.info( Loading @@ -112,35 +150,15 @@ class Template(BaseTemplate): if self.check_pause_or_abort(): return # RA, DEC, ALT, AZ, UTC are asked to cabinet # simultaneously in order to avoid latency. log.info(f"Asking cabinet time and coordinates") basic_cabinet = tel.coordinates gps = Time(tel.coordinates["utc"], format="unix") log.info(f"Starting Exposure {exposure + 1} of {repeat}") # ######################## # ##### Dome Slewing ##### # ######################## log.info(f"Dome slewing is {self.domeslewing}") if imagetype == "Light": if self.domeslewing: log.info(f"Check Dome position") while (abs(tel.coordinates["altaz"][1] - dom.azimuth) > 3): if not self.domeslewing: log.debug("Stop slewing anyway") return dom.azimuth = tel.coordinates["altaz"][1] sleep(0.5) while dom.is_moving: if self.check_pause_or_abort(): log.debug( "check_pause_or_abort returned true. I'm here") return log.warning(f"Waiting for Dome to Stop") sleep(0.5) ########################## ##### Start exposure ##### ########################## Loading noctua/web/static/js/control.js +2 −2 Original line number Diff line number Diff line Loading @@ -152,12 +152,12 @@ document.addEventListener('DOMContentLoaded', () => { document.getElementById('btn-imaging-expose')?.addEventListener('click', () => { const form = document.getElementById('form-imaging'); if (form) postExpose('snapshot_imaging', 'cam', readForm(form)); if (form) postExpose('snapshot', 'cam', readForm(form)); }); document.getElementById('btn-spectro-expose')?.addEventListener('click', () => { const form = document.getElementById('form-spectro'); if (form) postExpose('snapshot_spectro', 'cam2', readForm(form)); if (form) postExpose('snapshot', 'cam2', readForm(form)); }); // ----------------------------------------------------------------------- Loading Loading
noctua/defaults/snapshot_imaging.json +1 −1 Original line number Diff line number Diff line {"template" : "snapshot_imaging", {"template" : "snapshot", "params": { "object": "test object", "binning": 1, Loading
noctua/defaults/snapshot_spectro.json +1 −1 Original line number Diff line number Diff line {"template" : "snapshot_spectro", {"template" : "snapshot", "params": { "object": "test spectro", "binning": 1, Loading
noctua/templates/snapshot_imaging.py +0 −24 Original line number Diff line number Diff line Loading @@ -140,7 +140,6 @@ class Template(BaseTemplate): xyend[0]-xystart[0], xyend[1]-xystart[1]) else: msg = f"No windowing: full frame in bininng {binning}" log.warning(msg) Loading @@ -166,29 +165,6 @@ class Template(BaseTemplate): log.info(f"Starting Exposure {exposure + 1} of {repeat}") # ######################## # ##### Dome Slewing ##### # ######################## log.info(f"Dome slewing is {self.domeslewing}") if imagetype == "Light": if self.domeslewing: log.info(f"Check Dome position") while (abs(tel.coordinates["altaz"][1] - dom.azimuth) > 3): if not self.domeslewing: log.debug("Stop slewing anyway") return dom.azimuth = tel.coordinates["altaz"][1] sleep(0.5) while dom.is_moving: if self.check_pause_or_abort(): log.debug( "check_pause_or_abort returned true. I'm here") return log.warning(f"Waiting for Dome to Stop") sleep(0.5) ########################## ##### Start exposure ##### ########################## Loading
noctua/templates/snapshot_spectro.py +43 −25 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ from time import sleep from astropy.time import Time # Other templates from ..config.constants import (camera_state, frame_number, frame_type, from ..config.constants import (camera_state, filter_name, filter_number, filter_state, frame_number, frame_type, image_state, temp_fits, viewer_fits_path) from .. import devices as _dev from ..devices import dom, tel Loading @@ -32,7 +33,7 @@ class Template(BaseTemplate): ######################## try: camera_name = params.get("camera") or "cam2" camera_name = params.get("camera") or "cam" cam = getattr(_dev, camera_name) fits_file = viewer_fits_path(getattr(cam, '_viewer_key', None)) Loading @@ -40,6 +41,8 @@ class Template(BaseTemplate): repeat = params.get("repeat") or 1 imagetype = params.get("imagetype") or "Light" binning = params.get("binning") or cam.binning filt = params.get("filter") or ( filter_name.get(cam.filter) if hasattr(cam, 'filter') else None) xystart = params.get("xystart") or cam.xystart xyend = params.get("xyend") or cam.xyend exptime = params["exptime"] Loading Loading @@ -87,6 +90,41 @@ class Template(BaseTemplate): log.info(f"Camera is {camera_state[cam.state]}") # Changing filter if not the same as the current one (only if camera has a filter wheel) if filt and hasattr(cam, 'filter'): # On bad ctrl-c, filter can be 15 (?!) log.warning(f"Filter is number {cam.filter}") log.warning( f"Filter is {filter_name[cam.filter]}, we have selected {filt}") if filter_number[filt] != cam.filter: msg = f"Changing filter to {filt}, " msg += f"Which is number {filter_number[filt]}" log.info(msg) cam.filter = filter_number[filt] sleep(0.2) status = 1 while status != 0: self.check_pause_or_abort() try: status = int(cam.is_moving) except ValueError as e: msg = f"Error trying to contact the camera: {e}" log.error(msg) self.error.append(msg) if status == 2: msg = f"Filter {filter_state[status]}" log.error(msg) self.error.append(msg) return else: log.warning(f"Filter {filter_state[status]}") sleep(0.75) # Changing windowing if xystart and xyend: log.info( Loading @@ -112,35 +150,15 @@ class Template(BaseTemplate): if self.check_pause_or_abort(): return # RA, DEC, ALT, AZ, UTC are asked to cabinet # simultaneously in order to avoid latency. log.info(f"Asking cabinet time and coordinates") basic_cabinet = tel.coordinates gps = Time(tel.coordinates["utc"], format="unix") log.info(f"Starting Exposure {exposure + 1} of {repeat}") # ######################## # ##### Dome Slewing ##### # ######################## log.info(f"Dome slewing is {self.domeslewing}") if imagetype == "Light": if self.domeslewing: log.info(f"Check Dome position") while (abs(tel.coordinates["altaz"][1] - dom.azimuth) > 3): if not self.domeslewing: log.debug("Stop slewing anyway") return dom.azimuth = tel.coordinates["altaz"][1] sleep(0.5) while dom.is_moving: if self.check_pause_or_abort(): log.debug( "check_pause_or_abort returned true. I'm here") return log.warning(f"Waiting for Dome to Stop") sleep(0.5) ########################## ##### Start exposure ##### ########################## Loading
noctua/web/static/js/control.js +2 −2 Original line number Diff line number Diff line Loading @@ -152,12 +152,12 @@ document.addEventListener('DOMContentLoaded', () => { document.getElementById('btn-imaging-expose')?.addEventListener('click', () => { const form = document.getElementById('form-imaging'); if (form) postExpose('snapshot_imaging', 'cam', readForm(form)); if (form) postExpose('snapshot', 'cam', readForm(form)); }); document.getElementById('btn-spectro-expose')?.addEventListener('click', () => { const form = document.getElementById('form-spectro'); if (form) postExpose('snapshot_spectro', 'cam2', readForm(form)); if (form) postExpose('snapshot', 'cam2', readForm(form)); }); // ----------------------------------------------------------------------- Loading