16 lines
662 B
Python
16 lines
662 B
Python
from .model import Issue, Sample
|
|
|
|
|
|
def validate(samples: list[Sample]) -> list[Issue]:
|
|
issues = []
|
|
previous_time = None
|
|
for sample in samples:
|
|
if previous_time is not None and sample.time_ms <= previous_time:
|
|
issues.append(Issue(sample.line, "TIME_ORDER", "采样时间未严格递增"))
|
|
previous_time = sample.time_ms
|
|
if not -40 <= sample.temperature_c <= 85:
|
|
issues.append(Issue(sample.line, "TEMP_RANGE", "温度超出试验量程"))
|
|
if not 9 <= sample.voltage_v <= 16:
|
|
issues.append(Issue(sample.line, "VOLT_RANGE", "电压超出试验量程"))
|
|
return issues
|