lpc546xx-hal 0.2.0

Peripheral access API for LPC546xx series microcontrollers
Documentation
[package]
edition = "2021"
authors = ["Alexis Marquet <alexis@alexismarquet.com>"]
name = "lpc546xx-hal"
categories = ["embedded", "hardware-support", "no-std"]
description = "Peripheral access API for LPC546xx series microcontrollers"
documentation = "https://docs.rs/crate/lpc546xx-hal"

keywords = ["arm", "cortex-m", "lpc546xx", "hal"]
license = "0BSD"
readme = "README.md"
repository = "https://github.com/lpc-rs/lpc546xx-hal"
version = "0.2.0"


[package.metadata.docs.rs]
features = ["mcu-LPC54628J512ET180", "rt"]
targets = ["thumbv7em-none-eabihf"]

[workspace]
members = ["self-tests"]

[dependencies]
cortex-m = "0.7.0"
cortex-m-rt = "0.7.0"
embedded-hal = {version = "0.2.6", features = ["unproven"]}
embedded-time = "0.12.1"
nb = "1.0.0"
lpc546xx-pac = "0.2.0"
void = { version = "1.0.2", default-features = false }
lpc-usbd = "0.1.0"
usb-device = "0.2.8"
usbd-serial = "0.1.1"

[dependencies.num]
version = "0.4"
default-features = false

[dev-dependencies]
defmt = "0.3.0"
defmt-rtt = "0.3.1"
defmt-test = "0.3.0"

[dev-dependencies.panic-probe]
version = "0.3.0"
features = ["print-defmt"]

[features]

rt = ["lpc546xx-pac/rt"]
disable-linker-script = []
disable-pre-init-blob = []



# Features based on Flash size (in kbytes)
flash-256 = []
flash-512 = []

# Features based on RAM size (in kbytes)
ram-136 = []
ram-200 = []

# Physical packages
io-100 = []
io-180 = []
io-208 = []

# Subfamily
lpc54605 = ["lpc546xx-pac/lpc54605"]
lpc54606 = ["lpc546xx-pac/lpc54606"]
lpc54607 = ["lpc546xx-pac/lpc54607"]
lpc54608 = ["lpc546xx-pac/lpc54608"]
lpc54616 = ["lpc546xx-pac/lpc54616"]
lpc54618 = ["lpc546xx-pac/lpc54618"]
lpc54628 = ["lpc546xx-pac/lpc54628"]

# available # of FLEXCOMM 
flexcomm-9 = []
flexcomm-10 = []

mcu-LPC54605J512ET100 = ["lpc54605","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54605J256ET100 = ["lpc54605","flash-256", "ram-136","io-100", "flexcomm-9"]
mcu-LPC54605J512BD100 = ["lpc54605","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54605J256BD100 = ["lpc54605","flash-256", "ram-136","io-100", "flexcomm-9"]
mcu-LPC54605J512ET180 = ["lpc54605","flash-512", "ram-200","io-180", "flexcomm-10"]
mcu-LPC54605J256ET180 = ["lpc54605","flash-256", "ram-136","io-180", "flexcomm-10"]

mcu-LPC54606J512BD100 = ["lpc54606","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54606J256BD100 = ["lpc54606","flash-256", "ram-136","io-100", "flexcomm-9"]
mcu-LPC54606J512ET100 = ["lpc54606","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54606J256ET100 = ["lpc54606","flash-256", "ram-136","io-100", "flexcomm-9"]
mcu-LPC54606J512BD208 = ["lpc54606","flash-512", "ram-200","io-208", "flexcomm-10"]
mcu-LPC54606J256ET180 = ["lpc54606","flash-256", "ram-136","io-180", "flexcomm-10"]

mcu-LPC54607J256BD208 = ["lpc54607","flash-256", "ram-136","io-208", "flexcomm-10"]
mcu-LPC54607J512ET180 = ["lpc54607","flash-512", "ram-200","io-180", "flexcomm-10"]
mcu-LPC54607J256ET180 = ["lpc54607","flash-256", "ram-136","io-180", "flexcomm-10"]

mcu-LPC54608J512BD208 = ["lpc54608","flash-512", "ram-200","io-208", "flexcomm-10"]
mcu-LPC54608J512ET180 = ["lpc54608","flash-512", "ram-200","io-180", "flexcomm-10"] # <- LPCXpresso54608

mcu-LPC54616J512BD100 = ["lpc54616","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54616J512ET100 = ["lpc54616","flash-512", "ram-200","io-100", "flexcomm-9"]
mcu-LPC54616J512BD208 = ["lpc54616","flash-512", "ram-200","io-208", "flexcomm-10"]
mcu-LPC54616J256ET180 = ["lpc54616","flash-256", "ram-136","io-180", "flexcomm-10"]

mcu-LPC54618J512BD208 = ["lpc54618","flash-512", "ram-200","io-208", "flexcomm-10"]
mcu-LPC54618J512ET180 = ["lpc54618","flash-512", "ram-200","io-180", "flexcomm-10"]

mcu-LPC54628J512ET180 = ["lpc54628","flash-512", "ram-200","io-180", "flexcomm-10"]


[profile.release]
codegen-units = 1
debug = 2
debug-assertions = false 
incremental = false
lto = 'fat'
opt-level = "s" 
overflow-checks = false 

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