LinuxCNC HAL interface for Rust
A safe, high-level interface to LinuxCNC's HAL (Hardware Abstraction Layer) module.
For lower level, unsafe use, see the linuxcnc-hal-sys
crate.
Please consider becoming a sponsor so I may continue to maintain this crate in my spare time!
Documentation
Example
More examples can be found in the examples/
folder.
use ;
use ;
Development
Setup
bindgen
must be set up correctly for linuxcnc-hal-sys
to work correctly. Follow the requirements section of its docs.
To run and debug any HAL components, the LinuxCNC simulator can be set up. There's a guide here for Linux Mint (and other Debian derivatives).
Build
You can also run ./build.sh
to run all the commands that would normally be run in CI.
Test
Build docs
The docs make heavy use of intra-rustdoc-links. To get the links to render correctly, run with nightly:
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.