Skip to content

Commit

Permalink
Merge pull request #640 from MabezDev/eh02-begone
Browse files Browse the repository at this point in the history
Don't recommend supporting eh0.2
  • Loading branch information
Dirbaio authored Nov 19, 2024
2 parents 244abaa + 9cf0629 commit 56a4c6a
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions docs/migrating-from-0.2-to-1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -470,14 +470,15 @@ Here is the full listing of crates:

## Supporting both 0.2 and 1.0 in the same HAL

It is strongly recommended that HAL implementation crates provide implementations for both the `embedded-hal` v0.2 and v1.0 traits.
This allows users to use drivers using either version seamlessly.
It is not recommended to support 0.2 version of the HAL. Many of the traits are not fit for purpose which is already discussed in this document.

If you wish to support both the 0.2 and 1.0 release it is recommended to support embedded-hal version 0.2 behind a feature flag named `embedded-hal-02`.

The way you do it is adding a dependency on both versions in `Cargo.toml` like this:

```toml
[dependencies]
embedded-hal-02 = { package = "embedded-hal", version = "0.2.7", features = ["unproven"] }
embedded-hal-02 = { package = "embedded-hal", version = "0.2.7", features = ["unproven"], optional = true }
embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
```

Expand All @@ -489,6 +490,7 @@ This allows you to refer to the v0.2 traits under the `embedded_hal_02` name, an
struct Input {...}

/// Implement the v0.2 traits on the struct.
#[cfg(feature = "embedded-hal-02")]
impl embedded_hal_02::digital::v2::InputPin for Input {
type Error = Infallible;

Expand Down

0 comments on commit 56a4c6a

Please sign in to comment.