Files
py-dvt-ate/CHANGELOG.md
Kai Chappell 28f913c8ce
Some checks failed
CI / Lint (push) Failing after 4s
CI / Type Check (push) Successful in 17s
CI / Test (push) Successful in 9s
CI / Release (push) Has been cancelled
Release v0.1.0-beta.1
2025-12-02 22:42:52 +00:00

4.4 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[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 TBD MVP Complete
0.1.0-beta.2 TBD 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