Skip to content

Conversation

@stargazing-dino
Copy link
Contributor

Updates the library to the most current 0.2.x version of embedded hal. Also fixed these deprecations and warnings after the update:

Warnings
➜ cargo check
warning: use of deprecated trait `hal::digital::OutputPin`: Deprecated because the methods cannot return errors. Users should use the traits in digital::v2.
  --> src/lib.rs:70:19
   |
70 | use hal::digital::OutputPin;
   |                   ^^^^^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated trait `hal::digital::OutputPin`: Deprecated because the methods cannot return errors. Users should use the traits in digital::v2.
   --> src/lib.rs:291:9
    |
291 |     CS: OutputPin,
    |         ^^^^^^^^^

warning: use of deprecated method `hal::digital::OutputPin::set_high`: Deprecated because the methods cannot return errors. Users should use the traits in digital::v2.
   --> src/lib.rs:298:15
    |
298 |             x.set_high();
    |               ^^^^^^^^

warning: use of deprecated method `hal::digital::OutputPin::set_low`: Deprecated because the methods cannot return errors. Users should use the traits in digital::v2.
   --> src/lib.rs:332:15
    |
332 |             x.set_low();
    |               ^^^^^^^

warning: use of deprecated method `hal::digital::OutputPin::set_high`: Deprecated because the methods cannot return errors. Users should use the traits in digital::v2.
   --> src/lib.rs:338:15
    |
338 |             x.set_high();
    |               ^^^^^^^^

warning: `pscontroller-rs` (lib) generated 5 warnings
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s


[dependencies]
embedded-hal = "=0.2.2"
embedded-hal = "0.2.7"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

My plan here is to eventually have embedded-hal-02 and embedded-hal-1 and support both traits from this library

Copy link
Owner

Choose a reason for hiding this comment

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

I think it's fine to just support whatever is newest. Nothing is dependent. Is there going to be added complexity supporting both?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It'd make it much easier for me to support just v1. Supporting both is possible (it's even done in the embassy-rs crate itself) but it's a hassle for sure. I think I'd end up adding feature flags to support both.

I only intend to use v1 but I'll leave this up to you

Copy link
Owner

Choose a reason for hiding this comment

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

Ah, just keep it at v1 and we'll cross that bridge when we get there.

I'm a little concerned this bump will break the Embedded Linux HAL as all of the examples target the Raspberry Pi
c901cc6

Do you know if this breaks anything there? Could you go and add cargo check to the CI process and then rebase this on top of that? At least then I don't have to question if this stuff compiles.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

v1 should be fine as linux-embedded-hal's newest version is 0.4.0 and it looks like they target v1 as well.

@RandomInsano Do you mind merging #24 and I can rebase this PR on it? That PR has a check to ensure that I don't regress linux builds

@RandomInsano
Copy link
Owner

Absolutely! Just a one line fix needed over there and I'll merge it in. I'll try and keep my e-mail open to catch when that happens :)

@RandomInsano RandomInsano merged commit b781363 into RandomInsano:master Jul 17, 2025
2 checks passed
@RandomInsano
Copy link
Owner

Thanks for all the work getting things up to date here!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants