# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator  # noqa: F401


class Adc(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    Adc - a model defined in OpenAPI

        adc0: The adc0 of this Adc [Optional].
        adc1: The adc1 of this Adc [Optional].
        adc2: The adc2 of this Adc [Optional].
        adc3: The adc3 of this Adc [Optional].
        adc5: The adc5 of this Adc [Optional].
    """
    class Config:
        orm_mode = True

    adc0: Optional[int] = Field(alias="adc0", default=None)
    adc1: Optional[int] = Field(alias="adc1", default=None)
    adc2: Optional[int] = Field(alias="adc2", default=None)
    adc3: Optional[int] = Field(alias="adc3", default=None)
    adc5: Optional[int] = Field(alias="adc5", default=None)

    @validator("adc0")
    def adc0_max(cls, value):
        assert value <= 1023
        return value

    @validator("adc0")
    def adc0_min(cls, value):
        assert value >= 0
        return value

    @validator("adc1")
    def adc1_max(cls, value):
        assert value <= 1023
        return value

    @validator("adc1")
    def adc1_min(cls, value):
        assert value >= 0
        return value

    @validator("adc2")
    def adc2_max(cls, value):
        assert value <= 1023
        return value

    @validator("adc2")
    def adc2_min(cls, value):
        assert value >= 0
        return value

    @validator("adc3")
    def adc3_max(cls, value):
        assert value <= 1023
        return value

    @validator("adc3")
    def adc3_min(cls, value):
        assert value >= 0
        return value

    @validator("adc5")
    def adc5_max(cls, value):
        assert value <= 1023
        return value

    @validator("adc5")
    def adc5_min(cls, value):
        assert value >= 0
        return value

Adc.update_forward_refs()
