Skip to content

Releases: hxyulin/tuning-tools

Tuning Studio 0.1.2

Choose a tag to compare

@github-actions github-actions released this 21 Oct 17:56
312b58a

Tuning Studio 0.1.2

  • studio-server --web serves the shared UI locally and opens the browser.
  • --elf and --chip start an attach session without resetting or halting the target.
  • --reset explicitly resets before serving; --flash verifies the ELF download and resets.
  • Per-launch credentials, exact browser-origin checks and one active browser session protect
    access to local hardware. Closing the tab releases its session and recording.
  • Release assets include standalone server archives and SHA-256 checksums for all four hosts.
  • Release archives are zstd tarballs (.tar.zst); cargo binstall installs both executables.

Hardware flash/reset behavior still requires bench verification. The mock HTTP/WebSocket
integration test checks assets, authentication, ELF loading and session reconnection.

Tuning Studio 0.1.1

Choose a tag to compare

@hxyulin hxyulin released this 22 Sep 10:08
c0fa2d7

Tuning Studio 0.1.1

This patch release adds tuning sliders, typed Live Watch entries, clearer save
feedback and integrated Damiao CAN capture to the desktop app and VS Code extension.

Highlights

  • Adjust bounded numeric tunables with sliders or precise numeric input. Drag
    updates are coalesced, only one write is in flight, and release sends the final
    position. Firmware application limits remain independent of slider resolution.
  • Live Watch recognizes registered tuning descriptors, displaying names, types
    and units instead of raw storage bits. Select an entry to edit it; Watch plots
    the applied value. Raw descriptors remain available for low-level inspection.
  • Volatile firmware can use Server::without_storage and the new
    Status::SaveUnsupported response. Studio then disables Save for that connection.
    Legacy storage errors accurately report unavailable storage or write failure;
    neither failure rolls back live tuning changes.
  • Capture, filter, record and transmit Damiao CAN frames in a separate panel.
    The vendor SDK runs in an isolated worker. Release packages do not bundle the
    vendor SDK; provide an appropriate native library as described in the
    CAN guide.

Compatibility and upgrading

The v1 tuning table, wire framing and trace format remain compatible. Existing
0.1.0 firmware works with these sliders and typed readouts. Explicit unsupported
save handling requires rebuilding firmware against API 0.1.1 and selecting
Server::without_storage; an older image returning Storage cannot identify why
persistence is unavailable. Server::new keeps its deferred-save behavior.

Desktop installers and VSIX packages are available in this GitHub release.
Marketplace and crates.io publication are separate steps; registry commands
below require the corresponding registry publication. No new hardware bench
validation is claimed.

Install

Download the installer for your platform:

Platform Download
macOS Apple Silicon DMG
macOS Intel DMG
Windows x86-64 Installer
Linux x86-64 Debian package · AppImage

Or install with Cargo:

cargo binstall tuning-studio --version 0.1.1
# Or compile the published source, including its prebuilt frontend:
cargo install tuning-studio --version 0.1.1 --locked

Native installers and binstall archives are provided for Linux x86-64, Windows
x86-64, macOS Apple Silicon and macOS Intel. Each binstall archive has a SHA-256
checksum alongside it. The executable is tuning-studio.

Source builds need Rust and the platform prerequisites.
Linux also needs libudev development headers for probe access. Binary installs
still need WebKitGTK 4.1 on Linux or WebView2 on Windows; macOS uses system WebKit.
The native bundles are unsigned and macOS bundles are not notarized.

VS Code extension

Download the VSIX for your platform, then select Extensions → … → Install from VSIX… in VS Code. Each package includes its native server; Rust and Node are not required.

Platform Extension package
macOS Apple Silicon VSIX
macOS Intel VSIX
Windows x86-64 VSIX
Linux x86-64 VSIX

Install directly from VS Code Marketplace
with code --install-extension hxyulin.tuning-studio. Marketplace installs receive automatic updates.

Firmware and library packages

tuning-studio-api contains allocation-free descriptors, the shared frame codec,
a firmware server and the saved-value format. tuning-studio-trace contains the
optional RAM event recorder. Existing rm-telemetry v1 descriptors/protocol and
the v1 trace format remain compatible.

Supporting packages are tuning-studio-dwarf, tuning-studio-carriers,
tuning-studio-core, tuning-studio-app and tuning-studio-server. The server
executable remains studio-server. Use matching versions for host libraries
and editor integration; their 0.1 APIs are still evolving.

Known limits

  • Live Watch and task views use SWD. USB exposes the firmware's declared table.
  • Inspection reads a running target, so values and pointers are not atomic
    snapshots. Optimized-away fields cannot be inspected. Pointer-derived values
    cannot yet be plotted; plots use floating-point numeric representations.
  • Task timelines need firmware instrumentation and a suitable memory/clock setup.
    The bounded ring may overwrite events before they are read; detected gaps are
    reported, and incomplete polls are discarded. Interrupt preemption is included
    in poll duration. This is not a loss-free profiler.
  • Actual sample rates depend on hardware and host load. Saved tuning requires a
    firmware storage adapter. Protocol access checks do not restrict arbitrary
    debugger memory writes.
  • The VS Code extension is distributed as platform-specific VSIX packages;
    Marketplace installation is also available. Native desktop installers are unsigned.

Getting started ·
Firmware API ·
User guide

Tuning Studio 0.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 04:56
dbcb728

Tuning Studio 0.1.0

The first public release of Tuning Studio: live embedded inspection, tuning,
telemetry and Embassy task timing in a desktop app, with a shared VS Code backend.

Highlights

  • Inspect C, C++ and Rust variables from firmware ELF/DWARF information while the
    target runs. Expand structs, arrays, enums, slices and pointer chains; preserve
    exact integer text and save pinned watch groups.
  • Plot numeric fields, record samples to MCAP, export CSV and consume a live TCP
    stream. View defmt firmware logs through RTT.
  • Expose named parameters and telemetry with the new no_std firmware API.
    Use SWD descriptors or a firmware byte-link server over USB serial/RTT.
  • Inspect Embassy task states and locals. Optional trace instrumentation adds
    completed poll durations, wake latency and a navigable execution timeline.
  • Use the shared backend in the desktop app or the source-built VS Code extension.

Install

Download the installer for your platform:

Platform Download
macOS Apple Silicon DMG
macOS Intel DMG
Windows x86-64 Installer
Linux x86-64 Debian package · AppImage

Or install with Cargo:

cargo binstall tuning-studio --version 0.1.0
# Or compile the published source, including its prebuilt frontend:
cargo install tuning-studio --version 0.1.0 --locked

Native installers and binstall archives are provided for Linux x86-64, Windows
x86-64, macOS Apple Silicon and macOS Intel. Each binstall archive has a SHA-256
checksum alongside it. The executable is tuning-studio.

Source builds need Rust and the platform prerequisites.
Linux also needs libudev development headers for probe access. Binary installs
still need WebKitGTK 4.1 on Linux or WebView2 on Windows; macOS uses system WebKit.
The initial native bundles are unsigned and macOS bundles are not notarized.

VS Code extension

Download the VSIX for your platform, then select Extensions → … → Install from VSIX… in VS Code. Each package includes its native server; Rust and Node are not required.

Platform Extension package
macOS Apple Silicon VSIX
macOS Intel VSIX
Windows x86-64 VSIX
Linux x86-64 VSIX

Marketplace publication is pending. Install a newer release's VSIX to update.

Firmware and library packages

tuning-studio-api contains allocation-free descriptors, the shared frame codec,
a firmware server and the saved-value format. tuning-studio-trace contains the
optional RAM event recorder. Existing rm-telemetry v1 descriptors/protocol and
the v1 trace format remain compatible.

Supporting packages are tuning-studio-dwarf, tuning-studio-carriers,
tuning-studio-core, tuning-studio-app and tuning-studio-server. The server
executable remains studio-server. Use matching versions for host libraries
and editor integration; their 0.1 APIs are still evolving.

Known limits

  • Live Watch and task views use SWD. USB exposes the firmware's declared table.
  • Inspection reads a running target, so values and pointers are not atomic
    snapshots. Optimized-away fields cannot be inspected. Pointer-derived values
    cannot yet be plotted; plots use floating-point numeric representations.
  • Task timelines need firmware instrumentation and a suitable memory/clock setup.
    The bounded ring may overwrite events before they are read; detected gaps are
    reported, and incomplete polls are discarded. Interrupt preemption is included
    in poll duration. This is not a loss-free profiler.
  • Actual sample rates depend on hardware and host load. Saved tuning requires a
    firmware storage adapter. Protocol access checks do not restrict arbitrary
    debugger memory writes.
  • The VS Code extension is distributed as platform-specific VSIX packages;
    Marketplace publication is pending. Native desktop installers are unsigned.

Getting started ·
Firmware API ·
User guide