Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

feat: probe-rs: added speed configuration option#722

Merged
mangelajo merged 1 commit intojumpstarter-dev:mainfrom
whati001:feat/probe_rs_speed
Oct 27, 2025
Merged

feat: probe-rs: added speed configuration option#722
mangelajo merged 1 commit intojumpstarter-dev:mainfrom
whati001:feat/probe_rs_speed

Conversation

@whati001
Copy link
Copy Markdown
Contributor

@whati001 whati001 commented Oct 27, 2025

Add speed property to probe-rs driver.

Summary by CodeRabbit

  • New Features

    • Added a configurable speed parameter for the probe-rs driver, allowing users to specify probe speed in kilohertz (kHz).
  • Documentation

    • Updated driver docs and example configuration to include the new speed setting with usage details and examples.

@netlify
Copy link
Copy Markdown

netlify Bot commented Oct 27, 2025

Deploy Preview for jumpstarter-docs ready!

Name Link
🔨 Latest commit b5702fa
🔍 Latest deploy log https://app.netlify.com/projects/jumpstarter-docs/deploys/68ff8852748042000833c8d6
😎 Deploy Preview https://deploy-preview-722--jumpstarter-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 27, 2025

Walkthrough

Added an optional numeric speed (kHz) setting to the probe-rs driver: documentation and example config updated, ProbeRs dataclass gained a speed field, and env_from_cfg now exports PROBE_RS_SPEED when set.

Changes

Cohort / File(s) Summary
Documentation
packages/jumpstarter-driver-probe-rs/README.md
Documented new speed (kHz) parameter and added example YAML showing speed: 4000.
Example configuration
packages/jumpstarter-driver-probe-rs/examples/exporter.yaml
Added speed: 4000 under the probe_rs configuration block.
Driver implementation
packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py
Added speed: int | None = None to ProbeRs dataclass and updated env_from_cfg to set PROBE_RS_SPEED when speed is provided.

Sequence Diagram(s)

sequenceDiagram
    participant Config as Config (YAML)
    participant Driver as ProbeRs
    participant Env as Environment

    Note over Config,Driver: New optional field: speed (kHz)

    Config->>Driver: parse probe_rs block (includes speed?)
    alt speed present
        Driver->>Env: set PROBE_RS_SPEED = "<speed>"
    else no speed
        Driver-->>Env: no PROBE_RS_SPEED set
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Small, cohesive change across three files with low logic density.

Areas requiring attention:

  • Confirm int | None annotation is compatible with project Python version and linters.
  • Verify PROBE_RS_SPEED format (units and string conversion) matches consumer expectations.
  • Check example YAML indentation and keys for correctness.

Poem

🐇 I nudged a number, quick and keen,
Four thousand whispers in a stream,
Probe-rs hums a brighter tune,
Speed set snug beneath the moon,
Hop, test, and flash — the board's a dream.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "feat: probe-rs: added speed configuration option" directly and accurately summarizes the main change in the changeset. The title clearly indicates that a speed configuration option has been added to the probe-rs driver, which is exactly what the changes demonstrate: a new speed parameter has been added to documentation, configuration examples, and the driver's dataclass with corresponding environment variable export logic. The title is specific, concise, and clearly communicates the primary change without vague terminology or noise.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 874e354 and b5702fa.

📒 Files selected for processing (3)
  • packages/jumpstarter-driver-probe-rs/README.md (2 hunks)
  • packages/jumpstarter-driver-probe-rs/examples/exporter.yaml (1 hunks)
  • packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/jumpstarter-driver-probe-rs/README.md
  • packages/jumpstarter-driver-probe-rs/examples/exporter.yaml
  • packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: Redirect rules - jumpstarter-docs
  • GitHub Check: Header rules - jumpstarter-docs
  • GitHub Check: pytest-matrix (macos-15, 3.12)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.11)
  • GitHub Check: e2e
  • GitHub Check: pytest-matrix (macos-15, 3.13)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.12)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.13)
  • GitHub Check: pytest-matrix (macos-15, 3.11)
  • GitHub Check: build
  • GitHub Check: check-warnings
  • GitHub Check: Pages changed - jumpstarter-docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py (1)

20-20: LGTM!

The field declaration follows the established pattern for optional configuration parameters.

Consider adding validation to ensure speed is positive if set, though this would be consistent with how other fields are currently handled:

def __post_init__(self):
    if hasattr(super(), "__post_init__"):
        super().__post_init__()
    if self.speed is not None and self.speed <= 0:
        raise ValueError("speed must be positive")
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 31d0d8f and 874e354.

📒 Files selected for processing (3)
  • packages/jumpstarter-driver-probe-rs/README.md (2 hunks)
  • packages/jumpstarter-driver-probe-rs/examples/exporter.yaml (1 hunks)
  • packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py (2 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
packages/jumpstarter-driver-probe-rs/README.md

39-39: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
  • GitHub Check: Redirect rules - jumpstarter-docs
  • GitHub Check: Header rules - jumpstarter-docs
  • GitHub Check: Pages changed - jumpstarter-docs
  • GitHub Check: build
  • GitHub Check: e2e
  • GitHub Check: pytest-matrix (macos-15, 3.11)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.13)
  • GitHub Check: pytest-matrix (macos-15, 3.12)
  • GitHub Check: pytest-matrix (macos-15, 3.13)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.12)
  • GitHub Check: pytest-matrix (ubuntu-24.04, 3.11)
🔇 Additional comments (3)
packages/jumpstarter-driver-probe-rs/examples/exporter.yaml (1)

14-14: LGTM!

The speed configuration example is appropriate. The value of 4000 kHz (4 MHz) is a reasonable default for SWD/JTAG communication.

packages/jumpstarter-driver-probe-rs/jumpstarter_driver_probe_rs/driver.py (1)

87-88: LGTM!

The environment variable export follows the same pattern as the other configuration parameters and correctly converts the integer value to a string.

packages/jumpstarter-driver-probe-rs/README.md (1)

27-27: LGTM!

The example configuration clearly demonstrates the new speed parameter with an appropriate value.

Comment thread packages/jumpstarter-driver-probe-rs/README.md
Signed-off-by: Andreas Karner <andreaskarner@outlook.com>
@whati001 whati001 force-pushed the feat/probe_rs_speed branch from 874e354 to b5702fa Compare October 27, 2025 14:57
@mangelajo
Copy link
Copy Markdown
Member

@mangelajo
Copy link
Copy Markdown
Member

Thank you so much for the contribution @whati001 !

@mangelajo mangelajo merged commit ca77ec1 into jumpstarter-dev:main Oct 27, 2025
18 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants