Created
February 26, 2024 20:27
-
-
Save riskable/6cd65856eb87d2d3b2788433b441d25a to your computer and use it in GitHub Desktop.
keystoked Cargo.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[package] | |
name = "keystoked" | |
version = "0.1.0" | |
edition = "2021" | |
[features] | |
default = [] | |
defmt = [] | |
encoders = ["keystoked-config/encoders", "keystoked-builder/encoders"] | |
lighting = ["keystoked-config/lighting", "keystoked-builder/lighting"] | |
display = ["keystoked-config/display", "keystoked-builder/display"] | |
infrared = ["keystoked-config/infrared", "keystoked-builder/infrared"] | |
[[bin]] | |
name = "ahek95" | |
required-features = ["encoders", "lighting", "infrared"] | |
[[bin]] | |
name = "sbn" | |
required-features = ["encoders", "lighting", "infrared"] | |
# features = ["encoders", "lighting", "infrared"] | |
[[bin]] | |
name = "octakeys_three" | |
required-features = [] | |
# The resolver is necessary because there's a bug in Cargo's resolver where if a | |
# single dev-dependency needs std it'll try to build *all* packages of | |
# the same name (serde) with std too. Using the v2 resolver fixes that bug: | |
[workspace] | |
resolver = "2" | |
members = [".", "xtask", "keystoked-config", "keystoked-builder"] | |
# default-run = "sbn" | |
# default-build = "sbn" | |
# exclude = ["bin/sbn"] | |
[dependencies] | |
keystoked-config = { path = "keystoked-config", version = "0.1" } | |
# TODO: Put all the hardware-specific stuff into src/bin/<board> Cargo.toml files | |
# cortex-m = { version = "0.7", features = ["critical-section-single-core"] } | |
cortex-m = { version = "0.7", features = [] } | |
# cortex-m-rt = { version = "0.7", features = ["device"], optional = true } | |
cortex-m-rt = "0.7" | |
cortex-m-rtic = "1.0" | |
critical-section = "1.1" | |
# critical-section = { version = "1.1", features = ["restore-state-u8"] } | |
# alloc-cortex-m = "0.4" | |
fugit = "0.3" # Needed for monotonic RTIC stuff | |
usb-device = "0.2" | |
# usbd-serial = "0.1" | |
# usbd-hid = { git = "https://github.com/twitchyliquid64/usbd-hid.git", branch = "master" } | |
usbd-hid = { version = "0.6", features = ["defmt"] } | |
# usbd-human-interface-device = "0.3" # TEMP | |
# keyberon = { git = "https://github.com/TeXitoi/keyberon" } | |
keyberon = { git = "https://github.com/riskable/keyberon", version = "0.2" } | |
# keyberon = { path = "/home/riskable/workspace/rust/embedded/keyberon" } | |
# panic-halt= "0.2" | |
defmt = "0.3" | |
defmt-rtt = "0.4.0" | |
# derive_more = "0.99" | |
# panic-rtt-target = { version = "0.1", features = ["cortex-m"] } | |
panic-probe = { version = "0.3", features = ["print-defmt"] } | |
# panic-probe = { version = "0.3", features = ["print-rtt"] } | |
embedded-hal = { version = "0.2", features = ["unproven"] } | |
rp2040-hal = { version = "0.9", features = ["critical-section-impl", "rt", "rtic-monotonic", "rom-v2-intrinsics", "defmt", "rom-func-cache"] } | |
rp2040-boot2 = { version = "0.3" } | |
rp2040-pac = { version = "0.6", features = ["rt"] } | |
rp2040-monotonic = "1.2" | |
micromath = "2.0" | |
# TODO: Put this behind a feature or make it board-specific: | |
smart-leds = "0.3" | |
ws2812-pio = "0.7" | |
smart-leds-trait = "0.2" | |
# ws2812-pio = { git = "https://github.com/ithinuel/ws2812-pio-rs", version = "0.2" } | |
analog-multiplexer = "1.0" | |
rtt-target = { version = "0.4" } | |
serde = { version = "1.0", default-features = false, features = ["derive"] } | |
# infrared = { git = "https://github.com/jkristell/infrared.git", branch = "master", features = [ | |
# "defmt", | |
# "fugit", | |
# ] } | |
# infrared = { path = "/home/riskable/workspace/rust/embedded/infrared", features = [ | |
# "defmt", | |
# "fugit", | |
# ] } | |
infrared = { version = "0.14", features = ["defmt", "embedded", "fugit"] } | |
# num-format = { version = "0.4", default-features = false } | |
# numtoa = "0.2" | |
# TODO: Put hardware-specific things (like display stuff) into board-specific Cargo.toml files | |
# epd-waveshare = { version = "0.5", features = ["graphics"] } | |
# epd-waveshare = { path = "/home/riskable/workspace/rust/embedded/epd-waveshare", version = "0.5", features = [ | |
# "graphics", | |
# ] } | |
embedded-graphics = "0.7" | |
# embedded-graphics = { git = "https://github.com/embedded-graphics/embedded-graphics.git", branch = "master" } | |
embedded-text = "0.7" | |
tinytga = "0.5" | |
# Provides slightly more efficient delay_ms() and delay_us() | |
asm-delay = "1.0" | |
heapless = { version = "0.8", features = ["serde"] } | |
siphasher = "1.0" # Needed in order to use rp2040-tickv | |
smart-leds-matrix = "0.1" | |
# smart-leds-matrix = { path = "/home/riskable/workspace/rust/embedded/smart-leds-matrix", version = "*" } | |
[dependencies.palette] | |
version = "0.6" | |
default-features = false | |
features = ["libm", "named", "named_from_str", "random"] | |
# # Can't add this to crates.io until TicKV itself gets added to crates.io: | |
# [dependencies.rp2040-tickv] | |
# git = "https://github.com/riskable/rp2040-tickv" | |
# rev = "839c3f21cb1bfe9d20576528d6efc39810b8b7e3" # As of 20220416 | |
# # Need this until it gets added to crates.io: | |
# [dependencies.tickv] | |
# git = "https://github.com/tock/tock.git" | |
# rev = "f7712a97742d9c9a35e547bfc9e0776869830fe1" | |
# [features] | |
# default = ["rt", "boot2"] | |
# boot2 = ["rp2040-boot2"] | |
# rt = ["cortex-m-rt","rp2040-hal/rt"] | |
[build-dependencies] | |
# NOTE: This may be needed if we ever need to use that add_const_gen! macro again: | |
# num-format = { version = "0.4", default-features = false } | |
keystoked-config = { path = "keystoked-config", version = "0.1" } | |
keystoked-builder = { path = "keystoked-builder", version = "0.1" } | |
serde = { version = "1.0", features = [ | |
"derive", | |
] } # Used to serialize/deserialize the toml stuff | |
toml = "0.8" # All the config stuff is toml | |
chrono = "0.4" # Used to generate the timestamp that ends up in the USB hardware serial number | |
[profile.dev] | |
codegen-units = 1 | |
debug = 2 | |
debug-assertions = true | |
incremental = false | |
opt-level = 1 | |
overflow-checks = true | |
[profile.release] | |
codegen-units = 1 | |
debug = 2 | |
debug-assertions = false | |
incremental = false | |
# NOTE: For rp2040-tickv to work properly the lto setting needs to be either 'thin' or 'fat': | |
lto = 'thin' | |
opt-level = "s" # NOTE: 0 and 1 here break rp2040-tickv ('s' and 3 are OK though) | |
overflow-checks = false | |
# [profile.release] | |
# codegen-units = 1 | |
# debug = 2 | |
# debug-assertions = false # <- | |
# incremental = false | |
# # NOTE disabled to work around issue rust-lang/rust#90357 | |
# # the bug results in log messages not having location information | |
# # (the line printed below the log message that contains the file-line location) | |
# # lto = 'fat' | |
# opt-level = 3 # <- | |
# overflow-checks = false # <- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment