Skip to content

Releases: SebGalina/betaflight-claude-skill

v0.8.5 — Guided chirp tuning session via Sweep Studio log ID

Choose a tag to compare

@emileletueur emileletueur released this 18 Jun 14:47

Added

  • Guided chirp tuning session triggered by a Sweep Studio log ID: turn-based analyze → prescribe → fly cycle (baseline / iterate / convergence / sign-off), decision-rules table, per-turn output templates — new references/chirp-session.md and references/chirp_metrics_reference.md, routed from SKILL.md.
  • Connector awareness: SKILL.md states analyze_chirp is served by the Sweep Studio MCP connector, with a local chirp_analysis.py fallback when the connector is absent.

Changed

  • Skill description now triggers on a chirp tuning session (Sweep Studio / FPVLogForge log ID, "analyse log", "résultat chirp") so a bare log ID reliably loads the skill.

Fixed

  • Chirp reference coherence: ms documented as a linear ratio (green < 1.5 / amber 1.5–2 / red > 2) instead of dB; rise_ms red threshold aligned to > 35 ms across the chirp references.

Includes the 0.8.4 core bump (betaflight-chirp-core 0.1.8), never separately tagged.

v0.8.3

Choose a tag to compare

@emileletueur emileletueur released this 16 Jun 04:55
b7f3ddc

Bump bundled betaflight-chirp-core to 0.1.7 (pinned from PyPI).

Core 0.1.6 -> 0.1.7 upgrades the HTML report renderer (public API unchanged, skill wrappers untouched):

  • Interactive legend -> plot highlighting across Bode-gain/phase/coherence/noise-PSD, shared markers
  • Interactive untrusted-zone legend entry on Bode plots
  • Zoom tooltips on gyro noise-PSD curves (nearby peaks + filtering details)
  • Zoom views on the f(Ms) line (gain/sensitivity, local ordinate scales)
  • Multi-pass: bare basenames for .bbl file names; pass-pill clicks keep scroll position

Also includes the 0.8.2 chirp result-presentation docs (prefer Ms over phase margin, downplay composite score).

The runtime skill zip is attached by CI.

v0.8.1 — track betaflight-chirp-core 0.1.6 (PyPI)

Choose a tag to compare

@emileletueur emileletueur released this 12 Jun 08:17
a318c57

Tracks betaflight-chirp-core 0.1.6, now pinned from PyPI (was git+https).

Changed

  • Bump bundled betaflight-chirp-core to 0.1.6, pinned from PyPI (betaflight-chirp-core==0.1.6). Manual runs no longer need git on PATH; the release workflow vendors the package via pip install --target from PyPI.
  • Core 0.1.4→0.1.6 is docs/packaging only — the public API and report renderer are unchanged, so the thin CLI wrappers are untouched.

The runtime-only skill zip is attached automatically by CI.

v0.8.0 — compute core extracted to betaflight-chirp-core

Choose a tag to compare

@emileletueur emileletueur released this 12 Jun 06:36
d93cc7d

Highlights

The skill's compute layer is now the external public package betaflight-chirp-core (pinned v0.1.4) — the single source of truth shared with the FPVLogForge backend. The analysis scripts (analyze_blackbox, chirp_analysis, spectral_analysis, step_response) are now thin CLI wrappers over it.

Behavior is unchanged — outputs verified byte-for-byte against the previous scripts.

Changed

  • Compute core extracted to betaflight-chirp-core (decode, chirp FRF/Bode, step response, spectral noise, self-contained bilingual HTML report). build_skill_zip.py vendors the package into the release zip (sandbox can't pip-install). Bundles core v0.1.4 with the shared, mountable report renderer assets (report_assets/).
  • betaflight-chirp-core @v0.1.4 now declared in requirements.txt / pyproject.toml, so a plain git clone + pip install -r requirements.txt / uv run can run the scripts (installs from git — git must be on PATH).
  • README.md and SKILL.md updated to describe the wrapper-over-core architecture.

Removed

  • blackbox_decoder.py and blackbox_signal.py — now provided by the vendored betaflight_chirp_core.

The runtime-only skill zip is attached automatically by CI once this release is published.

v0.7.0 — Chirp report UI redesign: sanity-check spectrogram, score table, sequence diagram

Choose a tag to compare

@emileletueur emileletueur released this 06 Jun 06:59

Major UI redesign of the self-contained chirp HTML report.

Changed

  • Chirp spectrogram → measurement sanity-check, shown first (before Filtering): it confirms the sweep actually covered the band before anything is read off it, in its own cadre.
  • Per-axis blocks titled PID Roll / Pitch / Yaw — the redundant standalone "PID" section header is gone.
  • Tune note as a bordered table: per-axis detail with indicator-coloured headers and centred white values (label/value separated).
  • Analysis pipeline as a numbered flowchart/sequence diagram (no longer pill chips that mimicked the header tags).
  • Gradient accent liseré (#ff5b2e → #2dd4ff) on every block.
  • Pictograms before every section title; tooltip terms uniformly dotted-underlined.
  • Glossary sorted alphanumerically (in the active language) + a new general "filtering" entry — the filtrage tooltip now explains Betaflight filtering as a whole (why and how), not just the gyro lowpass.
  • Multi-pass overlay hint moved next to each axis' pass pills; removed the redundant pass-pin note and the add-a-pass tip.
  • Refreshed the live example report (scripts/full_report.html) and its screenshot.

The runtime skill zip is attached below (built by CI).

v0.6.1 — Robust throttle-map scale, step 10 ms grid, refreshed example

Choose a tag to compare

@emileletueur emileletueur released this 04 Jun 20:08

v0.6.0 — Config diff tooltip, throttle-map teaching tooltip, rise-time thresholds

Choose a tag to compare

@emileletueur emileletueur released this 04 Jun 19:43

v0.5.0 — Chirp report: tune score, repeatability, evolution & visual identity

Choose a tag to compare

@emileletueur emileletueur released this 04 Jun 17:26

v0.4.0

Choose a tag to compare

@emileletueur emileletueur released this 03 Jun 13:48

Removed

  • gyro_noise.py — its pre/post-filter gyro PSD is reproduced by the chirp_analysis.py HTML report and its peak/harmonic diagnosis overlaps spectral_analysis.py. Not part of the skill workflow.
  • Two unused French reference notes (one orphaned, one only cited from a code comment) — against the English-only references rule.

Added

  • scripts/blackbox_signal.py — shared decode/load/sample-rate/activity helpers for the analysers, plus an in-process .bbl→DataFrame decode (no subprocess, no temp file, no CSV round-trip), with the analyze_blackbox --csv subprocess kept as an isolated fallback.
  • selftest: synthetic-signal smoke for spectral_analysis + step_response, and an in-process-vs-subprocess decode equivalence guard.

Changed

  • Deduplicated the helpers copy-pasted across spectral_analysis, step_response and chirp_analysis (no behaviour change; diverging DSP primitives stay per-script).
  • SKILL.md token diet: trimmed the always-loaded description (~132 → ~105 words, trigger coverage kept) and compressed the inline chirp paragraph into a pointer to references/chirp-tuning.md.
  • Dropped all external-tool brand mentions; diagnosis conventions phrased generically.

v0.3.1 — Report polish

Choose a tag to compare

@emileletueur emileletueur released this 02 Jun 20:36
b200949

UX polish on the chirp tuning report, driven by real multi-pass use.

  • Removed the deterministic per-axis PID lead — PID advice is left to the model; the measured Bode/step diagnosis stays.
  • Overview is tied to the latest pass and, for multi-pass, adds an evolution since pass 1 block (config changes + per-axis phase-margin & overshoot deltas).
  • Multi-pass overlay → a checkbox list to show/hide each pass's curves.
  • Context-aware Initial settings / latest-pass heading.
  • Tuning guide recommends enabling vbat_sag_compensation for comparable passes.
  • Throttle × frequency map gets a colour-scale legend and a how-to-read caption.

Install: download the attached betaflight-claude-skill-v0.3.1.zip (not "Source code") and upload it in Claude → Settings → Capabilities → Skills.