NIRCamera.py 966 Bytes
from pyrosapp.models import *
from .Device import DeviceObj
from enum import Enum

class ReadmodeEnum(Enum):
    ramp = "Ramp"
    # TODO: définir les modes de lecture

class ShutterEnum(Enum):
    synchro = "Synchro"
    closed = "Closed"
    opened = "Opened"

class NIRCameraObj(DeviceObj):

    def __init__(self):
        super().__init__()

        self.set_msgs = [
            ("WINDOW", [4, ], int),
            ("READMODE", [1, ], ReadmodeEnum),
            ("FILENAME", [1, ], str),
            ("HEADER", [1, ], dict),
            ("READOUT_FREQUENCY", [1, ], float),
            ("NB_IMAGES", [1, ], int),
        ]

        self.get_msgs = [
            "STATUS",
            "SETUP",
            "TEMPERATURE",
            "TIMER",
        ]

        self.do_msgs = [
            ("COOLER", [2, ], float),
            ("SHUTTER", [1, ], ShutterEnum),
            ("START", [0, ]),
            ("ABORT", [0, ]),
            ("STOP", [0, ]),
        ]