Files
vna_system/vna_system/core/config.py
T

77 lines
3.1 KiB
Python

from pathlib import Path
# -----------------------------------------------------------------------------
# Project paths
# -----------------------------------------------------------------------------
BASE_DIR = Path(__file__).parent.parent
# -----------------------------------------------------------------------------
# API / Server settings
# -----------------------------------------------------------------------------
API_HOST = "0.0.0.0"
API_PORT = 8000
# -----------------------------------------------------------------------------
# Logging settings (используются из main)
# -----------------------------------------------------------------------------
LOG_LEVEL = "DEBUG" # {"DEBUG","INFO","WARNING","ERROR","CRITICAL"}
LOG_DIR = BASE_DIR / "logs" # Directory for application logs
LOG_APP_FILE = LOG_DIR / "vna_system.log" # Main application log file
# -----------------------------------------------------------------------------
# Serial communication settings
# -----------------------------------------------------------------------------
DEFAULT_BAUD_RATE = 115200
RX_TIMEOUT = 5.0
TX_CHUNK_SIZE = 64 * 1024
# -----------------------------------------------------------------------------
# VNA device identification
# -----------------------------------------------------------------------------
VNA_VID = 0x0483 # STMicroelectronics
VNA_PID = 0x5740 # STM32 Virtual ComPort
# -----------------------------------------------------------------------------
# Sweep detection and parsing constants
# -----------------------------------------------------------------------------
SWEEP_CMD_LEN = 515
SWEEP_CMD_PREFIX = bytes([0xAA, 0x00, 0xDA])
MEAS_HEADER_LEN = 21
MEAS_CMDS_PER_SWEEP = 17
EXPECTED_POINTS_PER_SWEEP = 1000
# -----------------------------------------------------------------------------
# Buffer settings
# -----------------------------------------------------------------------------
SWEEP_BUFFER_MAX_SIZE = 100 # Maximum number of sweeps to store in circular buffer
SERIAL_BUFFER_SIZE = 512 * 1024
# -----------------------------------------------------------------------------
# Binary log format constants
# -----------------------------------------------------------------------------
MAGIC = b"VNALOG1\n"
DIR_TO_DEV = 0x01 # '>'
DIR_FROM_DEV = 0x00 # '<'
# -----------------------------------------------------------------------------
# File I/O settings
# -----------------------------------------------------------------------------
FILE_CHUNK_SIZE = 256 * 1024
SERIAL_PEEK_SIZE = 32
# -----------------------------------------------------------------------------
# Timeout settings
# -----------------------------------------------------------------------------
SERIAL_IDLE_TIMEOUT = 0.5
SERIAL_DRAIN_DELAY = 0.05
SERIAL_DRAIN_CHECK_DELAY = 0.01
SERIAL_CONNECT_DELAY = 0.01
PROCESSORS_CONFIG_DIR_PATH = "vna_system/core/processors/configs"
# -----------------------------------------------------------------------------
# Physical constants
# -----------------------------------------------------------------------------
SPEED_OF_LIGHT_M_S = 299_700_000.0 # Speed of light in meters per second