Files
py-dvt-ate/config/default.yaml

173 lines
5.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
# =============================================================================
# Report Generation Configuration
# =============================================================================
reporting:
# Company name displayed in report header
# This appears in the title block and footer of generated reports
company_name: py_dvt_ate
# Path to company logo image file (PNG or JPEG)
# If null, no logo is displayed in report header
# Example: ./assets/logo.png
logo_path: null
# Include charts in generated reports
# Charts show voltage vs temperature and results summary
# Set to false for text-only reports (smaller file size)
include_charts: true
# DPI (dots per inch) for chart images
# Higher values produce sharper charts but larger file sizes
# Recommended: 150 for screen viewing, 300 for print quality
chart_dpi: 150