Repository navigation
Releases: hxyulin/tuning-tools
Release list
Tuning Studio 0.1.2
Tuning Studio 0.1.2
studio-server --webserves the shared UI locally and opens the browser.--elfand--chipstart an attach session without resetting or halting the target.--resetexplicitly resets before serving;--flashverifies 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 binstallinstalls 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
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_storageand the new
Status::SaveUnsupportedresponse. 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 --lockedNative 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.
Tuning Studio 0.1.0
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_stdfirmware 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 --lockedNative 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.