Module atsamd_hal::gpio::v2[][src]

Expand description

Version 2 of the GPIO module

The new API provides two different submodules, pin and dynpin, representing two different ways to handle GPIO pins. The default, pin, is a type-level API that tracks the state of each pin at compile-time. The alternative, dynpin is a type-erased, value-level API that tracks the state of each pin at run-time.

The type-level API is strongly preferred. By representing the state of each pin within the type system, the compiler can detect logic errors at compile-time. Furthermore, the type-level API has absolutely zero run-time cost.

If needed, dynpin can be used to erase the type-level differences between pins. However, by doing so, pins must now be tracked at run-time, and each pin has a non-zero memory footprint.

Re-exports

pub use pin::*;
pub use dynpin::*;

Modules

Type-erased, value-level module for GPIO pins

Type-level module for GPIO pins