9e9c8b55f5
Remove fragment from sidebar controls (not supported)
...
Sidebar controls cannot be in a fragment. Brief blank on
slider change is a Streamlit limitation.
2025-04-15 21:25:23 +00:00
9a3fed1da0
Put sidebar controls in fragment to prevent page blanking
...
Both controls and display are now fragments, so slider
changes don't trigger full page reruns.
2025-04-13 18:47:37 +00:00
3f47d8a5e4
Use st.fragment for smooth dashboard updates
...
Replace st.rerun() with @st.fragment decorator to prevent
full page reloads and eliminate UI greying out.
2025-04-08 13:08:15 +00:00
ffa51dcc81
Fix dashboard simulation speed with time multiplier
...
- Add time multiplier control (1× to 100× speed)
- Calculate steps based on real elapsed time
- Add 50ms delay to prevent UI thrashing
- Display current speed in Sim Time metric
2025-04-05 17:58:41 +00:00
b1408f8fe4
Release v0.1.0-alpha.2
CI / Lint (push) Failing after 3s
CI / Type Check (push) Failing after 16s
CI / Test (push) Successful in 7s
CI / Release (push) Has been skipped
2025-04-03 21:20:13 +00:00
bcc8bf6b23
Add self-heating visualisation
2025-03-29 17:04:13 +00:00
a88fdd1cea
Add interactive physics controls
2025-03-24 15:02:51 +00:00
79eabd35ce
Add physics visualisation panel
2025-03-24 14:20:53 +00:00
3378820293
Add Streamlit dashboard skeleton
2025-03-18 14:24:17 +00:00
d130963ce2
Release v0.1.0-alpha.1
...
CI / Lint (push) Failing after 4s
CI / Type Check (push) Failing after 7s
CI / Test (push) Successful in 7s
CI / Release (push) Has been skipped
Physics engine working milestone:
- Thermal-electrical coupling simulation
- LDO DUT model with temperature dependence
- Comprehensive test suite
2025-03-14 19:10:34 +00:00
bdd7cae0da
Add physics engine tests
...
Integration tests for thermal-electrical coupling:
- Thermal settling (chamber, case, junction)
- Self-heating effects with power dissipation
- Temperature-dependent electrical behaviour
- Complete thermal-electrical feedback loop
2025-03-13 16:42:17 +00:00
ea5070132d
Implement physics engine stepping
...
Full implementation of step() method with thermal-electrical coupling:
- Chamber temperature first-order response to setpoint
- Case temperature with self-heating via thermal calculations
- Junction temperature from θ_jc thermal resistance
- Electrical state from temperature-dependent DUT model
- Default LDO model when none provided
2025-03-11 19:23:10 +00:00
762d7181e3
Implement LDO DUT model
...
Temperature-dependent LDO voltage regulator model with:
- Output voltage tempco (ppm/°C)
- Quiescent current tempco
- Dropout voltage temperature dependence
- Power dissipation calculation (Vin-Vout)*Iload + Vin*Iq
- Dropout detection
Implements DUTModel protocol for physics engine integration.
2025-03-06 21:24:17 +00:00
f45f5a2a19
Implement thermal calculation functions
...
Pure functions for first-order thermal response calculations:
- Temperature derivative and update using Euler integration
- Case temperature with self-heating via θ_ca
- Junction temperature calculation via θ_jc
- Steady-state junction temperature helper
2025-03-02 20:05:54 +00:00
1ffb47bacd
Add physics model unit tests
...
Test dataclass creation, immutability, equality, and hashability for
ThermalState and ElectricalState. Also test PhysicsEngine stub methods.
2025-02-27 21:23:36 +00:00
1f72290744
Rename models.py to state.py to avoid conflict with models/ directory
...
The models.py file conflicts with the models/ subdirectory when
importing. Renamed to state.py for clarity.
2025-02-27 19:02:42 +00:00
54ea9c0a56
Add physics engine stub
...
Define PhysicsEngine class with stub methods for thermal-electrical
simulation. Methods return placeholder values; full implementation
will be added in Sprint 3.
2025-02-20 18:59:24 +00:00
7937dbf079
Add DUT model protocol
...
Define the DUTModel Protocol interface that all device models must
implement to integrate with the physics engine.
2025-02-20 18:53:40 +00:00
842ff09431
Add physics state dataclasses
...
Define frozen dataclasses for ThermalState and ElectricalState to
represent immutable simulation state snapshots.
2025-02-15 19:51:02 +00:00
ed2515bca7
Restructure package for domain-driven design
...
Reorganise package structure to improve separation of concerns:
- instruments/ - SCPI, transport, drivers, interfaces, factory
- simulation/ - physics engine, virtual instruments, server
- framework/ - test runner, logger, limits, context
- tests/ - thermal/, electrical/ (DVT test implementations)
- data/ - repository, models
- reporting/ - generator, templates
- app/ - CLI, config, dashboard
This structure enables:
- Reusable instruments package for other test suites
- Clear separation of simulation (dev) vs production code
- Domain-focused package organisation
Updated documentation to reflect new paths.
2025-02-10 12:06:22 +00:00
154352e92f
Release v0.0.1
CI / Lint (push) Failing after 3s
CI / Type Check (push) Successful in 7s
CI / Test (push) Failing after 6s
CI / Release (push) Has been skipped
2025-02-08 14:48:21 +00:00
5cb8794db8
Add CLI entry point with version command
2025-02-05 19:21:17 +00:00
66ea201f07
Configure development tooling (ruff, mypy, pytest)
2025-02-03 20:00:48 +00:00
8eb2bbc7d5
Add package directory structure
2025-02-01 17:28:37 +00:00
80ad6db5e8
Add pyproject.toml with core dependencies
2025-01-29 10:12:45 +00:00
54c87c5ee7
Add versioning strategy and CI/CD pipeline
...
- Add semantic versioning section to development plan
- Map sprint milestones to version tags
- Create Gitea Actions CI workflow (lint, typecheck, test, release)
- Add CHANGELOG.md following Keep a Changelog format
2025-01-23 12:27:02 +00:00
d920fd8c24
Update development plan with vertical slice approach
...
- Reorder sprints for visual-first development
- Dashboard (Sprint 4) now follows Physics Engine (Sprint 3)
- Infrastructure layers (SCPI, TCP, HAL) follow visual demo
- Update project references to py-dvt-ate
2025-01-22 12:14:32 +00:00
a60fb4c2b7
docs: add iterative development plan for Phase 1
...
- Break Phase 1 into 25 sprints with atomic tasks
- Define stub-first approach for manageable complexity
- Specify commit messages for each task
- Include LLM optimisation notes for context management
2025-01-17 13:06:43 +00:00
2ca5144eaf
Initial project setup with documentation
...
- Add project requirements document (01_requirements.md)
- Add technical specification (02_technical_specification.md)
- Add architecture decisions (03_architecture_decisions.md)
- Add README with project overview
- Add .gitignore for Python projects
2025-01-15 10:17:15 +00:00