embedded-hal
embedded-hal copied to clipboard
A Hardware Abstraction Layer (HAL) for embedded systems
I found one ugly side effect of the `&mut` blanket impls while experimenting updating stm32f4xx-hal's GPIO. it's making the trait methods take priority over the inherent methods in some cases:...
Dummy `OutputPin`/`InputPin` implementations would be useful for implementing optional I/O pins. A dummy `OutputPin` would simply discard any value written to it, while a dummy `InputPin` would always return a...
This allows an I2C bus to safely be shared between device drivers. Note that it does *not* allow the bus to be shared between threads/interrupts because `RefCell` is not `Sync`...
(From #328) Back in the days, before `core::convert::Infallible` was added, we had `void::Void` to mark `Result`s which cannot ever produce the error variant. With it came the `void::ResultExt` extension trait...
I have just released [`embedded-time`](https://github.com/FluenTech/embedded-time) to handle clocks, instants, durations more easily in embedded contexts. It follows a similar idea to the C++ `std::chrono` library. I'd love to get some...
Is there a hardware agnostic way for a driver to poll an I2C bus and return the information whether or not a NACK was received? This seems possible in the...
Initial attempt. [Rendered](https://github.com/eldruin/embedded-hal/blob/migration-guide-1.0/MIGRATING-0.2-1.0.md) TODO: - [x] inside-out modules - [ ] embedded-hal-compat - [ ] Dedicated use-case help - [ ] Interoperability via implementation of both 0.2.x and 1.0.0 Fixes...
A little while back I was trying to create a UART bitbang library. I took a look at https://crates.io/crates/bitbang-hal however it was incompatible since for nrf51, the Timers usable for...
https://github.com/rust-embedded/embedded-hal/blob/3dcb672bfcff83d8e672ae41cd203a9c6a9c8b4c/src/nb/timer.rs#L69 During moving to `embedded-time` I found `Into` is not implemented for `Kilo/Megahertz`
The normal way of interacting with an Arduino Leonardo has a few interesting features: * The serial output goes over usb and is controlled by the same processor running your...