Add default configuration file

This commit is contained in:
2025-08-11 13:11:17 +00:00
parent 02c40d3e2f
commit fdf8c32395

149
config/default.yaml Normal file
View File

@@ -0,0 +1,149 @@
# py_dvt_ate Default Configuration
# This file contains default settings for the DVT simulation platform.
# Copy this file and modify values as needed for your environment.
# =============================================================================
# Instrument Configuration
# =============================================================================
instruments:
# Backend selection: "simulator" or "pyvisa"
# - simulator: Use virtual instruments with physics simulation (for development)
# - pyvisa: Connect to real instruments via PyVISA (for production testing)
backend: simulator
# Simulator backend configuration
# Used when backend=simulator. Virtual instruments are exposed as TCP servers.
simulator:
host: localhost
thermal_chamber_port: 5001
power_supply_port: 5002
multimeter_port: 5003
# PyVISA backend configuration
# Used when backend=pyvisa. Provide VISA resource strings for real instruments.
# Example: "TCPIP::192.168.1.10::5001::SOCKET"
pyvisa:
thermal_chamber: null
power_supply: null
multimeter: null
# =============================================================================
# Physics Simulation Parameters
# =============================================================================
physics:
# Physics engine update rate (Hz)
# Higher rates provide better accuracy but use more CPU.
update_rate_hz: 100.0
# Thermal model parameters
thermal:
# Chamber thermal time constant (seconds)
# Time for chamber temperature to reach 63% of final value
chamber_time_constant_s: 30.0
# DUT case thermal time constant (seconds)
# Time for case temperature to reach 63% of final value
case_time_constant_s: 5.0
# Junction-to-case thermal resistance (°C/W)
# How much the junction heats above case per watt dissipated
theta_jc: 15.0
# Case-to-ambient thermal resistance (°C/W)
# How much the case heats above ambient per watt dissipated
theta_ca: 5.0
# Thermal chamber behaviour
chamber:
# Maximum temperature ramp rate (°C/min)
# Real chambers have limited heating/cooling rates
ramp_rate_c_per_min: 10.0
# Temperature stability window (°C)
# Chamber is considered stable when within ±this value of setpoint
stability_window_c: 0.5
# Stability duration requirement (seconds)
# Chamber must remain in stability window for this duration
stability_time_s: 30.0
# =============================================================================
# DUT (Device Under Test) Configuration
# =============================================================================
dut:
# DUT model type
# Currently supported: "ldo"
model: ldo
# DUT model parameters
parameters:
# Nominal output voltage at 25°C (V)
nominal_output_voltage: 3.3
# Temperature coefficient (ppm/°C)
# Voltage change per degree: ΔV = V₀ × tempco × ΔT / 1e6
tempco_ppm_per_c: 50.0
# Quiescent current at 25°C (µA)
quiescent_current_ua: 50.0
# Quiescent current temperature coefficient (per °C)
# Iq change per degree: ΔIq = Iq₀ × tempco × ΔT
quiescent_current_tempco: 0.003
# Dropout voltage (V)
# Minimum Vin-Vout differential for regulation
dropout_voltage: 0.3
# =============================================================================
# Data Storage Configuration
# =============================================================================
data:
# SQLite database path for test runs and results
database_path: ./data/py_dvt_ate.db
# Directory for measurement data files (Parquet format)
measurements_dir: ./data/measurements
# Directory for generated reports (PDF, HTML)
reports_dir: ./data/reports
# =============================================================================
# Logging Configuration
# =============================================================================
logging:
# Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
level: INFO
# Log file path
# Use null to disable file logging
file: ./data/logs/py_dvt_ate.log
# Log message format
# Uses Python logging format strings
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
# =============================================================================
# Dashboard Configuration (Streamlit)
# =============================================================================
dashboard:
# Enable/disable the Streamlit dashboard
enabled: true
# Dashboard server port
port: 8501
# =============================================================================
# API Configuration (Phase 2)
# =============================================================================
api:
# Enable/disable the REST API server
# Currently not implemented (Phase 2 feature)
enabled: false
# API server host
# Use "0.0.0.0" to listen on all interfaces
host: "0.0.0.0"
# API server port
port: 8000