Commit aed1f7ae authored by vertighel's avatar vertighel
Browse files

dev

parent 4788b35c
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
    {"template" : "snapshot_imaging",
    {"template" : "snapshot",
     "params": {
         "object": "test object",
         "binning": 1,
+1 −1
Original line number Diff line number Diff line
    {"template" : "snapshot_spectro",
    {"template" : "snapshot",
     "params": {
         "object": "test spectro",
         "binning": 1,
+0 −24
Original line number Diff line number Diff line
@@ -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)
@@ -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 #####
            ##########################
+43 −25
Original line number Diff line number Diff line
@@ -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
@@ -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))

@@ -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"]
@@ -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(
@@ -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 #####
            ##########################
+2 −2
Original line number Diff line number Diff line
@@ -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));
    });

    // -----------------------------------------------------------------------