Skip to content

v0.3.0: Restructure PID core, interactive drone demo, improved dashboard#20

Merged
darioalessandro merged 4 commits into
mainfrom
claude-code-review
Mar 8, 2026
Merged

v0.3.0: Restructure PID core, interactive drone demo, improved dashboard#20
darioalessandro merged 4 commits into
mainfrom
claude-code-review

Conversation

@darioalessandro

@darioalessandro darioalessandro commented Mar 7, 2026

Copy link
Copy Markdown
Member

Summary

  • PID core rewrite: Split monolithic lib.rs into modules (compute.rs, config.rs, controller.rs, state.rs, enums.rs, error.rs, thread_safe.rs). Pure pid_compute() function, validated ControllerConfig builder, derivative-on-measurement, IIR derivative filter, back-calculation anti-windup, no_std support.
  • Interactive drone demo: Replaced hand-rolled ASCII charts with a ratatui TUI game. Real-time altitude control with missions, wind gusts (W/S), setpoint changes (Up/Down), and live PID gain tuning (1-6). PID term decomposition chart shows P/I/D contributions. Help screen (H) explains controls.
  • Pidgeoneer dashboard: Dark theme, Chart.js with hover tooltips, PID term decomposition, intro section explaining the HVAC simulation.
  • Demo script: Auto-starts Iggy via Docker (pinned to iggyrs/iggy:0.4.203), polls for readiness, proper cleanup.
  • Cleanup: Removed redundant temperature_control and multithreaded_control examples, removed unused rand dependency.

Test plan

  • cargo test — 14 unit tests + 8 doc tests pass
  • cargo fmt --all -- --check
  • cargo clippy -- -D warnings (including examples)
  • cargo build --examples
  • cargo check --no-default-features (no_std)

@darioalessandro darioalessandro changed the title refactor with claude refactor and make examples awesome!! Mar 8, 2026
@darioalessandro darioalessandro changed the title refactor and make examples awesome!! v0.3.0: Restructure PID core, interactive drone demo, improved dashboard Mar 8, 2026
@darioalessandro darioalessandro merged commit a6ac4c6 into main Mar 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant