Files
py-dvt-ate/CHANGELOG.md
Kai Chappell 7d8609f4ed
Some checks failed
CI / Lint (push) Successful in 4s
CI / Type Check (push) Successful in 18s
CI / Release (push) Has been cancelled
CI / Test (push) Has been cancelled
Release v0.1.0 - MVP Complete
2025-11-20 18:16:57 +00:00

157 lines
6.3 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.0] - 2025-12-03
### Added
- Streamlit Dashboard Enhancement (Sprint 17)
- HAL-based instrument control (no direct physics access)
- Test execution page for running TempCo characterisation
- Results viewer page with filtering and historical data
- Form-based parameter controls preventing UI clunkiness
- Live simulation charts with auto-start
- End-to-end integration tests covering full workflow
- Updated README with installation and usage instructions
### Technical
- Dashboard uses InstrumentFactory and InstrumentSet abstraction
- Embedded SimulationServer with threading synchronisation
- SQLite repository close() method for Windows file handle cleanup
- 244 unit tests, 12 integration tests all passing
- Coverage: 100% on core physics/instrument modules
## [0.1.0-beta.2] - 2025-12-03
### Added
- Test Executive Framework (Sprint 14)
- TestContext dataclass providing runtime context for tests
- ITest abstract base class defining test interface
- TestLogger for recording measurements, results, and events
- LimitChecker for evaluating pass/fail against specification limits
- TestRunner for orchestrating test execution
- SQLite-based TestRepository for persisting test data
- Parquet measurement storage for efficient time-series data
- DVT Test Implementation (Sprint 15)
- BaseDVTTest providing common test utilities
- TempCo characterisation test (temperature coefficient measurement)
- Temperature sweep with automatic thermal settling
- Linear regression TempCo calculation (ppm/°C)
- Comprehensive integration tests for end-to-end validation
### Technical
- Test framework supports data logging, limit evaluation, and result persistence
- TempCo test demonstrates full end-to-end workflow: configure instruments → sweep temperature → measure → calculate → evaluate
- All framework and test components fully type-checked and linted
## [0.1.0-beta.1] - 2025-12-02
### Added
- Hardware Abstraction Layer (HAL) with instrument interface protocols
- IThermalChamber protocol with temperature control methods
- IPowerSupply protocol with voltage/current control and measurement
- IMultimeter protocol with DC voltage, current, and resistance measurement
- Instrument drivers implementing HAL interfaces
- ThermalChamberDriver implements IThermalChamber
- PowerSupplyDriver implements IPowerSupply
- MultimeterDriver implements IMultimeter
- Instrument factory pattern for backend abstraction
- InstrumentSet dataclass containing chamber, PSU, and DMM
- InstrumentConfig for specifying backend (simulator/pyvisa) and connection details
- InstrumentFactory.create() for creating instrument sets from configuration
- Transport layer abstraction
- Transport ABC defining connect/disconnect/read/write/query interface
- TCPTransport implementation for TCP/IP connections
- Comprehensive test suite for HAL (16 tests)
- Interface implementation verification
- Factory pattern testing with mocked backends
- Configuration validation
### Changed
- Drivers now explicitly inherit from interface ABCs for maximum type safety
- Moved InstrumentServer to instruments/transport for better architecture
### Technical
- ABC-based interfaces ensure compile-time interface compliance
- Factory pattern enables seamless switching between simulated and real hardware
- All HAL components fully type-checked with mypy strict mode
## [0.1.0-alpha.3] - 2025-12-02
### Added
- Async TCP server for exposing virtual instruments over network
- InstrumentServer class with multi-port, multi-client support
- Line-based SCPI protocol (newline-terminated commands/responses)
- SimulationServer wiring physics engine to all virtual instruments
- CLI `serve` command to start simulation server with configurable ports
- Integration tests for TCP server and instrument connectivity
### Infrastructure
- SCPI foundation (Sprint 5): command parser with IEEE 488.2 support
- Virtual instrument base class with command dispatch
- Thermal chamber simulator (TEMP:SETPOINT, TEMP:ACTUAL?, TEMP:STAB?)
- Power supply simulator (VOLT, CURR, OUTP, MEAS commands)
- Multimeter simulator (MEAS:VOLT:DC?, MEAS:CURR:DC?, CONF, READ?)
## [0.1.0-alpha.2] - 2025-12-02
### Added
- Streamlit dashboard for interactive physics visualisation
- Real-time temperature charts (chamber, case, junction)
- Current state metrics display (voltages, currents, power, temperatures)
- Interactive controls in sidebar:
- Temperature setpoint slider (-40°C to 125°C)
- Input voltage slider (0-12V)
- Load current slider (0-500mA)
- Output enable toggle
- Start/Stop/Reset simulation buttons
- Self-heating demonstration panel with:
- Junction-case and case-ambient temperature rise display
- Power dissipation chart
- Thermal coupling explanation
## [0.1.0-alpha.1] - 2025-12-02
### Added
- Physics engine with thermal-electrical coupling
- First-order thermal response calculations for chamber and case
- Junction temperature calculation via thermal resistance (θ_jc)
- Self-heating effects from power dissipation
- LDO DUT model with temperature-dependent behaviour
- Output voltage temperature coefficient (ppm/°C)
- Quiescent current temperature coefficient
- Dropout voltage temperature dependence
- Power dissipation calculation
- Comprehensive physics engine test suite (13 tests)
## [0.0.1] - 2025-12-01
### Added
- Initial project scaffolding
- pyproject.toml with core dependencies
- Package directory structure with all subpackages
- Development tooling configuration (ruff, mypy, pytest)
- CLI entry point with version command
- Project documentation (requirements, technical specification, architecture decisions)
- Development plan with vertical slice approach
- CI/CD pipeline configuration
---
## Version History
| Version | Date | Milestone |
|---------|------|-----------|
| 0.1.0 | 2025-12-03 | MVP Complete |
| 0.1.0-beta.2 | 2025-12-03 | First DVT test runs |
| 0.1.0-beta.1 | 2025-12-02 | HAL complete |
| 0.1.0-alpha.3 | 2025-12-02 | Network ready |
| 0.1.0-alpha.2 | 2025-12-02 | Visual demo |
| 0.1.0-alpha.1 | 2025-12-02 | Physics engine |
| 0.0.1 | 2025-12-01 | Project scaffolding |