Hardware Abstraction Layer (HAL) for NXP LPC82x microcontrollers, written in the Rust programming language. LPC82x HAL provides a high-level interface to the features of LPC82x MCUs, that is safe, convenient, and efficient.
LPC82x HAL leverages Rust's type system to prevent common mistakes. Things like attempting to use a peripheral that has not been properly initialized, or attempting to assign conflicting functions to the same pin, will all result in compile-time errors.
LPC82x HAL is still under heavy development. It is lacking APIs for many peripherals, and the APIs that already exist are mostly incomplete.
Do you need a feature that is currently missing? Please open an issue!
The existing APIs are expected to evolve significantly in the future. API stability is not guaranteed, which means future versions might not be compatible with code using the current version.
This crate currently requires a nightly version of the Rust toolchain. If you installed Rust via rustup, you can switch to the nightly version with
rustup default nightly.
Are you familiar with the LPC82x family? We need your help, even if you are not using LPC82x HAL. Some design issues require feedback from people familiar with the hardware and how it is used. Check out the help wanted tag on the issue tracker.
To include LPC82x HAL in you project, add the following to your
[dependencies] lpc82x-hal = "0.3"
If you want to use LPC82x HAL in an application (as opposed to a library), there are additional things that need to be set up. Please refer to the API Reference for details.
The authoritative source on the LPC82x family is the LPC82x User Manual.
This project is open source software, licensed under the terms of the Zero Clause BSD License (0BSD, for short). This basically means you can do anything with the software, without any restrictions, but you can't hold the authors liable for problems.
See LICENSE for full details.
Supported by Braun Robotics