[config] converting config into dataclasses
This commit is contained in:
parent
93fe2951cd
commit
e44e021982
@ -1,3 +1,4 @@
|
||||
from typing import TypedDict, Union
|
||||
from dataclasses import dataclass
|
||||
import pathlib
|
||||
|
||||
@ -8,6 +9,75 @@ from pyrelacs.util.logging import config_logging
|
||||
|
||||
log = config_logging()
|
||||
|
||||
class ValueUnit(TypedDict):
|
||||
value: Union[int, float]
|
||||
unit: str
|
||||
|
||||
@dataclass
|
||||
class Settings:
|
||||
Repros: list[str]
|
||||
Path: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class Metadata:
|
||||
Identifier: str
|
||||
Maintainer: str
|
||||
Creator: str
|
||||
Location: str
|
||||
Lab: str
|
||||
Institute: str
|
||||
University: str
|
||||
Address: str
|
||||
|
||||
@dataclass
|
||||
class Input:
|
||||
inputsamplerate : ValueUnit
|
||||
# BufferSize
|
||||
inputtracecapacity : ValueUnit
|
||||
inputunipolar : bool
|
||||
inputtraceid : list[str]
|
||||
inputtracescale : list[int]
|
||||
inputtraceunit : list[str]
|
||||
inputtracedevice : list[str]
|
||||
inputtracechannel : list[int]
|
||||
inputtracereference: list[str]
|
||||
inputtracemaxvalue : list[int]
|
||||
inputtracecenter : list[bool]
|
||||
|
||||
@dataclass
|
||||
class Output:
|
||||
outputtraceid : list[str]
|
||||
outputtracedevice : list[str]
|
||||
outputtracechannel : list[int]
|
||||
outputtracescale : list[int]
|
||||
outputtraceunit : list[str]
|
||||
outputtracemaxrate : list[ValueUnit]
|
||||
outputtracemodality: list[str]
|
||||
|
||||
@dataclass
|
||||
class Data:
|
||||
input: Input
|
||||
output: Output
|
||||
|
||||
@dataclass
|
||||
class SimData:
|
||||
input:
|
||||
inputsamplerate : 20kHz
|
||||
inputtracecapacity : 600s
|
||||
output:
|
||||
outputtraceid : [ Sinus ]
|
||||
outputtracedevice : [ ao-0 ]
|
||||
outputtracechannel : [ 0 ]
|
||||
outputtracescale : [ 1 ]
|
||||
outputtraceunit : [ V ]
|
||||
outputtracemaxrate : [ 40kHz ]
|
||||
outputtracemodality: [ electric ]
|
||||
|
||||
@dataclass
|
||||
class PyRelacs:
|
||||
data: Data
|
||||
simdata: SimData
|
||||
|
||||
@dataclass
|
||||
class Config:
|
||||
|
Loading…
Reference in New Issue
Block a user