knurling-rs / probe-run

Run embedded programs just like native ones
Apache License 2.0
645 stars 75 forks source link

chore: Bump defmt-decoder #395

Closed elpiel closed 1 year ago

elpiel commented 1 year ago

Reason: 0.3.5 has been yanked and it's not currently possible to install the latest version of probe-run

Fixes #393

mchodzikiewicz commented 1 year ago

I was preparing a talk on embedded rust and tried to recreate vanilla setup from defmt template as documented and it failed once because of yanked version and when I forced installing it, it failed due to wire protocol version mismatch.

In other words, it can give a very bad time anybody who is willing to try Rust on bare metal targets :slightly_frowning_face:

I can confirm this PR works and resolves that issue, would be super happy if it got merged and released soon.

elpiel commented 1 year ago

@mchodzikiewicz you can clone this patch and install probe-run from it: cargo install --path . I've already tested that it does not give any errors but didn't have hardware at my hand to test if all is good.

mchodzikiewicz commented 1 year ago

Yes, I did that and it works fine - what I mean is that newcomer will likely follow https://github.com/knurling-rs/app-template#readme and it is broken by now.

I tested it with a discovery board and worked as expected.

diondokter commented 1 year ago

Oh nice, just wanted to make this PR myself. Yeah would be good to have this merged and get a new release.

For now you can also install this with:

cargo install probe-run --git https://github.com/knurling-rs/probe-run.git --rev a96eebcd69485f5ab3abe8c541ba658a9442aa4d
gorazdko commented 1 year ago

EDIT: im seeing this issue now already reported separately already in #391.


cargo install probe-run --git https://github.com/knurling-rs/probe-run.git --rev a96eebcd69485f5ab3abe8c541ba658a9442aa4d

doesnt work on my end:

    Finished release [optimized] target(s) in 33.56s
   Replacing /home/gorazd/.cargo/bin/probe-run
    Replaced package `probe-run v0.3.7 (https://github.com/knurling-rs/probe-run.git?rev=a96eebcd69485f5ab3abe8c541ba658a9442aa4d#a96eebcd)` with `probe-run v0.3.7 (https://github.com/knurling-rs/probe-run.git?rev=a96eebcd69485f5ab3abe8c541ba658a9442aa4d#a96eebcd)` (executable `probe-run`)
gorazd@gorazd-Victus-by-HP-Laptop-16-e0xxx:~/Programs/nrf-rust$ cargo run
   Compiling ble-async-demo v0.1.0 (/home/gorazd/Programs/nrf-rust)

warning: `ble-async-demo` (bin "app") generated 1 warning (run `cargo fix --bin "app"` to apply 1 suggestion)
    Finished dev [optimized + debuginfo] target(s) in 2.56s
     Running `probe-run --chip nRF52832_xxAA target/thumbv7em-none-eabihf/debug/app`
(HOST) INFO  flashing program (23 pages / 92.00 KiB)
(HOST) INFO  success!
Error: unable to determine reset handler
gorazd@gorazd-Victus-by-HP-Laptop-16-e0xxx:~/Programs/nrf-rust$ probe-run --version
0.3.7 
supported defmt version: 4
gorazd@gorazd-Victus-by-HP-Laptop-16-e0xxx:~/Programs/nrf-rust$ 

If I go back to 0.3.6 i get 'version' error. Yesterday everything worked fine. Now I cant get it work.

warning: `ble-async-demo` (lib) generated 40 warnings (run `cargo fix --lib -p ble-async-demo` to apply 31 suggestions)
    Finished dev [optimized + debuginfo] target(s) in 2.88s
     Running `probe-run --chip nRF52832_xxAA target/thumbv7em-none-eabihf/debug/app`
Error: defmt wire format version mismatch: firmware is using 4, `probe-run` supports 3
suggestion: `cargo install` a different version of `probe-run` that supports defmt 4
gorazd@gorazd-Victus-by-HP-Laptop-16-e0xxx:~/Programs/nrf-rust$ cargo install --git https://github.com/knurling-rs/probe-run --tag v0.3.6
elpiel commented 1 year ago

@gorazdko the problem you're facing is due to pointing to the wrong Repo.

This fix is implemented in my own fork, so:

cargo install probe-run --git https://github.com/elpiel/probe-run.git --rev a96eebcd69485f5ab3abe8c541ba658a9442aa4d

cc @diondokter you might want to update your comment.

diondokter commented 1 year ago

@gorazdko the problem you're facing is due to pointing to the wrong Repo.

This fix is implemented in my own fork, so:

cargo install probe-run --git https://github.com/elpiel/probe-run.git --rev a96eebcd69485f5ab3abe8c541ba658a9442aa4d

cc @diondokter you might want to update your comment.

You can use the original repo just fine if there's a PR. If I look at his output it seems like the installation went just fine. Something went wrong when using probe-run. Also, I installed my new version of probe-run with my command and it worked.

elpiel commented 1 year ago

You can use the original repo just fine if there's a PR. If I look at his output it seems like the installation went just fine. Something went wrong when using probe-run. Also, I installed my new version of probe-run with my command and it worked.

Good point, I personally didn't know about that.

justahero commented 1 year ago

bors r+

bors[bot] commented 1 year ago

Build succeeded: