29 lines
671 B
Python
29 lines
671 B
Python
from dataclasses import dataclass, field
|
|
from datetime import datetime
|
|
from typing import Dict, List, Optional
|
|
|
|
|
|
# ===== Sensor Geometry =====
|
|
@dataclass
|
|
class Sensor:
|
|
label: str
|
|
x: float
|
|
y: float
|
|
|
|
|
|
# ===== Data Row =====
|
|
@dataclass
|
|
class DataRecord:
|
|
time: float
|
|
values: List[float] = field(default_factory=list)
|
|
|
|
|
|
# ===== Parsed Z-Wafer Container =====
|
|
@dataclass
|
|
class ZWaferData:
|
|
date: datetime = field(default_factory=lambda: datetime.min)
|
|
serial: Optional[str] = None
|
|
header: Dict[str, str] = field(default_factory=dict)
|
|
sensors: List[Sensor] = field(default_factory=list)
|
|
csv_headers: List[str] = field(default_factory=list)
|