diff --git a/api/routes.py b/api/routes.py index 85f24e6..f44541e 100644 --- a/api/routes.py +++ b/api/routes.py @@ -16,7 +16,7 @@ from flask import jsonify, request from api.config import load from api.db import Database from api.parser import format_no_llm, parse_batch -from api.scripts import build_default_script, build_full_script, build_script_for_level +from api.scripts import build_default_script, build_full_script, build_script_for_level, build_dynamic_script from brain.client import Diagnoser, LLMError from brain.prompts import SYSTEM_PROMPT @@ -77,6 +77,8 @@ def register(app): script = build_script_for_level(int(level)) except (ValueError, TypeError): script = build_default_script() + elif mode == "dynamic": + script = build_dynamic_script() elif mode == "full": script = build_full_script() else: diff --git a/api/scripts.py b/api/scripts.py index ad6d252..0059edd 100644 --- a/api/scripts.py +++ b/api/scripts.py @@ -107,3 +107,27 @@ def build_script_for_level(level: int) -> dict: return build_script_l1() else: return build_script_l0() + + +def build_dynamic_script() -> dict: + """Скрипт для динамического теста — 12 PID, опрос каждые 250мс.""" + return { + "version": 1, + "title": "Динамический тест", + "mode": "dynamic", + "interval_ms": 250, + "steps": [ + {"id": "pid_04", "cmd": "0104", "desc": "Нагрузка"}, + {"id": "pid_05", "cmd": "0105", "desc": "ОЖ"}, + {"id": "pid_06", "cmd": "0106", "desc": "STFT"}, + {"id": "pid_07", "cmd": "0107", "desc": "LTFT"}, + {"id": "pid_0B", "cmd": "010B", "desc": "MAP"}, + {"id": "pid_0C", "cmd": "010C", "desc": "RPM"}, + {"id": "pid_0D", "cmd": "010D", "desc": "Скорость"}, + {"id": "pid_0E", "cmd": "010E", "desc": "Зажигание"}, + {"id": "pid_0F", "cmd": "010F", "desc": "IAT"}, + {"id": "pid_10", "cmd": "0110", "desc": "MAF"}, + {"id": "pid_11", "cmd": "0111", "desc": "Дроссель"}, + {"id": "pid_1F", "cmd": "011F", "desc": "Время работы"}, + ], + }