77 lines
3.1 KiB
Python
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 |