4 releases (2 breaking)
0.3.1 | Feb 9, 2023 |
---|---|
0.3.0 | Jan 6, 2023 |
0.2.0 | Dec 29, 2021 |
0.1.0 | Oct 16, 2020 |
#5 in #teensy-4
320 downloads per month
Used in 6 crates
(via teensy4-bsp)
46KB
570 lines
teensy4-pins
Hardware pins for the Teensy 4.0 and 4.1 boards
teensy4-pins
is designed to the imxrt-iomuxc
crate. The pins API constrains
the processor pads to the ones that are available on the Teensy 4.0 and 4.1. It also
exposes type aliases that simplify pin identification in the type system.
Note that this pin API is optional. You are free to configure the pins using the
pad identifiers, instead of the physical pin identifiers. Pads are available directly
from the imxrt-iomuxc
crate.
See the API documentation for more information.
License: MIT OR Apache-2.0
lib.rs
:
Hardware pins for the Teensy 4.0, 4.1 and MicroMod boards
teensy4-pins
is designed to the imxrt-iomuxc
crate. The pins API constrains
the processor pads to the ones that are available on the Teensy 4.0, 4.1 and MicroMod. It also
exposes type aliases that simplify pin identification in the type system.
Note that this pin API is optional. You are free to configure the pins using the
pad identifiers, instead of the physical pin identifiers. Pads are available directly
from the imxrt-iomuxc
crate.
Teensy 4.0
To acquire Teensy 4.0 pins, call t40::from_pads
and provide all
of the processor pads:
use teensy4_pins::t40;
let pads = // Handle to all processor pads
# unsafe { Pads::new() };
let pins = t40::from_pads(pads);
Teensy 4.1
The approach is the same as the Teensy 4.0, replacing t40
with t41
:
use teensy4_pins::t41;
let pads = // Handle to all processor pads
# unsafe { Pads::new() };
let pins = t41::from_pads(pads);
Teensy MicroMod
The approach is the same as the Teensy 4.0, replacing t40
with tmm
:
use teensy4_pins::tmm;
let pads = // Handle to all processor pads
# unsafe { Pads::new() };
let pins = tmm::from_pads(pads);
Safety
The safe APIs expect to work on the only instance of the processor pads. If you don't have that
available, or you need more flexibility, use the unsafe t40::Pin::new
,
t41::Pins::new
, or tmm::Pins::new
constructor methods
to create an instance that may be aliasing another handle to the pads or pins.
Dependencies
~415KB