41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
"""
|
|
env_config.py — конфигурация HIL из переменных окружения.
|
|
|
|
При запуске через just (set dotenv-load + set export) все переменные
|
|
из корневого .env автоматически попадают в os.environ до запуска pytest.
|
|
|
|
При прямом запуске pytest (без just) — выставить переменные вручную
|
|
или через `export HIL_VCOM_PORT=...` перед запуском.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
import os
|
|
from pathlib import Path
|
|
|
|
_REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def _get(key: str, default: str) -> str:
|
|
return os.environ.get(key, default)
|
|
|
|
|
|
BUILD_DIR: str = _get("HIL_BUILD_DIR", str(_REPO_ROOT / "build" / "target-debug"))
|
|
PYOCD_FREQUENCY: int = int(_get("HIL_PYOCD_FREQUENCY", "1000000"))
|
|
|
|
|
|
POWER_ON_SETTLE_S = float(_get("HIL_TARGET_POWER_SETTLE_S", "1.5"))
|
|
|
|
# VCOM на программаторе NXP MCU-Link
|
|
VCOM_PORT: str = _get("HIL_VCOM_PORT", "/dev/ttyACM0")
|
|
VCOM_BAUD: int = int(_get("HIL_VCOM_BAUD", "115200"))
|
|
READY_TIMEOUT: float = float(_get("HIL_READY_TIMEOUT", "5.0"))
|
|
|
|
# M5Stack StamPLC (промежуточная платформа для HIL)
|
|
M5_PORT: str = _get("HIL_M5_PORT", "/dev/ttyACM1")
|
|
M5_BAUD: int = int(_get("HIL_M5_BAUD", "115200"))
|
|
M5_TIMEOUT: float = float(_get("HIL_M5_TIMEOUT", "3.0"))
|
|
|
|
# VCOM на плате таргета
|
|
TARGET_VCOM_PORT: str = _get("HIL_USB_CDC_PORT", "/dev/ttyACM2")
|
|
TARGET_VCOM_BAUD: int = int(_get("HIL_USB_CDC_BAUD", "115200"))
|
|
TARGET_VCOM_TIMEOUT: float = float(_get("HIL_USB_CDC_TIMEOUT", "3.0"))
|