linux-embedded-hal
linux-embedded-hal copied to clipboard
Implementation of the `embedded-hal` traits for Linux devices
According to I2c trait transaction contract is as follows: ``` Transaction contract: - Before executing the first operation an ST is sent automatically. This is followed by SAD+R/W as appropriate....
I think it would be great to add implementations for the new embedded-hal CAN traits via [socketcan](https://www.kernel.org/doc/html/latest/networking/can.html). Would you be open for a PR for this?
We have merged #71 which did the heavy-lifting for updating this to `embedded-hal` 1.0.0-alpha.6. However, currently we are missing the extraction of information from the underlying `nix`/`io` errors in the...
When I use the below configuration and cross compile to ARMv7 I get the following error message on the BeagleBone: ```sh debian@beaglebone:~$ ./test -bash: ./test: No such file or directory...
Currently trying to build with gpio-cdev feature flag like ```linux-embedded-hal = { version ="0.3.0", features = ["gpio_cdev"] }``` Gives the error ``` error: failed to select a version for `linux-embedded-hal`....
Is this crate as simple as using [`rust_gpiozero`](https://github.com/rahul-thakoor/rust_gpiozero) crate? For example if I want to print out `hello world` and turn on and off the lights, is the code as...
The `embedded_hal::serial::Read` trait defines its `read` method with a `nb::Result`. This suggests `Read::read` being nonblocking. But, `linux_embedded_hal::Serial` implements this trait by calling `serial_unix::TTYPort::read` which internally uses `ppoll`. By default, the...
Greetings. I was kind of having a hard time getting the grasp of trying to use the digital GPIO pin. I worked it out in the end anyway, but I...
Currently the pins always implement both `InputPin` and `OutputPin` even thought the pin might not be in the correct mode, and presumably trying to use it in the wrong mode...
I believe `thread::sleep` cannot provide microsecond precision on linux. Failing example: ```rust extern crate embedded_hal; extern crate linux_embedded_hal as hal; use embedded_hal::blocking::delay::DelayUs; fn main() { let us = 10u8; let...