teensy4-bsp 0.4.8

Rust-based BSP for the Teensy 4. Part of the teensy4-rs project.
Documentation
[package]
name = "teensy4-bsp"
version = "0.4.8"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = """
Rust-based BSP for the Teensy 4.
Part of the teensy4-rs project.
"""
categories.workspace = true
keywords.workspace = true
autoexamples = false

[workspace.package]
authors = ["Ian McIntyre <ianpmcintyre@gmail.com>"]
edition = "2021"
license = "MIT OR Apache-2.0"
repository = "https://github.com/mciantyre/teensy4-rs"
categories = [
    "embedded",
    "hardware-support",
    "no-std",
]
keywords = [
    "arm",
    "cortex-m",
    "teensy4",
]

[dependencies.cortex-m]
version = "0.7"
features = ["critical-section-single-core"]

[dependencies.teensy4-fcb]
path = "teensy4-fcb"
version = "0.4"

[dependencies.imxrt-ral]
version = "0.5"
features = ["imxrt1062"]

[dependencies.imxrt-hal]
version = "0.5.3"
features = ["imxrt1060"]

[dependencies.imxrt-log]
version = "0.1"
default-features = false
features = ["usbd", "log", "defmt"]

[dependencies.imxrt-rt]
version = "0.1.4"
optional = true
features = ["device"]

[build-dependencies.imxrt-rt]
version = "0.1"
optional = true
features = ["device"]

[dependencies.teensy4-pins]
version = "0.3.1"
path = "teensy4-pins"

[workspace]
members = [
    "teensy4-fcb",
    "teensy4-panic",
    "teensy4-pins",
    "tools",
]

[features]
rt = ["dep:imxrt-rt", "imxrt-ral/rt"]
usb-logging = []

# This is a convenience for building examples.
# When a user builds _all_ of the examples with
# all features, there's likely to be a duplicate
# definition linker error, since both RTIC and the
# BSP define USB_OTG1. The linker can figure out
# which one is actually used when LTO is on.
[profile.dev]
lto = "thin"

# Don't optimize build dependencies, like proc macros.
# Helps with build times.
[profile.release.build-override]
opt-level = 0

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
default-target = "thumbv7em-none-eabihf"

[dev-dependencies.teensy4-panic]
version = "0.2"
path = "teensy4-panic"
features = ["log"]

[dev-dependencies]
defmt = "0.3"
embedded-hal = "0.2"
log = "0.4"
nb = "1"
cortex-m-rtic = "1"

[[example]]
name = "blocking_gpt"
required-features = ["rt"]

[[example]]
name = "blocking_i2c_mpu9250"
required-features = ["rt", "usb-logging"]

[[example]]
name = "blocking_led"
required-features = ["rt"]

[[example]]
name = "blocking_panic_log"
required-features = ["rt", "teensy4-panic/log"]

[[example]]
name = "blocking_panic"
required-features = ["rt"]

[[example]]
name = "blocking_pit"
required-features = ["rt"]

[[example]]
name = "blocking_spi_loopback"
required-features = ["rt", "usb-logging"]

[[example]]
name = "blocking_uart"
required-features = ["rt"]

[[example]]
name = "blocking_usb_log"
required-features = ["rt", "usb-logging"]

[[example]]
name = "rtic_gpt"
required-features = ["rt"]

[[example]]
name = "rtic_pit"
required-features = ["rt"]

[[example]]
name = "rtic_uart"
required-features = ["rt"]

[[example]]
name = "rtic_usb_log"
required-features = ["rt"]