psoc 0.1.2

Rust drivers and hardware abstraction layer for Infineon PSOC microcontrollers
Documentation
[workspace]
resolver = "3"
members = ["drivers", "pacs/*", "utils"]
exclude = ["examples", "macros", "devices"]

[package]
name = "psoc"
version = "0.1.2"
edition = "2024"
description =  "Rust drivers and hardware abstraction layer for Infineon PSOC microcontrollers"
readme = "README.md"
repository = "https://github.com/Infineon/psoc-rs"
license = "Apache-2.0"
categories = ["embedded"]
keywords = ["embedded", "embedded-hal", "infineon", "psoc"]

[package.metadata.docs.rs]
features = ["device-psc3m5fds2afq1", "fault-handler", "defmt", "embassy-time"]
targets = ["thumbv8m.main-none-eabihf"]

[dependencies]
cortex-m = { version = "0.7", features = ["critical-section-single-core", "inline-asm"] }
cortex-m-rt = { version = "0.7", features = ["set-vtor"] }
critical-section = "1.2.0"
defmt = { version = "1.0.1", optional = true }
embedded-hal-async = "1.0.0"
portable-atomic = { version = "1.13.1", default-features = false, features = ["critical-section", "require-cas"] }
psoc-drivers = { version = "0.1.0", path = "drivers" }
psoc-macros = { version = "0.1.0", path = "macros" }

[build-dependencies]
psoc-devices = { version = "0.1.0", path = "devices" }

[profile.release]
opt-level = "s"

[features]
default = ["defmt"]

boot-image = []
fault-handler = ["psoc-drivers/fault-handler", "defmt"]

defmt = ["dep:defmt", "psoc-drivers/defmt"]
embassy-time = ["psoc-drivers/embassy-time"]

core-cm0        = ["psoc-drivers/core-cm0"]
core-cm4        = ["psoc-drivers/core-cm4"]
core-cm33_s     = ["psoc-drivers/core-cm33_s"]
core-cm33_ns    = ["psoc-drivers/core-cm33_ns"]

device-cy8c6016bzi-f04        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6036bzi-f04        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6116bzi-f54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6117bzi-f34        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6117fdi-f02        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6117wi-f34         = ["psoc-drivers/die-psoc6_01"]
device-cy8c6136bzi-f14        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6136bzi-f34        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6136fdi-f42        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6136fti-f42        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6137bzi-f14        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6137bzi-f34        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6137bzi-f54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6137fdi-f02        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6137wi-f54         = ["psoc-drivers/die-psoc6_01"]
device-cy8c6146bti-f54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6147bti-f54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6246bti-d54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6246bzi-d04        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bfi-d54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bti-d54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bzi-aud54      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bzi-d34        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bzi-d44        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247bzi-d54        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247fdi-d02        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247fdi-d32        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247fdi-d52        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247fti-d52        = ["psoc-drivers/die-psoc6_01"]
device-cy8c6247wi-d54         = ["psoc-drivers/die-psoc6_01"]
device-cy8c6316bzi-blf03      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6316bzi-blf04      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6316bzi-blf53      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6316bzi-blf54      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336bzi-bld13      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336bzi-bld14      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336bzi-blf03      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336bzi-blf04      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336lqi-blf02      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6336lqi-blf42      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6337bzi-blf13      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld33      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld34      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld43      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld44      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld53      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347bzi-bld54      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bld13      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bld33      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bld43      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bld53      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bud13      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bud33      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bud43      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347fmi-bud53      = ["psoc-drivers/die-psoc6_01"]
device-cy8c6347lqi-bld52      = ["psoc-drivers/die-psoc6_01"]
device-cy8c68237bz-ble        = ["psoc-drivers/die-psoc6_01"]
device-cy8c68237fm-ble        = ["psoc-drivers/die-psoc6_01"]
device-cyb06447bzi-bld53      = ["psoc-drivers/die-psoc6_01"]
device-cyb06447bzi-bld54      = ["psoc-drivers/die-psoc6_01"]
device-cyb06447bzi-d54        = ["psoc-drivers/die-psoc6_01"]
device-cyble-416045-02-device = ["psoc-drivers/die-psoc6_01"]

device-cy8c6148azi-s2f44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6148bzi-s2f44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6148fni-s2f43   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6148lqi-s2f02   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6148lqi-s2f42   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614aazi-s2f04   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614aazi-s2f14   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614aazi-s2f44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614abzi-s2f04   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614abzi-s2f44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614afni-s2f03   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614afni-s2f43   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614alqi-s2f02   = ["psoc-drivers/die-psoc6_02"]
device-cy8c614alqi-s2f42   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248azi-s2d14   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248azi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248bzi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248fni-s2d43   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248lqi-s2d02   = ["psoc-drivers/die-psoc6_02"]
device-cy8c6248lqi-s2d42   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624aazi-s2d14   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624aazi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624abzi-s2d04   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624abzi-s2d14   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624abzi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624abzi-s2d44a0 = ["psoc-drivers/die-psoc6_02"]
device-cy8c624afni-s2d43   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624alqi-s2d02   = ["psoc-drivers/die-psoc6_02"]
device-cy8c624alqi-s2d42   = ["psoc-drivers/die-psoc6_02"]
device-cyb0644abzi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cys0644abzi-s2d44   = ["psoc-drivers/die-psoc6_02"]
device-cys0644afni-s2d43   = ["psoc-drivers/die-psoc6_02"]

device-cy8c6145azi-s3f02 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145azi-s3f12 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145azi-s3f42 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145azi-s3f62 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145azi-s3f72 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145fni-s3f11 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145fni-s3f41 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145fni-s3f71 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145lqi-s3f02 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145lqi-s3f12 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145lqi-s3f42 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145lqi-s3f62 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6145lqi-s3f72 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azi-s3d02 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azi-s3d12 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azi-s3d42 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azi-s3d62 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azi-s3d72 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245azq-s3d72 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245fni-s3d11 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245fni-s3d41 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245fni-s3d71 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245fnq-s3d41 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245fnq-s3d71 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqi-s3d02 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqi-s3d12 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqi-s3d42 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqi-s3d62 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqi-s3d72 = ["psoc-drivers/die-psoc6_03"]
device-cy8c6245lqq-s3d72 = ["psoc-drivers/die-psoc6_03"]
device-cyb06445lqi-s3d42 = ["psoc-drivers/die-psoc6_03"]

device-cy8c4588azi-h675  = ["psoc-drivers/die-psoc6_04"]
device-cy8c4588azi-h676  = ["psoc-drivers/die-psoc6_04"]
device-cy8c4588azi-h685  = ["psoc-drivers/die-psoc6_04"]
device-cy8c4588azi-h686  = ["psoc-drivers/die-psoc6_04"]
device-cy8c4588azq-h685  = ["psoc-drivers/die-psoc6_04"]
device-cy8c4588azq-h686  = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f12 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f62 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f82 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f83 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azi-s4f93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azq-s4f92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144azq-s4f93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144fmi-s4f03 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144fmi-s4f53 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144fmi-s4f73 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144fmi-s4f93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144fmq-s4f93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144lqi-s4f12 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144lqi-s4f62 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144lqi-s4f82 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144lqi-s4f92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6144lqq-s4f92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d12 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d62 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d82 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d83 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azi-s4d93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azq-s4d92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244azq-s4d93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244fmi-s4d03 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244fmi-s4d53 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244fmi-s4d73 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244fmi-s4d93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244fmq-s4d93 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244lqi-s4d12 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244lqi-s4d62 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244lqi-s4d82 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244lqi-s4d92 = ["psoc-drivers/die-psoc6_04"]
device-cy8c6244lqq-s4d92 = ["psoc-drivers/die-psoc6_04"]

device-psc3m3edabq1   = ["psoc-drivers/die-psc3"]
device-psc3m3edacq1   = ["psoc-drivers/die-psc3"]
device-psc3m3edlgq1   = ["psoc-drivers/die-psc3"]
device-psc3m3edlhq1   = ["psoc-drivers/die-psc3"]
device-psc3m3fds2abq1 = ["psoc-drivers/die-psc3"]
device-psc3m3fds2acq1 = ["psoc-drivers/die-psc3"]
device-psc3m3fds2lgq1 = ["psoc-drivers/die-psc3"]
device-psc3m3fds2lhq1 = ["psoc-drivers/die-psc3"]
device-psc3m5edabq1   = ["psoc-drivers/die-psc3"]
device-psc3m5edacq1   = ["psoc-drivers/die-psc3"]
device-psc3m5edafq1   = ["psoc-drivers/die-psc3"]
device-psc3m5edlgq1   = ["psoc-drivers/die-psc3"]
device-psc3m5edlhq1   = ["psoc-drivers/die-psc3"]
device-psc3m5fds2abq1 = ["psoc-drivers/die-psc3"]
device-psc3m5fds2acq1 = ["psoc-drivers/die-psc3"]
device-psc3m5fds2afq1 = ["psoc-drivers/die-psc3"]
device-psc3m5fds2lgq1 = ["psoc-drivers/die-psc3"]
device-psc3m5fds2lhq1 = ["psoc-drivers/die-psc3"]
device-psc3p2edabq1   = ["psoc-drivers/die-psc3"]
device-psc3p2edacq1   = ["psoc-drivers/die-psc3"]
device-psc3p2edlgq1   = ["psoc-drivers/die-psc3"]
device-psc3p2edlhq1   = ["psoc-drivers/die-psc3"]
device-psc3p2fds2abq1 = ["psoc-drivers/die-psc3"]
device-psc3p2fds2acq1 = ["psoc-drivers/die-psc3"]
device-psc3p2fds2lgq1 = ["psoc-drivers/die-psc3"]
device-psc3p2fds2lhq1 = ["psoc-drivers/die-psc3"]
device-psc3p5edabq1   = ["psoc-drivers/die-psc3"]
device-psc3p5edacq1   = ["psoc-drivers/die-psc3"]
device-psc3p5edlgq1   = ["psoc-drivers/die-psc3"]
device-psc3p5edlhq1   = ["psoc-drivers/die-psc3"]
device-psc3p5fds2abq1 = ["psoc-drivers/die-psc3"]
device-psc3p5fds2acq1 = ["psoc-drivers/die-psc3"]
device-psc3p5fds2lgq1 = ["psoc-drivers/die-psc3"]
device-psc3p5fds2lhq1 = ["psoc-drivers/die-psc3"]