Coverage for /opt/conda/envs/apienv/lib/python3.10/site-packages/daiquiri/core/hardware/abstract/laserheating.py: 0%
21 statements
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-14 02:13 +0000
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-14 02:13 +0000
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3from marshmallow import fields
4from marshmallow.validate import Length
6from daiquiri.core.hardware.abstract import HardwareObject
7from daiquiri.core.schema.hardware import HardwareSchema
8from daiquiri.core.schema.validators import OneOf, RequireEmpty
10import logging
12logger = logging.getLogger(__name__)
14LaserheatingStates = ["READY", "ERROR", "UNKNOWN"]
17class LaserheatingPropertiesSchema(HardwareSchema):
18 state = OneOf(LaserheatingStates, metadata={"readOnly": True})
19 exposure_time = fields.Float()
20 background_mode = OneOf(["ON", "OFF", "ALWAYS"])
21 fit_wavelength = fields.List(fields.Int(), validate=Length(2, 2))
22 current_calibration = fields.Str()
25class LaserheatingCallablesSchema(HardwareSchema):
26 measure = RequireEmpty()
29class Laserheating(HardwareObject):
30 _type = "laserheating"
31 _state_ok = [LaserheatingStates[0]]
33 _properties = LaserheatingPropertiesSchema()
34 _callables = LaserheatingCallablesSchema()