Expand description
§niti-hal
Common HAL (hardware abstraction layer) for Arduino boards.
Note: This version of the documentation was built for Niti V1 board. This means that only items which are available for this board are visible. If you are using a different board, try building the documentation locally with
cargo doc --open
in your project (where niti-hal is included with the feature-flag for your board).
§Usage
For setting up a new project, the avr-hal-template
is the recommended baseline. Applications should be built ontop of the following skeleton:
#![no_std]
#![no_main]
use panic_halt as _;
#[niti_hal::entry]
fn main() -> ! {
let dp = niti_hal::Peripherals::take().unwrap();
let pins = niti_hal::pins!(dp);
loop { }
}For examples, please check the avr-hal examples: https://github.com/cyberkutti-iedc/niti-hal/tree/main/examples
Re-exports§
pub use atmega_hal as hal;pub use atmega_hal::pac;pub use hal::Peripherals;pub use port::Pins;pub use adc::Adc;pub use i2c::I2c;pub use spi::Spi;pub use usart::Usart;pub use eeprom::Eeprom;
Modules§
- Analog to Digital converter.
- MCU core clock support.
- I2C bus controller.
- GPIO & Pin control.
- SPI controller.
Macros§
- Convenience macro to instantiate the
Usartdriver for this board. - Convenience macro to instantiate the
Pinsstruct for this board.
Functions§
- Delay execution for a number of milliseconds.
- Delay execution for a number of microseconds.
Type Aliases§
- Default clock speed for this board.
- Delay type for
embedded-halcompatibility.
Attribute Macros§
- entry
rtAttribute to declare the entry point of the program