-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
97 lines (86 loc) · 2.93 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[package]
authors = ["90degs2infty <[email protected]>"]
name = "microtile-app"
edition = "2021"
version = "0.2.0"
license = "MIT OR Apache-2.0"
repository = "https://github.com/90degs2infty/microtile-app"
categories = [ "embedded", "games", "no-std" ]
keywords = [ "microbit", "rtic" ]
description = "A microscopic Tetris® inspired application, targeting the BBC micro:bit v2."
[dependencies]
cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
defmt = { version = "0.3", features = ["encoding-rzcobs"] }
defmt-rtt = { version = "0.4" }
panic-probe = { version = "0.3", features = ["print-defmt"] }
rtic = { version = "2.0.1", features = [ "thumbv7-backend" ] }
microbit-v2 = "0.13"
# TODO add a monotonic if you use scheduling
# rtic-monotonics = { version = "1.0.0", features = [ "cortex-m-systick" ]}
microtile-engine = { git = "https://github.com/90degs2infty/microtile-engine.git", branch = "main", version = "0.2.0" }
tiny-led-matrix = "1.0.2"
rtic-sync = "1.0.2"
either = { version = "1.9.0", default_features = false }
lsm303agr = "0.3.0"
micromath = "2.1.0"
heapless = "0.8.0"
futures = { version = "0.3.29", default_features = false }
nb = "1.1.0"
# cargo build/run
[profile.dev]
codegen-units = 1
debug = 2
debug-assertions = true # <-
incremental = false
opt-level = "s" # <-
overflow-checks = true # <-
# cargo test
[profile.test]
codegen-units = 1
debug = 2
debug-assertions = true # <-
incremental = false
opt-level = "s" # <-
overflow-checks = true # <-
# cargo build/run --release
[profile.release]
codegen-units = 1
debug = 2
debug-assertions = false # <-
incremental = false
lto = 'fat'
opt-level = "s" # <-
overflow-checks = false # <-
# cargo test --release
[profile.bench]
codegen-units = 1
debug = 2
debug-assertions = false # <-
incremental = false
lto = 'fat'
opt-level = "s" # <-
overflow-checks = false # <-
[lints.rust]
missing_docs = { level = "warn", priority = 0 }
[lints.rustdoc]
missing_crate_level_docs = { level = "warn", priority = 1 }
unescaped_backticks = { level = "warn", priority = 1 }
[lints.clippy]
cargo = { level = "warn", priority = 2 }
all = { level = "warn", priority = 3 }
pedantic = { level = "warn", priority = 4 }
absolute_paths = { level = "warn", priority = 5 }
# The following lints are allowed because
# - clippy::module_name_repetitions - I struggle to come up with non-repetitive, meaningful names
# - clippy::ignored_unit_patterns - to keep the `defmt` macros from triggering lints in my own code
# - clippy::multiple_crate_versions - these come from dependencies
module_name_repetitions = { level = "allow", priority = 5 }
ignored_unit_patterns = { level = "allow", priority = 5 }
multiple_crate_versions = { level = "allow", priority = 5 }
[patch.crates-io]
microbit-v2 = { git = "https://github.com/90degs2infty/microbit.git", branch = "feature_update-hal" }
[[bin]]
name = "microtile"
path = "src/bin/microtile.rs"
[build-dependencies]
vergen = { version = "8.2.6", features = ["git", "gitcl"] }