9
9
10
10
This project is developed and maintained by the [ HAL team] ( https://github.com/rust-embedded/wg#the-hal-team ) .
11
11
12
- ** NOTE** This HAL is still in active development. Expect the traits presented here to be
13
- tweaked, split or be replaced wholesale before being stabilized, i.e. before hitting the 1.0.0
14
- release.
15
-
16
- ** NOTE** If you want to use an alpha release of the 1.0.0 version, use an exact version
17
- specifier in your ` Cargo.toml ` like: ` embedded-hal = "=1.0.0-alpha.2" ` .
18
-
19
12
## Companion crates
20
13
21
14
The main ` embedded-hal ` crate contains only blocking traits, where the operation is done
@@ -30,6 +23,14 @@ SPI and I2C buses.
30
23
31
24
Additionally, more domain-specific traits are available in separate crates:
32
25
- [ ` embedded-can ` ] ( https://docs.rs/embedded-can ) : Controller Area Network (CAN)
26
+ - [ ` embedded-io ` ] ( https://docs.rs/embedded-io ) : I/O byte streams (like ` std::io ` , but ` no-std ` -compatible).
27
+
28
+ ## Serial/UART traits
29
+
30
+ There is no serial traits in ` embedded-hal ` . Instead, use [ ` embedded-io ` ] ( https://crates.io/crates/embedded-io ) .
31
+ A serial port is essentially a byte-oriented stream, and that's what ` embedded-io ` models. Sharing the traits
32
+ with all byte streams has some advantages. For example, it allows generic code providing a command-line interface
33
+ or a console to operate either on hardware serial ports or on virtual ones like Telnet or USB CDC-ACM.
33
34
34
35
## Design goals
35
36
@@ -77,13 +78,6 @@ If you are writing a platform-agnostic driver yourself you are highly encouraged
77
78
embedded-hal keyword] ( https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata )
78
79
to your crate before publishing it!
79
80
80
- ## Serial/UART traits
81
-
82
- There is no serial traits in ` embedded-hal ` . Instead, use [ ` embedded-io ` ] ( https://crates.io/crates/embedded-io ) .
83
- A serial port is essentially a byte-oriented stream, and that's what ` embedded-io ` models. Sharing the traits
84
- with all byte streams has some advantages. For example, it allows generic code providing a command-line interface
85
- or a console to operate either on hardware serial ports or on virtual ones like Telnet or USB CDC-ACM.
86
-
87
81
## Optional Cargo features
88
82
89
83
- ** ` defmt-03 ` ** : Derive ` defmt::Format ` from ` defmt ` 0.3 for enums and structs.
0 commit comments