aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-08-15 19:01:56 +0200
committerUlf Lilleengen <[email protected]>2025-08-25 19:44:50 +0200
commit3a6ea3a31c90179fb3cbd30c18e3a310e2ee647c (patch)
tree9dcbd98e58bd2a0569b4f30562b51c4e677ea5b9
parenta34e0b1ec57350cfa1d61aa6fc2eced077be5623 (diff)
Load all crates in the graph, honor the "publish" flag to prevent publishing examples/tests.
-rw-r--r--docs/examples/basic/Cargo.toml6
-rw-r--r--docs/examples/layer-by-layer/blinky-async/Cargo.toml6
-rw-r--r--docs/examples/layer-by-layer/blinky-hal/Cargo.toml6
-rw-r--r--docs/examples/layer-by-layer/blinky-irq/Cargo.toml6
-rw-r--r--docs/examples/layer-by-layer/blinky-pac/Cargo.toml6
-rw-r--r--examples/boot/application/nrf/Cargo.toml10
-rw-r--r--examples/boot/application/rp/Cargo.toml6
-rw-r--r--examples/boot/application/stm32f3/Cargo.toml6
-rw-r--r--examples/boot/application/stm32f7/Cargo.toml6
-rw-r--r--examples/boot/application/stm32h7/Cargo.toml6
-rw-r--r--examples/boot/application/stm32l0/Cargo.toml6
-rw-r--r--examples/boot/application/stm32l1/Cargo.toml6
-rw-r--r--examples/boot/application/stm32l4/Cargo.toml6
-rw-r--r--examples/boot/application/stm32wb-dfu/Cargo.toml6
-rw-r--r--examples/boot/application/stm32wba-dfu/Cargo.toml6
-rw-r--r--examples/boot/application/stm32wl/Cargo.toml6
-rw-r--r--examples/boot/bootloader/nrf/Cargo.toml10
-rw-r--r--examples/boot/bootloader/rp/Cargo.toml6
-rw-r--r--examples/boot/bootloader/stm32-dual-bank/Cargo.toml6
-rw-r--r--examples/boot/bootloader/stm32/Cargo.toml6
-rw-r--r--examples/boot/bootloader/stm32wb-dfu/Cargo.toml7
-rw-r--r--examples/boot/bootloader/stm32wba-dfu/Cargo.toml6
-rw-r--r--examples/lpc55s69/Cargo.toml6
-rw-r--r--examples/mimxrt1011/Cargo.toml6
-rw-r--r--examples/mimxrt1062-evk/Cargo.toml6
-rw-r--r--examples/mimxrt6/Cargo.toml6
-rw-r--r--examples/mspm0c1104/Cargo.toml7
-rw-r--r--examples/mspm0g3507/Cargo.toml6
-rw-r--r--examples/mspm0g3519/Cargo.toml6
-rw-r--r--examples/mspm0l1306/Cargo.toml6
-rw-r--r--examples/mspm0l2228/Cargo.toml6
-rw-r--r--examples/nrf-rtos-trace/Cargo.toml6
-rw-r--r--examples/nrf-rtos-trace/build.rs2
-rw-r--r--examples/nrf51/Cargo.toml6
-rw-r--r--examples/nrf52810/Cargo.toml6
-rw-r--r--examples/nrf52840-rtic/Cargo.toml6
-rw-r--r--examples/nrf52840/Cargo.toml6
-rw-r--r--examples/nrf5340/Cargo.toml6
-rw-r--r--examples/nrf54l15/Cargo.toml6
-rw-r--r--examples/nrf9151/ns/Cargo.toml6
-rw-r--r--examples/nrf9151/s/Cargo.toml6
-rw-r--r--examples/nrf9160/Cargo.toml6
-rw-r--r--examples/rp/Cargo.toml6
-rw-r--r--examples/rp235x/Cargo.toml6
-rw-r--r--examples/std/Cargo.toml6
-rw-r--r--examples/stm32c0/Cargo.toml6
-rw-r--r--examples/stm32f0/Cargo.toml6
-rw-r--r--examples/stm32f1/Cargo.toml6
-rw-r--r--examples/stm32f2/Cargo.toml6
-rw-r--r--examples/stm32f3/Cargo.toml6
-rw-r--r--examples/stm32f334/Cargo.toml6
-rw-r--r--examples/stm32f4/Cargo.toml6
-rw-r--r--examples/stm32f469/Cargo.toml6
-rw-r--r--examples/stm32f7/Cargo.toml6
-rw-r--r--examples/stm32g0/Cargo.toml6
-rw-r--r--examples/stm32g4/Cargo.toml6
-rw-r--r--examples/stm32h5/Cargo.toml6
-rw-r--r--examples/stm32h7/Cargo.toml6
-rw-r--r--examples/stm32h723/Cargo.toml6
-rw-r--r--examples/stm32h735/Cargo.toml6
-rw-r--r--examples/stm32h742/Cargo.toml6
-rw-r--r--examples/stm32h755cm4/Cargo.toml6
-rw-r--r--examples/stm32h755cm7/Cargo.toml6
-rw-r--r--examples/stm32h7b0/Cargo.toml6
-rw-r--r--examples/stm32h7rs/Cargo.toml6
-rw-r--r--examples/stm32l0/Cargo.toml6
-rw-r--r--examples/stm32l1/Cargo.toml6
-rw-r--r--examples/stm32l4/Cargo.toml6
-rw-r--r--examples/stm32l432/Cargo.toml6
-rw-r--r--examples/stm32l5/Cargo.toml6
-rw-r--r--examples/stm32u0/Cargo.toml6
-rw-r--r--examples/stm32u5/Cargo.toml6
-rw-r--r--examples/stm32wb/Cargo.toml6
-rw-r--r--examples/stm32wba/Cargo.toml6
-rw-r--r--examples/stm32wba6/Cargo.toml6
-rw-r--r--examples/stm32wl/Cargo.toml6
-rw-r--r--examples/wasm/Cargo.toml6
-rw-r--r--release/src/build.rs4
-rw-r--r--release/src/cargo.rs9
-rw-r--r--release/src/main.rs130
-rw-r--r--release/src/types.rs9
-rw-r--r--tests/mspm0/Cargo.toml6
-rw-r--r--tests/nrf/Cargo.toml11
-rw-r--r--tests/perf-client/Cargo.toml1
-rw-r--r--tests/perf-server/Cargo.toml1
-rw-r--r--tests/riscv32/Cargo.toml6
-rw-r--r--tests/rp/Cargo.toml7
-rw-r--r--tests/stm32/Cargo.toml34
-rw-r--r--tests/utils/Cargo.toml1
-rw-r--r--tests/utils/src/bin/saturate_serial.rs7
90 files changed, 651 insertions, 43 deletions
diff --git a/docs/examples/basic/Cargo.toml b/docs/examples/basic/Cargo.toml
index 15fd42703..5fb137898 100644
--- a/docs/examples/basic/Cargo.toml
+++ b/docs/examples/basic/Cargo.toml
@@ -5,6 +5,7 @@ name = "embassy-basic-example"
5version = "0.1.0" 5version = "0.1.0"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7 7
8publish = false
8[dependencies] 9[dependencies]
9embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["defmt", "arch-cortex-m", "executor-thread"] } 10embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["defmt", "arch-cortex-m", "executor-thread"] }
10embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt"] } 11embassy-time = { version = "0.4.0", path = "../../../embassy-time", features = ["defmt"] }
@@ -16,3 +17,8 @@ defmt-rtt = "1.0.0"
16cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } 17cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] }
17cortex-m-rt = "0.7.0" 18cortex-m-rt = "0.7.0"
18panic-probe = { version = "1.0.0", features = ["print-defmt"] } 19panic-probe = { version = "1.0.0", features = ["print-defmt"] }
20
21[package.metadata.embassy]
22build = [
23 { target = "thumbv7em-none-eabi" }
24]
diff --git a/docs/examples/layer-by-layer/blinky-async/Cargo.toml b/docs/examples/layer-by-layer/blinky-async/Cargo.toml
index dd0adf938..f1f678df3 100644
--- a/docs/examples/layer-by-layer/blinky-async/Cargo.toml
+++ b/docs/examples/layer-by-layer/blinky-async/Cargo.toml
@@ -4,6 +4,7 @@ version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7[dependencies] 8[dependencies]
8cortex-m = { version = "0.7", features = ["critical-section-single-core"] } 9cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
9cortex-m-rt = "0.7" 10cortex-m-rt = "0.7"
@@ -13,3 +14,8 @@ embassy-executor = { version = "0.8.0", path = "../../../../embassy-executor", f
13defmt = "1.0.1" 14defmt = "1.0.1"
14defmt-rtt = "1.0.0" 15defmt-rtt = "1.0.0"
15panic-probe = { version = "1.0.0", features = ["print-defmt"] } 16panic-probe = { version = "1.0.0", features = ["print-defmt"] }
17
18[package.metadata.embassy]
19build = [
20 { target = "thumbv7em-none-eabi" }
21]
diff --git a/docs/examples/layer-by-layer/blinky-hal/Cargo.toml b/docs/examples/layer-by-layer/blinky-hal/Cargo.toml
index 55795e4e2..cdfc4b850 100644
--- a/docs/examples/layer-by-layer/blinky-hal/Cargo.toml
+++ b/docs/examples/layer-by-layer/blinky-hal/Cargo.toml
@@ -4,6 +4,7 @@ version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7[dependencies] 8[dependencies]
8cortex-m-rt = "0.7" 9cortex-m-rt = "0.7"
9cortex-m = { version = "0.7", features = ["critical-section-single-core"] } 10cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
@@ -12,3 +13,8 @@ embassy-stm32 = { version = "0.3.0", path = "../../../../embassy-stm32", feature
12defmt = "1.0.1" 13defmt = "1.0.1"
13defmt-rtt = "1.0.0" 14defmt-rtt = "1.0.0"
14panic-probe = { version = "1.0.0", features = ["print-defmt"] } 15panic-probe = { version = "1.0.0", features = ["print-defmt"] }
16
17[package.metadata.embassy]
18build = [
19 { target = "thumbv7em-none-eabi" }
20]
diff --git a/docs/examples/layer-by-layer/blinky-irq/Cargo.toml b/docs/examples/layer-by-layer/blinky-irq/Cargo.toml
index 4a4bda4c4..b15b228fc 100644
--- a/docs/examples/layer-by-layer/blinky-irq/Cargo.toml
+++ b/docs/examples/layer-by-layer/blinky-irq/Cargo.toml
@@ -6,6 +6,7 @@ version = "0.1.0"
6edition = "2021" 6edition = "2021"
7license = "MIT OR Apache-2.0" 7license = "MIT OR Apache-2.0"
8 8
9publish = false
9[dependencies] 10[dependencies]
10cortex-m = { version = "0.7", features = ["critical-section-single-core"] } 11cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
11cortex-m-rt = { version = "0.7" } 12cortex-m-rt = { version = "0.7" }
@@ -14,3 +15,8 @@ embassy-stm32 = { version = "0.3.0", path = "../../../../embassy-stm32", feature
14defmt = "1.0.1" 15defmt = "1.0.1"
15defmt-rtt = "1.0.0" 16defmt-rtt = "1.0.0"
16panic-probe = { version = "1.0.0", features = ["print-defmt"] } 17panic-probe = { version = "1.0.0", features = ["print-defmt"] }
18
19[package.metadata.embassy]
20build = [
21 { target = "thumbv7em-none-eabi" }
22]
diff --git a/docs/examples/layer-by-layer/blinky-pac/Cargo.toml b/docs/examples/layer-by-layer/blinky-pac/Cargo.toml
index 4e7e2f2ff..0d4711da2 100644
--- a/docs/examples/layer-by-layer/blinky-pac/Cargo.toml
+++ b/docs/examples/layer-by-layer/blinky-pac/Cargo.toml
@@ -4,6 +4,7 @@ version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7[dependencies] 8[dependencies]
8cortex-m = { version = "0.7", features = ["critical-section-single-core"] } 9cortex-m = { version = "0.7", features = ["critical-section-single-core"] }
9cortex-m-rt = "0.7" 10cortex-m-rt = "0.7"
@@ -12,3 +13,8 @@ stm32-metapac = { version = "16", features = ["stm32l475vg"] }
12defmt = "1.0.1" 13defmt = "1.0.1"
13defmt-rtt = "1.0.0" 14defmt-rtt = "1.0.0"
14panic-probe = { version = "1.0.0", features = ["print-defmt"] } 15panic-probe = { version = "1.0.0", features = ["print-defmt"] }
16
17[package.metadata.embassy]
18build = [
19 { target = "thumbv7em-none-eabi" }
20]
diff --git a/examples/boot/application/nrf/Cargo.toml b/examples/boot/application/nrf/Cargo.toml
index c8e1def4a..f55b14f38 100644
--- a/examples/boot/application/nrf/Cargo.toml
+++ b/examples/boot/application/nrf/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-nrf-examples" 3name = "embassy-boot-nrf-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -32,3 +33,12 @@ defmt = [
32 "embassy-boot-nrf/defmt", 33 "embassy-boot-nrf/defmt",
33 "embassy-sync/defmt", 34 "embassy-sync/defmt",
34] 35]
36
37[package.metadata.embassy]
38build = [
39 { target = "thumbv7em-none-eabi", features = ["embassy-nrf/nrf52840", "skip-include"], artifact-dir = "out/examples/boot/nrf52840" },
40 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9160-ns", "skip-include"], artifact-dir = "out/examples/boot/nrf9160" },
41 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9120-ns", "skip-include"], artifact-dir = "out/examples/boot/nrf9120" },
42 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9151-ns", "skip-include"], artifact-dir = "out/examples/boot/nrf9151" },
43 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9161-ns", "skip-include"], artifact-dir = "out/examples/boot/nrf9161" }
44]
diff --git a/examples/boot/application/rp/Cargo.toml b/examples/boot/application/rp/Cargo.toml
index 7fd6f8f97..c60f2b9a8 100644
--- a/examples/boot/application/rp/Cargo.toml
+++ b/examples/boot/application/rp/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-rp-examples" 3name = "embassy-boot-rp-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -34,3 +35,8 @@ skip-include = []
34 35
35[profile.release] 36[profile.release]
36debug = true 37debug = true
38
39[package.metadata.embassy]
40build = [
41 { target = "thumbv6m-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/rp" }
42]
diff --git a/examples/boot/application/stm32f3/Cargo.toml b/examples/boot/application/stm32f3/Cargo.toml
index f9d5922b1..004050d40 100644
--- a/examples/boot/application/stm32f3/Cargo.toml
+++ b/examples/boot/application/stm32f3/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32f3-examples" 3name = "embassy-boot-stm32f3-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -29,3 +30,8 @@ defmt = [
29 "embassy-sync/defmt", 30 "embassy-sync/defmt",
30] 31]
31skip-include = [] 32skip-include = []
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv7em-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32f3" }
37]
diff --git a/examples/boot/application/stm32f7/Cargo.toml b/examples/boot/application/stm32f7/Cargo.toml
index f831e7f68..74a1d498e 100644
--- a/examples/boot/application/stm32f7/Cargo.toml
+++ b/examples/boot/application/stm32f7/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32f7-examples" 3name = "embassy-boot-stm32f7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -30,3 +31,8 @@ defmt = [
30 "embassy-sync/defmt", 31 "embassy-sync/defmt",
31] 32]
32skip-include = [] 33skip-include = []
34
35[package.metadata.embassy]
36build = [
37 { target = "thumbv7em-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32f7" }
38]
diff --git a/examples/boot/application/stm32h7/Cargo.toml b/examples/boot/application/stm32h7/Cargo.toml
index 29d54c47f..acf1da96d 100644
--- a/examples/boot/application/stm32h7/Cargo.toml
+++ b/examples/boot/application/stm32h7/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32h7-examples" 3name = "embassy-boot-stm32h7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -30,3 +31,8 @@ defmt = [
30 "embassy-sync/defmt", 31 "embassy-sync/defmt",
31] 32]
32skip-include = [] 33skip-include = []
34
35[package.metadata.embassy]
36build = [
37 { target = "thumbv7em-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32h7" }
38]
diff --git a/examples/boot/application/stm32l0/Cargo.toml b/examples/boot/application/stm32l0/Cargo.toml
index 7c6c1dc78..0f5e8ac08 100644
--- a/examples/boot/application/stm32l0/Cargo.toml
+++ b/examples/boot/application/stm32l0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32l0-examples" 3name = "embassy-boot-stm32l0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -29,3 +30,8 @@ defmt = [
29 "embassy-sync/defmt", 30 "embassy-sync/defmt",
30] 31]
31skip-include = [] 32skip-include = []
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv6m-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32l0" }
37]
diff --git a/examples/boot/application/stm32l1/Cargo.toml b/examples/boot/application/stm32l1/Cargo.toml
index ecb498325..eb7279fb0 100644
--- a/examples/boot/application/stm32l1/Cargo.toml
+++ b/examples/boot/application/stm32l1/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32l1-examples" 3name = "embassy-boot-stm32l1-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -29,3 +30,8 @@ defmt = [
29 "embassy-sync/defmt", 30 "embassy-sync/defmt",
30] 31]
31skip-include = [] 32skip-include = []
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv7m-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32l1" }
37]
diff --git a/examples/boot/application/stm32l4/Cargo.toml b/examples/boot/application/stm32l4/Cargo.toml
index 075f7b986..1d1830ba0 100644
--- a/examples/boot/application/stm32l4/Cargo.toml
+++ b/examples/boot/application/stm32l4/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32l4-examples" 3name = "embassy-boot-stm32l4-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -29,3 +30,8 @@ defmt = [
29 "embassy-sync/defmt", 30 "embassy-sync/defmt",
30] 31]
31skip-include = [] 32skip-include = []
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv7em-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32l4" }
37]
diff --git a/examples/boot/application/stm32wb-dfu/Cargo.toml b/examples/boot/application/stm32wb-dfu/Cargo.toml
index 65fac6062..5aa48c31b 100644
--- a/examples/boot/application/stm32wb-dfu/Cargo.toml
+++ b/examples/boot/application/stm32wb-dfu/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32wb-dfu-examples" 3name = "embassy-boot-stm32wb-dfu-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -30,3 +31,8 @@ defmt = [
30 "embassy-boot-stm32/defmt", 31 "embassy-boot-stm32/defmt",
31 "embassy-sync/defmt", 32 "embassy-sync/defmt",
32] 33]
34
35[package.metadata.embassy]
36build = [
37 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/boot/stm32wb-dfu" }
38]
diff --git a/examples/boot/application/stm32wba-dfu/Cargo.toml b/examples/boot/application/stm32wba-dfu/Cargo.toml
index 469924422..880551ad7 100644
--- a/examples/boot/application/stm32wba-dfu/Cargo.toml
+++ b/examples/boot/application/stm32wba-dfu/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32wba-dfu-examples" 3name = "embassy-boot-stm32wba-dfu-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -30,3 +31,8 @@ defmt = [
30 "embassy-boot-stm32/defmt", 31 "embassy-boot-stm32/defmt",
31 "embassy-sync/defmt", 32 "embassy-sync/defmt",
32] 33]
34
35[package.metadata.embassy]
36build = [
37 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/boot/stm32wba-dfu" }
38]
diff --git a/examples/boot/application/stm32wl/Cargo.toml b/examples/boot/application/stm32wl/Cargo.toml
index fb8112edf..ee9ab0729 100644
--- a/examples/boot/application/stm32wl/Cargo.toml
+++ b/examples/boot/application/stm32wl/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-boot-stm32wl-examples" 3name = "embassy-boot-stm32wl-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" } 9embassy-sync = { version = "0.7.1", path = "../../../../embassy-sync" }
@@ -29,3 +30,8 @@ defmt = [
29 "embassy-sync/defmt", 30 "embassy-sync/defmt",
30] 31]
31skip-include = [] 32skip-include = []
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv7em-none-eabi", features = ["skip-include"], artifact-dir = "out/examples/boot/stm32wl" }
37]
diff --git a/examples/boot/bootloader/nrf/Cargo.toml b/examples/boot/bootloader/nrf/Cargo.toml
index 157448054..2b54bbec8 100644
--- a/examples/boot/bootloader/nrf/Cargo.toml
+++ b/examples/boot/bootloader/nrf/Cargo.toml
@@ -4,6 +4,7 @@ name = "nrf-bootloader-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Bootloader for nRF chips" 5description = "Bootloader for nRF chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -57,3 +58,12 @@ debug = false
57debug-assertions = false 58debug-assertions = false
58opt-level = 0 59opt-level = 0
59overflow-checks = false 60overflow-checks = false
61
62[package.metadata.embassy]
63build = [
64 { target = "thumbv7em-none-eabi", features = ["embassy-nrf/nrf52840"] },
65 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9160-ns"] },
66 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9120-ns"] },
67 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9151-ns"] },
68 { target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9161-ns"] }
69]
diff --git a/examples/boot/bootloader/rp/Cargo.toml b/examples/boot/bootloader/rp/Cargo.toml
index 034043274..b89332f0b 100644
--- a/examples/boot/bootloader/rp/Cargo.toml
+++ b/examples/boot/bootloader/rp/Cargo.toml
@@ -4,6 +4,7 @@ name = "rp-bootloader-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Example bootloader for RP2040 chips" 5description = "Example bootloader for RP2040 chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -31,3 +32,8 @@ defmt = [
31[profile.release] 32[profile.release]
32debug = true 33debug = true
33opt-level = 's' 34opt-level = 's'
35
36[package.metadata.embassy]
37build = [
38 { target = "thumbv6m-none-eabi" }
39]
diff --git a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml
index 75c7783b8..82fbee9f1 100644
--- a/examples/boot/bootloader/stm32-dual-bank/Cargo.toml
+++ b/examples/boot/bootloader/stm32-dual-bank/Cargo.toml
@@ -4,6 +4,7 @@ name = "stm32-bootloader-dual-bank-flash-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Example bootloader for dual-bank flash STM32 chips" 5description = "Example bootloader for dual-bank flash STM32 chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -54,3 +55,8 @@ debug = false
54debug-assertions = false 55debug-assertions = false
55opt-level = 0 56opt-level = 0
56overflow-checks = false 57overflow-checks = false
58
59[package.metadata.embassy]
60build = [
61 { target = "thumbv7em-none-eabi", features = ["embassy-stm32/stm32h743zi"] }
62]
diff --git a/examples/boot/bootloader/stm32/Cargo.toml b/examples/boot/bootloader/stm32/Cargo.toml
index 3f54b823b..a9a4aa95a 100644
--- a/examples/boot/bootloader/stm32/Cargo.toml
+++ b/examples/boot/bootloader/stm32/Cargo.toml
@@ -4,6 +4,7 @@ name = "stm32-bootloader-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Example bootloader for STM32 chips" 5description = "Example bootloader for STM32 chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -56,3 +57,8 @@ debug = false
56debug-assertions = false 57debug-assertions = false
57opt-level = 0 58opt-level = 0
58overflow-checks = false 59overflow-checks = false
60
61[package.metadata.embassy]
62build = [
63 { target = "thumbv7em-none-eabi", features = ["embassy-stm32/stm32l496zg"] }
64]
diff --git a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml
index 1aad71ebc..75783d66e 100644
--- a/examples/boot/bootloader/stm32wb-dfu/Cargo.toml
+++ b/examples/boot/bootloader/stm32wb-dfu/Cargo.toml
@@ -4,6 +4,7 @@ name = "stm32wb-dfu-bootloader-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Example USB DFUbootloader for the STM32WB series of chips" 5description = "Example USB DFUbootloader for the STM32WB series of chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -62,3 +63,9 @@ debug = false
62debug-assertions = false 63debug-assertions = false
63opt-level = 0 64opt-level = 0
64overflow-checks = false 65overflow-checks = false
66
67[package.metadata.embassy]
68build = [
69 { target = "thumbv7em-none-eabi", features = ["embassy-stm32/stm32wb55rg"] },
70 { target = "thumbv7em-none-eabi", features = ["embassy-stm32/stm32wb55rg", "verify"] }
71]
diff --git a/examples/boot/bootloader/stm32wba-dfu/Cargo.toml b/examples/boot/bootloader/stm32wba-dfu/Cargo.toml
index e31edb699..773060ab3 100644
--- a/examples/boot/bootloader/stm32wba-dfu/Cargo.toml
+++ b/examples/boot/bootloader/stm32wba-dfu/Cargo.toml
@@ -4,6 +4,7 @@ name = "stm32wba6-dfu-bootloader-example"
4version = "0.1.0" 4version = "0.1.0"
5description = "Example USB DFUbootloader for the STM32WBA series of chips" 5description = "Example USB DFUbootloader for the STM32WBA series of chips"
6license = "MIT OR Apache-2.0" 6license = "MIT OR Apache-2.0"
7publish = false
7 8
8[dependencies] 9[dependencies]
9defmt = { version = "1.0.1", optional = true } 10defmt = { version = "1.0.1", optional = true }
@@ -62,3 +63,8 @@ debug = false
62debug-assertions = false 63debug-assertions = false
63opt-level = 0 64opt-level = 0
64overflow-checks = false 65overflow-checks = false
66
67[package.metadata.embassy]
68build = [
69 { target = "thumbv8m.main-none-eabihf", features = ["embassy-stm32/stm32wba65ri", "verify"] }
70]
diff --git a/examples/lpc55s69/Cargo.toml b/examples/lpc55s69/Cargo.toml
index d66e3e2ec..bf28ee20f 100644
--- a/examples/lpc55s69/Cargo.toml
+++ b/examples/lpc55s69/Cargo.toml
@@ -4,6 +4,7 @@ name = "embassy-nxp-lpc55s69-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7 8
8[dependencies] 9[dependencies]
9embassy-nxp = { version = "0.1.0", path = "../../embassy-nxp", features = ["lpc55", "rt", "defmt", "time-driver-rtc"] } 10embassy-nxp = { version = "0.1.0", path = "../../embassy-nxp", features = ["lpc55", "rt", "defmt", "time-driver-rtc"] }
@@ -20,3 +21,8 @@ panic-semihosting = "0.6.0"
20 21
21[profile.release] 22[profile.release]
22debug = 2 23debug = 2
24
25[package.metadata.embassy]
26build = [
27 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/lpc55s69" }
28]
diff --git a/examples/mimxrt1011/Cargo.toml b/examples/mimxrt1011/Cargo.toml
index 59b1eaa10..49d628811 100644
--- a/examples/mimxrt1011/Cargo.toml
+++ b/examples/mimxrt1011/Cargo.toml
@@ -3,6 +3,7 @@ name = "embassy-imxrt1011-examples"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT or Apache-2.0" 5license = "MIT or Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] } 9cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] }
@@ -27,3 +28,8 @@ imxrt-rt = { version = "0.1.7", features = ["device"] }
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv7em-none-eabihf", artifact-dir = "out/examples/mimxrt1011" }
35]
diff --git a/examples/mimxrt1062-evk/Cargo.toml b/examples/mimxrt1062-evk/Cargo.toml
index bfa06f608..816695a32 100644
--- a/examples/mimxrt1062-evk/Cargo.toml
+++ b/examples/mimxrt1062-evk/Cargo.toml
@@ -3,6 +3,7 @@ name = "embassy-imxrt1062-evk-examples"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT or Apache-2.0" 5license = "MIT or Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] } 9cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] }
@@ -27,3 +28,8 @@ imxrt-rt = { version = "0.1.7", features = ["device"] }
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv7em-none-eabihf", artifact-dir = "out/examples/mimxrt1062-evk" }
35]
diff --git a/examples/mimxrt6/Cargo.toml b/examples/mimxrt6/Cargo.toml
index 2667ec089..8ae636921 100644
--- a/examples/mimxrt6/Cargo.toml
+++ b/examples/mimxrt6/Cargo.toml
@@ -3,6 +3,7 @@ name = "embassy-imxrt-examples"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT or Apache-2.0" 5license = "MIT or Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] } 9cortex-m = { version = "0.7.7", features = ["inline-asm", "critical-section-single-core"] }
@@ -58,3 +59,8 @@ incremental = false
58lto = 'fat' 59lto = 'fat'
59opt-level = 3 # <- 60opt-level = 3 # <-
60overflow-checks = false # <- 61overflow-checks = false # <-
62
63[package.metadata.embassy]
64build = [
65 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/mimxrt6" }
66]
diff --git a/examples/mspm0c1104/Cargo.toml b/examples/mspm0c1104/Cargo.toml
index 93ae4913a..decb1a6e2 100644
--- a/examples/mspm0c1104/Cargo.toml
+++ b/examples/mspm0c1104/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-c1104-examples" 3name = "embassy-mspm0-c1104-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0c1104dgs20", "defmt", "rt", "time-driver-any"] } 9embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0c1104dgs20", "defmt", "rt", "time-driver-any"] }
@@ -30,3 +31,9 @@ debug = 0
30opt-level = "z" 31opt-level = "z"
31lto = true 32lto = true
32codegen-units = 1 33codegen-units = 1
34
35[package.metadata.embassy]
36skip = true # TODO: remove when we find a way to decrease the defmt buffer size in ci.
37build = [
38 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/mspm0c1104" }
39]
diff --git a/examples/mspm0g3507/Cargo.toml b/examples/mspm0g3507/Cargo.toml
index 7544db230..04efb681c 100644
--- a/examples/mspm0g3507/Cargo.toml
+++ b/examples/mspm0g3507/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-g3507-examples" 3name = "embassy-mspm0-g3507-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g3507pm", "defmt", "rt", "time-driver-any"] } 9embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g3507pm", "defmt", "rt", "time-driver-any"] }
@@ -21,3 +22,8 @@ embedded-io-async = "0.6.1"
21 22
22[profile.release] 23[profile.release]
23debug = 2 24debug = 2
25
26[package.metadata.embassy]
27build = [
28 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/mspm0g3507" }
29]
diff --git a/examples/mspm0g3519/Cargo.toml b/examples/mspm0g3519/Cargo.toml
index 145a67b96..bb31b52ff 100644
--- a/examples/mspm0g3519/Cargo.toml
+++ b/examples/mspm0g3519/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-g3519-examples" 3name = "embassy-mspm0-g3519-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g3519pz", "defmt", "rt", "time-driver-any"] } 9embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0g3519pz", "defmt", "rt", "time-driver-any"] }
@@ -19,3 +20,8 @@ panic-semihosting = "0.6.0"
19 20
20[profile.release] 21[profile.release]
21debug = 2 22debug = 2
23
24[package.metadata.embassy]
25build = [
26 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/mspm0g3519" }
27]
diff --git a/examples/mspm0l1306/Cargo.toml b/examples/mspm0l1306/Cargo.toml
index 724ca58a0..c41017e17 100644
--- a/examples/mspm0l1306/Cargo.toml
+++ b/examples/mspm0l1306/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-l1306-examples" 3name = "embassy-mspm0-l1306-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l1306rhb", "defmt", "rt", "time-driver-any"] } 9embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l1306rhb", "defmt", "rt", "time-driver-any"] }
@@ -23,3 +24,8 @@ debug = 2
23[profile.dev] 24[profile.dev]
24debug = 2 25debug = 2
25opt-level = 2 26opt-level = 2
27
28[package.metadata.embassy]
29build = [
30 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/mspm0l1306" }
31]
diff --git a/examples/mspm0l2228/Cargo.toml b/examples/mspm0l2228/Cargo.toml
index 0bec500db..7295eb599 100644
--- a/examples/mspm0l2228/Cargo.toml
+++ b/examples/mspm0l2228/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-l2228-examples" 3name = "embassy-mspm0-l2228-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l2228pn", "defmt", "rt", "time-driver-any"] } 9embassy-mspm0 = { version = "0.1.0", path = "../../embassy-mspm0", features = ["mspm0l2228pn", "defmt", "rt", "time-driver-any"] }
@@ -19,3 +20,8 @@ panic-semihosting = "0.6.0"
19 20
20[profile.release] 21[profile.release]
21debug = 2 22debug = 2
23
24[package.metadata.embassy]
25build = [
26 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/mspm0l2228" }
27]
diff --git a/examples/nrf-rtos-trace/Cargo.toml b/examples/nrf-rtos-trace/Cargo.toml
index 4ef986d96..60875f434 100644
--- a/examples/nrf-rtos-trace/Cargo.toml
+++ b/examples/nrf-rtos-trace/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf-rtos-trace-examples" 3name = "embassy-nrf-rtos-trace-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[features] 8[features]
8default = ["log"] 9default = ["log"]
@@ -34,3 +35,8 @@ name = "rtos_trace"
34 35
35[profile.release] 36[profile.release]
36debug = 2 37debug = 2
38
39[package.metadata.embassy]
40build = [
41 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/nrf-rtos-trace" }
42]
diff --git a/examples/nrf-rtos-trace/build.rs b/examples/nrf-rtos-trace/build.rs
index 36cdb65a8..cd1a264c4 100644
--- a/examples/nrf-rtos-trace/build.rs
+++ b/examples/nrf-rtos-trace/build.rs
@@ -31,6 +31,4 @@ fn main() {
31 31
32 println!("cargo:rustc-link-arg-bins=--nmagic"); 32 println!("cargo:rustc-link-arg-bins=--nmagic");
33 println!("cargo:rustc-link-arg-bins=-Tlink.x"); 33 println!("cargo:rustc-link-arg-bins=-Tlink.x");
34 #[cfg(feature = "defmt")]
35 println!("cargo:rustc-link-arg-bins=-Tdefmt.x");
36} 34}
diff --git a/examples/nrf51/Cargo.toml b/examples/nrf51/Cargo.toml
index 524feca38..93acdab8a 100644
--- a/examples/nrf51/Cargo.toml
+++ b/examples/nrf51/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf51-examples" 3name = "embassy-nrf51-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } 9embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@@ -18,3 +19,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
18 19
19[profile.release] 20[profile.release]
20debug = 2 21debug = 2
22
23[package.metadata.embassy]
24build = [
25 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/nrf51" }
26]
diff --git a/examples/nrf52810/Cargo.toml b/examples/nrf52810/Cargo.toml
index 2b4612a51..000521265 100644
--- a/examples/nrf52810/Cargo.toml
+++ b/examples/nrf52810/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf52810-examples" 3name = "embassy-nrf52810-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 9embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
@@ -22,3 +23,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
22 23
23[profile.release] 24[profile.release]
24debug = 2 25debug = 2
26
27[package.metadata.embassy]
28build = [
29 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/nrf52810" }
30]
diff --git a/examples/nrf52840-rtic/Cargo.toml b/examples/nrf52840-rtic/Cargo.toml
index d5fddd46e..5e37913a9 100644
--- a/examples/nrf52840-rtic/Cargo.toml
+++ b/examples/nrf52840-rtic/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf52840-rtic-examples" 3name = "embassy-nrf52840-rtic-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8rtic = { version = "2", features = ["thumbv7-backend"] } 9rtic = { version = "2", features = ["thumbv7-backend"] }
@@ -22,3 +23,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
22 23
23[profile.release] 24[profile.release]
24debug = 2 25debug = 2
26
27[package.metadata.embassy]
28build = [
29 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/nrf52840-rtic" }
30]
diff --git a/examples/nrf52840/Cargo.toml b/examples/nrf52840/Cargo.toml
index b28ee0f4f..026681822 100644
--- a/examples/nrf52840/Cargo.toml
+++ b/examples/nrf52840/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf52840-examples" 3name = "embassy-nrf52840-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 9embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
@@ -37,3 +38,8 @@ microfft = "0.5.0"
37 38
38[profile.release] 39[profile.release]
39debug = 2 40debug = 2
41
42[package.metadata.embassy]
43build = [
44 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/nrf52840" }
45]
diff --git a/examples/nrf5340/Cargo.toml b/examples/nrf5340/Cargo.toml
index 19c5e707f..36f74e4b1 100644
--- a/examples/nrf5340/Cargo.toml
+++ b/examples/nrf5340/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf5340-examples" 3name = "embassy-nrf5340-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } 9embassy-futures = { version = "0.1.0", path = "../../embassy-futures" }
@@ -27,3 +28,8 @@ serde = { version = "1.0.136", default-features = false }
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/nrf5340" }
35]
diff --git a/examples/nrf54l15/Cargo.toml b/examples/nrf54l15/Cargo.toml
index 5f1ee50a0..b794b217c 100644
--- a/examples/nrf54l15/Cargo.toml
+++ b/examples/nrf54l15/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf54l15-examples" 3name = "embassy-nrf54l15-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } 9embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@@ -20,3 +21,8 @@ embedded-storage = "0.3.1"
20 21
21[profile.release] 22[profile.release]
22debug = 2 23debug = 2
24
25[package.metadata.embassy]
26build = [
27 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/nrf54l15" }
28]
diff --git a/examples/nrf9151/ns/Cargo.toml b/examples/nrf9151/ns/Cargo.toml
index e7551723d..35550b8c5 100644
--- a/examples/nrf9151/ns/Cargo.toml
+++ b/examples/nrf9151/ns/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf9151-non-secure-examples" 3name = "embassy-nrf9151-non-secure-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } 9embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@@ -18,3 +19,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
18 19
19[profile.release] 20[profile.release]
20debug = 2 21debug = 2
22
23[package.metadata.embassy]
24build = [
25 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/nrf9151/ns" }
26]
diff --git a/examples/nrf9151/s/Cargo.toml b/examples/nrf9151/s/Cargo.toml
index 7f675c5e1..3ef8b33fd 100644
--- a/examples/nrf9151/s/Cargo.toml
+++ b/examples/nrf9151/s/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf9151-secure-examples" 3name = "embassy-nrf9151-secure-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } 9embassy-executor = { version = "0.8.0", path = "../../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@@ -18,3 +19,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
18 19
19[profile.release] 20[profile.release]
20debug = 2 21debug = 2
22
23[package.metadata.embassy]
24build = [
25 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/nrf9151/s" }
26]
diff --git a/examples/nrf9160/Cargo.toml b/examples/nrf9160/Cargo.toml
index 263986c4e..245232c1f 100644
--- a/examples/nrf9160/Cargo.toml
+++ b/examples/nrf9160/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf9160-examples" 3name = "embassy-nrf9160-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } 9embassy-executor = { version = "0.8.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] }
@@ -24,3 +25,8 @@ embedded-io-async = { version = "0.6.1", features = ["defmt-03"] }
24 25
25[profile.release] 26[profile.release]
26debug = 2 27debug = 2
28
29[package.metadata.embassy]
30build = [
31 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/nrf9160" }
32]
diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml
index afe8a90d8..d97ebf43e 100644
--- a/examples/rp/Cargo.toml
+++ b/examples/rp/Cargo.toml
@@ -4,6 +4,7 @@ name = "embassy-rp-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7 8
8[dependencies] 9[dependencies]
9embassy-embedded-hal = { version = "0.4.0", path = "../../embassy-embedded-hal", features = ["defmt"] } 10embassy-embedded-hal = { version = "0.4.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
@@ -60,3 +61,8 @@ embedded-sdmmc = "0.7.0"
60[profile.release] 61[profile.release]
61# Enable generation of debug symbols even on release builds 62# Enable generation of debug symbols even on release builds
62debug = true 63debug = true
64
65[package.metadata.embassy]
66build = [
67 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/rp" }
68]
diff --git a/examples/rp235x/Cargo.toml b/examples/rp235x/Cargo.toml
index 9087c4c83..2c279d7e1 100644
--- a/examples/rp235x/Cargo.toml
+++ b/examples/rp235x/Cargo.toml
@@ -4,6 +4,7 @@ name = "embassy-rp2350-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6 6
7publish = false
7 8
8[dependencies] 9[dependencies]
9embassy-embedded-hal = { version = "0.4.0", path = "../../embassy-embedded-hal", features = ["defmt"] } 10embassy-embedded-hal = { version = "0.4.0", path = "../../embassy-embedded-hal", features = ["defmt"] }
@@ -60,3 +61,8 @@ embedded-sdmmc = "0.7.0"
60[profile.release] 61[profile.release]
61# Enable generation of debug symbols even on release builds 62# Enable generation of debug symbols even on release builds
62debug = true 63debug = true
64
65[package.metadata.embassy]
66build = [
67 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/rp235x" }
68]
diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml
index 9b0ff8be2..6d56d97af 100644
--- a/examples/std/Cargo.toml
+++ b/examples/std/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-std-examples" 3name = "embassy-std-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["log"] } 9embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["log"] }
@@ -27,3 +28,8 @@ static_cell = "2"
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { artifact-dir = "out/examples/std" }
35]
diff --git a/examples/stm32c0/Cargo.toml b/examples/stm32c0/Cargo.toml
index 0a8d4ff2d..56b966d49 100644
--- a/examples/stm32c0/Cargo.toml
+++ b/examples/stm32c0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32c0-examples" 3name = "embassy-stm32c0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32c031c6 to your chip name, if necessary. 9# Change stm32c031c6 to your chip name, if necessary.
@@ -23,3 +24,8 @@ chrono = { version = "^0.4", default-features = false}
23 24
24[profile.release] 25[profile.release]
25debug = 2 26debug = 2
27
28[package.metadata.embassy]
29build = [
30 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/stm32c0" }
31]
diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml
index c3d1b99e5..6cc6eac46 100644
--- a/examples/stm32f0/Cargo.toml
+++ b/examples/stm32f0/Cargo.toml
@@ -3,6 +3,7 @@ name = "embassy-stm32f0-examples"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f091rc to your chip name, if necessary. 9# Change stm32f091rc to your chip name, if necessary.
@@ -20,3 +21,8 @@ portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] }
20 21
21[profile.release] 22[profile.release]
22debug = 2 23debug = 2
24
25[package.metadata.embassy]
26build = [
27 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/stm32f0" }
28]
diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml
index b91c781db..3cb7bd5e3 100644
--- a/examples/stm32f1/Cargo.toml
+++ b/examples/stm32f1/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f1-examples" 3name = "embassy-stm32f1-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f103c8 to your chip name, if necessary. 9# Change stm32f103c8 to your chip name, if necessary.
@@ -29,3 +30,8 @@ opt-level = "s"
29 30
30[profile.release] 31[profile.release]
31debug = 2 32debug = 2
33
34[package.metadata.embassy]
35build = [
36 { target = "thumbv7m-none-eabi", artifact-dir = "out/examples/stm32f1" }
37]
diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml
index 74ecb141d..9c5a7cd7f 100644
--- a/examples/stm32f2/Cargo.toml
+++ b/examples/stm32f2/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f2-examples" 3name = "embassy-stm32f2-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f207zg to your chip name, if necessary. 9# Change stm32f207zg to your chip name, if necessary.
@@ -23,3 +24,8 @@ nb = "1.0.0"
23 24
24[profile.release] 25[profile.release]
25debug = 2 26debug = 2
27
28[package.metadata.embassy]
29build = [
30 { target = "thumbv7m-none-eabi", artifact-dir = "out/examples/stm32f2" }
31]
diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml
index 2cea5028a..690bcb00d 100644
--- a/examples/stm32f3/Cargo.toml
+++ b/examples/stm32f3/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f3-examples" 3name = "embassy-stm32f3-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f303ze to your chip name, if necessary. 9# Change stm32f303ze to your chip name, if necessary.
@@ -27,3 +28,8 @@ static_cell = "2"
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f3" }
35]
diff --git a/examples/stm32f334/Cargo.toml b/examples/stm32f334/Cargo.toml
index 8d015eae7..709da6ed6 100644
--- a/examples/stm32f334/Cargo.toml
+++ b/examples/stm32f334/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f334-examples" 3name = "embassy-stm32f334-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["defmt"] } 9embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["defmt"] }
@@ -23,3 +24,8 @@ heapless = { version = "0.8", default-features = false }
23nb = "1.0.0" 24nb = "1.0.0"
24embedded-storage = "0.3.1" 25embedded-storage = "0.3.1"
25static_cell = "2" 26static_cell = "2"
27
28[package.metadata.embassy]
29build = [
30 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f334" }
31]
diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml
index 3139bdf71..52b48e744 100644
--- a/examples/stm32f4/Cargo.toml
+++ b/examples/stm32f4/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f4-examples" 3name = "embassy-stm32f4-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f429zi to your chip name, if necessary. 9# Change stm32f429zi to your chip name, if necessary.
@@ -37,3 +38,8 @@ chrono = { version = "^0.4", default-features = false}
37 38
38[profile.release] 39[profile.release]
39debug = 2 40debug = 2
41
42[package.metadata.embassy]
43build = [
44 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f4" }
45]
diff --git a/examples/stm32f469/Cargo.toml b/examples/stm32f469/Cargo.toml
index a35a811e2..612081242 100644
--- a/examples/stm32f469/Cargo.toml
+++ b/examples/stm32f469/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f469-examples" 3name = "embassy-stm32f469-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Specific examples only for stm32f469 9# Specific examples only for stm32f469
@@ -20,3 +21,8 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] }
20 21
21[profile.release] 22[profile.release]
22debug = 2 23debug = 2
24
25[package.metadata.embassy]
26build = [
27 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f469" }
28]
diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml
index 261524bc1..1e5ea8d33 100644
--- a/examples/stm32f7/Cargo.toml
+++ b/examples/stm32f7/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f7-examples" 3name = "embassy-stm32f7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f777zi to your chip name, if necessary. 9# Change stm32f777zi to your chip name, if necessary.
@@ -33,3 +34,8 @@ aes-gcm = { version = "0.10.3", default-features = false, features = ["aes", "he
33 34
34[profile.release] 35[profile.release]
35debug = 2 36debug = 2
37
38[package.metadata.embassy]
39build = [
40 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f7" }
41]
diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml
index 61e20168c..7b0da5077 100644
--- a/examples/stm32g0/Cargo.toml
+++ b/examples/stm32g0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32g0-examples" 3name = "embassy-stm32g0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32g0b1re to your chip name, if necessary. 9# Change stm32g0b1re to your chip name, if necessary.
@@ -27,3 +28,8 @@ embedded-io-async = { version = "0.6.1" }
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/stm32g0" }
35]
diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml
index c25df6ea8..15292725f 100644
--- a/examples/stm32g4/Cargo.toml
+++ b/examples/stm32g4/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32g4-examples" 3name = "embassy-stm32g4-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32g491re to your chip name, if necessary. 9# Change stm32g491re to your chip name, if necessary.
@@ -27,3 +28,8 @@ static_cell = "2.0.0"
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32g4" }
35]
diff --git a/examples/stm32h5/Cargo.toml b/examples/stm32h5/Cargo.toml
index 68563dba0..7f9a77e85 100644
--- a/examples/stm32h5/Cargo.toml
+++ b/examples/stm32h5/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h5-examples" 3name = "embassy-stm32h5-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h563zi to your chip name, if necessary. 9# Change stm32h563zi to your chip name, if necessary.
@@ -69,3 +70,8 @@ incremental = false
69lto = 'fat' 70lto = 'fat'
70opt-level = 3 # <- 71opt-level = 3 # <-
71overflow-checks = false # <- 72overflow-checks = false # <-
73
74[package.metadata.embassy]
75build = [
76 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/stm32h5" }
77]
diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml
index 04c9b5bda..be0e46938 100644
--- a/examples/stm32h7/Cargo.toml
+++ b/examples/stm32h7/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h7-examples" 3name = "embassy-stm32h7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h743bi to your chip name, if necessary. 9# Change stm32h743bi to your chip name, if necessary.
@@ -72,3 +73,8 @@ incremental = false
72lto = 'fat' 73lto = 'fat'
73opt-level = 3 # <- 74opt-level = 3 # <-
74overflow-checks = false # <- 75overflow-checks = false # <-
76
77[package.metadata.embassy]
78build = [
79 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h7" }
80]
diff --git a/examples/stm32h723/Cargo.toml b/examples/stm32h723/Cargo.toml
index f7d819867..5a762259b 100644
--- a/examples/stm32h723/Cargo.toml
+++ b/examples/stm32h723/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h723-examples" 3name = "embassy-stm32h723-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h723zg to your chip name, if necessary. 9# Change stm32h723zg to your chip name, if necessary.
@@ -66,3 +67,8 @@ incremental = false
66lto = 'fat' 67lto = 'fat'
67opt-level = 3 # <- 68opt-level = 3 # <-
68overflow-checks = false # <- 69overflow-checks = false # <-
70
71[package.metadata.embassy]
72build = [
73 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h723" }
74]
diff --git a/examples/stm32h735/Cargo.toml b/examples/stm32h735/Cargo.toml
index 946daf550..0b55424e8 100644
--- a/examples/stm32h735/Cargo.toml
+++ b/examples/stm32h735/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h735-examples" 3name = "embassy-stm32h735-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } 9embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = ["defmt", "stm32h735ig", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
@@ -59,3 +60,8 @@ incremental = false
59lto = 'fat' 60lto = 'fat'
60opt-level = 3 # <- 61opt-level = 3 # <-
61overflow-checks = false # <- 62overflow-checks = false # <-
63
64[package.metadata.embassy]
65build = [
66 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h735" }
67]
diff --git a/examples/stm32h742/Cargo.toml b/examples/stm32h742/Cargo.toml
index 8448c2c7a..067663538 100644
--- a/examples/stm32h742/Cargo.toml
+++ b/examples/stm32h742/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32f7-examples" 3name = "embassy-stm32f7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32f777zi to your chip name, if necessary. 9# Change stm32f777zi to your chip name, if necessary.
@@ -63,3 +64,8 @@ aes-gcm = { version = "0.10.3", default-features = false, features = [
63 64
64[profile.release] 65[profile.release]
65debug = 2 66debug = 2
67
68[package.metadata.embassy]
69build = [
70 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h742" }
71]
diff --git a/examples/stm32h755cm4/Cargo.toml b/examples/stm32h755cm4/Cargo.toml
index e1ddf59be..6cd1893d2 100644
--- a/examples/stm32h755cm4/Cargo.toml
+++ b/examples/stm32h755cm4/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h755cm4-examples" 3name = "embassy-stm32h755cm4-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h755zi-cm4 to your chip name, if necessary. 9# Change stm32h755zi-cm4 to your chip name, if necessary.
@@ -64,3 +65,8 @@ incremental = false
64lto = 'fat' 65lto = 'fat'
65opt-level = 3 # <- 66opt-level = 3 # <-
66overflow-checks = false # <- 67overflow-checks = false # <-
68
69[package.metadata.embassy]
70build = [
71 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h755cm4" }
72]
diff --git a/examples/stm32h755cm7/Cargo.toml b/examples/stm32h755cm7/Cargo.toml
index b09095ea1..48783fc7a 100644
--- a/examples/stm32h755cm7/Cargo.toml
+++ b/examples/stm32h755cm7/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h755cm7-examples" 3name = "embassy-stm32h755cm7-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h743bi to your chip name, if necessary. 9# Change stm32h743bi to your chip name, if necessary.
@@ -62,3 +63,8 @@ incremental = false
62lto = 'fat' 63lto = 'fat'
63opt-level = 3 # <- 64opt-level = 3 # <-
64overflow-checks = false # <- 65overflow-checks = false # <-
66
67[package.metadata.embassy]
68build = [
69 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h755cm7" }
70]
diff --git a/examples/stm32h7b0/Cargo.toml b/examples/stm32h7b0/Cargo.toml
index dc876159a..c0d047bd4 100644
--- a/examples/stm32h7b0/Cargo.toml
+++ b/examples/stm32h7b0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h7b0-examples" 3name = "embassy-stm32h7b0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] } 9embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = ["defmt", "stm32h7b0vb", "time-driver-tim2", "exti", "memory-x", "unstable-pac", "chrono"] }
@@ -71,3 +72,8 @@ incremental = false
71lto = 'fat' 72lto = 'fat'
72opt-level = 3 # <- 73opt-level = 3 # <-
73overflow-checks = false # <- 74overflow-checks = false # <-
75
76[package.metadata.embassy]
77build = [
78 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h7b0" }
79]
diff --git a/examples/stm32h7rs/Cargo.toml b/examples/stm32h7rs/Cargo.toml
index 4068fa5df..dcd5b078d 100644
--- a/examples/stm32h7rs/Cargo.toml
+++ b/examples/stm32h7rs/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32h7rs-examples" 3name = "embassy-stm32h7rs-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32h743bi to your chip name, if necessary. 9# Change stm32h743bi to your chip name, if necessary.
@@ -70,3 +71,8 @@ incremental = false
70lto = 'fat' 71lto = 'fat'
71opt-level = 3 # <- 72opt-level = 3 # <-
72overflow-checks = false # <- 73overflow-checks = false # <-
74
75[package.metadata.embassy]
76build = [
77 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32h7rs" }
78]
diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml
index b76f6765f..47ccedeb0 100644
--- a/examples/stm32l0/Cargo.toml
+++ b/examples/stm32l0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32l0-examples" 3name = "embassy-stm32l0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32l072cz to your chip name, if necessary. 9# Change stm32l072cz to your chip name, if necessary.
@@ -28,3 +29,8 @@ portable-atomic = { version = "1.5", features = ["unsafe-assume-single-core"] }
28 29
29[profile.release] 30[profile.release]
30debug = 2 31debug = 2
32
33[package.metadata.embassy]
34build = [
35 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/stm32l0" }
36]
diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml
index 442a5c795..659524cb3 100644
--- a/examples/stm32l1/Cargo.toml
+++ b/examples/stm32l1/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32l1-examples" 3name = "embassy-stm32l1-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["defmt"] } 9embassy-sync = { version = "0.7.1", path = "../../embassy-sync", features = ["defmt"] }
@@ -24,3 +25,8 @@ embedded-storage = "0.3.1"
24 25
25[profile.release] 26[profile.release]
26debug = 2 27debug = 2
28
29[package.metadata.embassy]
30build = [
31 { target = "thumbv7m-none-eabi", artifact-dir = "out/examples/stm32l1" }
32]
diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml
index bbe592212..02fd4ce93 100644
--- a/examples/stm32l4/Cargo.toml
+++ b/examples/stm32l4/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32l4-examples" 3name = "embassy-stm32l4-examples"
4version = "0.1.1" 4version = "0.1.1"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32l4s5vi to your chip name, if necessary. 9# Change stm32l4s5vi to your chip name, if necessary.
@@ -36,3 +37,8 @@ micromath = "2.0.0"
36 37
37[profile.release] 38[profile.release]
38debug = 2 39debug = 2
40
41[package.metadata.embassy]
42build = [
43 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32l4" }
44]
diff --git a/examples/stm32l432/Cargo.toml b/examples/stm32l432/Cargo.toml
index 483403b1d..14db1fb2f 100644
--- a/examples/stm32l432/Cargo.toml
+++ b/examples/stm32l432/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32l4-examples" 3name = "embassy-stm32l4-examples"
4version = "0.1.1" 4version = "0.1.1"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32l4s5vi to your chip name, if necessary. 9# Change stm32l4s5vi to your chip name, if necessary.
@@ -28,3 +29,8 @@ debug = 2
28name = "qspi_mmap" 29name = "qspi_mmap"
29path = "src/bin/qspi_mmap.rs" 30path = "src/bin/qspi_mmap.rs"
30test = false 31test = false
32
33[package.metadata.embassy]
34build = [
35 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32l432" }
36]
diff --git a/examples/stm32l5/Cargo.toml b/examples/stm32l5/Cargo.toml
index 1739f0889..42b46ee0f 100644
--- a/examples/stm32l5/Cargo.toml
+++ b/examples/stm32l5/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32l5-examples" 3name = "embassy-stm32l5-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32l552ze to your chip name, if necessary. 9# Change stm32l552ze to your chip name, if necessary.
@@ -32,3 +33,8 @@ debug = 2
32[[bin]] 33[[bin]]
33name = "stop" 34name = "stop"
34default-features = ["embassy-stm32/low-power"] 35default-features = ["embassy-stm32/low-power"]
36
37[package.metadata.embassy]
38build = [
39 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/stm32l5" }
40]
diff --git a/examples/stm32u0/Cargo.toml b/examples/stm32u0/Cargo.toml
index 1362aa422..09e5eb20c 100644
--- a/examples/stm32u0/Cargo.toml
+++ b/examples/stm32u0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32u0-examples" 3name = "embassy-stm32u0-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32u083rc to your chip name, if necessary. 9# Change stm32u083rc to your chip name, if necessary.
@@ -27,3 +28,8 @@ chrono = { version = "0.4.38", default-features = false }
27 28
28[profile.release] 29[profile.release]
29debug = 2 30debug = 2
31
32[package.metadata.embassy]
33build = [
34 { target = "thumbv6m-none-eabi", artifact-dir = "out/examples/stm32u0" }
35]
diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml
index 53f4ee618..8b5d52aa4 100644
--- a/examples/stm32u5/Cargo.toml
+++ b/examples/stm32u5/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32u5-examples" 3name = "embassy-stm32u5-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32u5g9zj to your chip name, if necessary. 9# Change stm32u5g9zj to your chip name, if necessary.
@@ -32,3 +33,8 @@ trustzone-secure = ["embassy-stm32/trustzone-secure"]
32 33
33[profile.release] 34[profile.release]
34debug = 2 35debug = 2
36
37[package.metadata.embassy]
38build = [
39 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/stm32u5" }
40]
diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml
index 1b2fb9cbd..14e6dfa15 100644
--- a/examples/stm32wb/Cargo.toml
+++ b/examples/stm32wb/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32wb-examples" 3name = "embassy-stm32wb-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32wb55rg to your chip name in both dependencies, if necessary. 9# Change stm32wb55rg to your chip name in both dependencies, if necessary.
@@ -54,3 +55,8 @@ required-features = ["ble"]
54 55
55[profile.release] 56[profile.release]
56debug = 2 57debug = 2
58
59[package.metadata.embassy]
60build = [
61 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32wb" }
62]
diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml
index a6ea433cf..9c11528cd 100644
--- a/examples/stm32wba/Cargo.toml
+++ b/examples/stm32wba/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32wba-examples" 3name = "embassy-stm32wba-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba55cg", "time-driver-any", "memory-x", "exti"] } 9embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba55cg", "time-driver-any", "memory-x", "exti"] }
@@ -23,3 +24,8 @@ static_cell = "2"
23 24
24[profile.release] 25[profile.release]
25debug = 2 26debug = 2
27
28[package.metadata.embassy]
29build = [
30 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/stm32wba" }
31]
diff --git a/examples/stm32wba6/Cargo.toml b/examples/stm32wba6/Cargo.toml
index 980091eaf..f1f9cf88b 100644
--- a/examples/stm32wba6/Cargo.toml
+++ b/examples/stm32wba6/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32wba-examples" 3name = "embassy-stm32wba-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba65ri", "time-driver-any", "memory-x", "exti"] } 9embassy-stm32 = { version = "0.3.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba65ri", "time-driver-any", "memory-x", "exti"] }
@@ -24,3 +25,8 @@ static_cell = "2"
24 25
25[profile.release] 26[profile.release]
26debug = 2 27debug = 2
28
29[package.metadata.embassy]
30build = [
31 { target = "thumbv8m.main-none-eabihf", artifact-dir = "out/examples/stm32wba6" }
32]
diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml
index 31729565d..a75e4ed30 100644
--- a/examples/stm32wl/Cargo.toml
+++ b/examples/stm32wl/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-stm32wl-examples" 3name = "embassy-stm32wl-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8# Change stm32wl55jc-cm4 to your chip name, if necessary. 9# Change stm32wl55jc-cm4 to your chip name, if necessary.
@@ -25,3 +26,8 @@ chrono = { version = "^0.4", default-features = false }
25 26
26[profile.release] 27[profile.release]
27debug = 2 28debug = 2
29
30[package.metadata.embassy]
31build = [
32 { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32wl" }
33]
diff --git a/examples/wasm/Cargo.toml b/examples/wasm/Cargo.toml
index af139fdbd..28b4f1c30 100644
--- a/examples/wasm/Cargo.toml
+++ b/examples/wasm/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-wasm-example" 3name = "embassy-wasm-example"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[lib] 8[lib]
8crate-type = ["cdylib"] 9crate-type = ["cdylib"]
@@ -19,3 +20,8 @@ log = "0.4.11"
19 20
20[profile.release] 21[profile.release]
21debug = 2 22debug = 2
23
24[package.metadata.embassy]
25build = [
26 { target = "wasm32-unknown-unknown", artifact-dir = "out/examples/wasm" }
27]
diff --git a/release/src/build.rs b/release/src/build.rs
index d1abb2aa1..7c777d36c 100644
--- a/release/src/build.rs
+++ b/release/src/build.rs
@@ -34,6 +34,10 @@ pub(crate) fn build(ctx: &crate::Context, crate_name: Option<&str>) -> Result<()
34 args_builder = args_builder.features(&config.features); 34 args_builder = args_builder.features(&config.features);
35 } 35 }
36 36
37 if let Some(ref artifact_dir) = config.artifact_dir {
38 args_builder = args_builder.artifact_dir(artifact_dir);
39 }
40
37 batch_builder.add_command(args_builder.build()); 41 batch_builder.add_command(args_builder.build());
38 } 42 }
39 } 43 }
diff --git a/release/src/cargo.rs b/release/src/cargo.rs
index 0b28458e9..826a3a8b2 100644
--- a/release/src/cargo.rs
+++ b/release/src/cargo.rs
@@ -149,6 +149,15 @@ impl CargoArgsBuilder {
149 } 149 }
150 150
151 #[must_use] 151 #[must_use]
152 pub fn artifact_dir<S>(mut self, artifact_dir: S) -> Self
153 where
154 S: Into<String>,
155 {
156 self.args.push(format!("--artifact-dir={}", artifact_dir.into()));
157 self
158 }
159
160 #[must_use]
152 pub fn arg<S>(mut self, arg: S) -> Self 161 pub fn arg<S>(mut self, arg: S) -> Self
153 where 162 where
154 S: Into<String>, 163 S: Into<String>,
diff --git a/release/src/main.rs b/release/src/main.rs
index b1bc17255..5605ca332 100644
--- a/release/src/main.rs
+++ b/release/src/main.rs
@@ -3,7 +3,7 @@ use std::fs;
3use std::path::{Path, PathBuf}; 3use std::path::{Path, PathBuf};
4use std::process::Command as ProcessCommand; 4use std::process::Command as ProcessCommand;
5 5
6use anyhow::{anyhow, Result}; 6use anyhow::{anyhow, bail, Result};
7use clap::{Parser, Subcommand}; 7use clap::{Parser, Subcommand};
8use log::info; 8use log::info;
9use petgraph::graph::{Graph, NodeIndex}; 9use petgraph::graph::{Graph, NodeIndex};
@@ -13,6 +13,25 @@ use simple_logger::SimpleLogger;
13use toml_edit::{DocumentMut, Item, Value}; 13use toml_edit::{DocumentMut, Item, Value};
14use types::*; 14use types::*;
15 15
16fn check_publish_dependencies(ctx: &Context) -> Result<()> {
17 for krate in ctx.crates.values() {
18 if krate.publish {
19 for dep_name in &krate.dependencies {
20 if let Some(dep_crate) = ctx.crates.get(dep_name) {
21 if !dep_crate.publish {
22 return Err(anyhow!(
23 "Publishable crate '{}' depends on non-publishable crate '{}'. This is not allowed.",
24 krate.name,
25 dep_name
26 ));
27 }
28 }
29 }
30 }
31 }
32 Ok(())
33}
34
16mod build; 35mod build;
17mod cargo; 36mod cargo;
18mod semver_check; 37mod semver_check;
@@ -56,7 +75,7 @@ enum Command {
56 }, 75 },
57 /// SemverCheck 76 /// SemverCheck
58 SemverCheck { 77 SemverCheck {
59 /// Crate to check. Will traverse that crate an it's dependents. If not specified checks all crates. 78 /// Specific crate name to check
60 #[arg(value_name = "CRATE")] 79 #[arg(value_name = "CRATE")]
61 crate_name: String, 80 crate_name: String,
62 }, 81 },
@@ -120,53 +139,72 @@ fn update_versions(to_update: &Crate, dep: &CrateId, new_version: &str) -> Resul
120} 139}
121 140
122fn list_crates(root: &PathBuf) -> Result<BTreeMap<CrateId, Crate>> { 141fn list_crates(root: &PathBuf) -> Result<BTreeMap<CrateId, Crate>> {
123 let d = std::fs::read_dir(root)?;
124 let mut crates = BTreeMap::new(); 142 let mut crates = BTreeMap::new();
143 discover_crates(root, &mut crates)?;
144 Ok(crates)
145}
146
147fn discover_crates(dir: &PathBuf, crates: &mut BTreeMap<CrateId, Crate>) -> Result<()> {
148 let d = std::fs::read_dir(dir)?;
125 for c in d { 149 for c in d {
126 let entry = c?; 150 let entry = c?;
127 if entry.file_type()?.is_dir() { 151 if entry.file_type()?.is_dir() {
128 let path = root.join(entry.path()); 152 let path = dir.join(entry.path());
129 let entry = path.join("Cargo.toml"); 153 let cargo_toml = path.join("Cargo.toml");
130 if entry.exists() {
131 let content = fs::read_to_string(&entry)?;
132 let parsed: ParsedCrate = toml::from_str(&content)?;
133 let id = parsed.package.name;
134 154
135 let metadata = &parsed.package.metadata.embassy; 155 if cargo_toml.exists() {
156 let content = fs::read_to_string(&cargo_toml)?;
136 157
137 if metadata.skip { 158 // Try to parse as a crate, skip if it's a workspace
138 continue; 159 let parsed: Result<ParsedCrate, _> = toml::from_str(&content);
139 } 160 if let Ok(parsed) = parsed {
161 let id = parsed.package.name;
140 162
141 let mut dependencies = Vec::new(); 163 let metadata = &parsed.package.metadata.embassy;
142 for (k, _) in parsed.dependencies { 164
143 if k.starts_with("embassy-") { 165 if metadata.skip {
144 dependencies.push(k); 166 continue;
145 } 167 }
146 }
147 168
148 let mut configs = metadata.build.clone(); 169 let mut dependencies = Vec::new();
149 if configs.is_empty() { 170 for (k, _) in parsed.dependencies {
150 configs.push(BuildConfig { 171 if k.starts_with("embassy-") {
151 features: vec![], 172 dependencies.push(k);
152 target: None, 173 }
153 }) 174 }
154 } 175
176 let mut configs = metadata.build.clone();
177 if configs.is_empty() {
178 configs.push(BuildConfig {
179 features: vec![],
180 target: None,
181 artifact_dir: None,
182 })
183 }
155 184
156 crates.insert( 185 crates.insert(
157 id.clone(), 186 id.clone(),
158 Crate { 187 Crate {
159 name: id, 188 name: id,
160 version: parsed.package.version, 189 version: parsed.package.version,
161 path, 190 path,
162 dependencies, 191 dependencies,
163 configs, 192 configs,
164 }, 193 publish: parsed.package.publish,
165 ); 194 },
195 );
196 }
197 } else {
198 // Recursively search subdirectories, but only for examples, tests, and docs
199 let file_name = entry.file_name();
200 let dir_name = file_name.to_string_lossy();
201 if dir_name == "examples" || dir_name == "tests" || dir_name == "docs" {
202 discover_crates(&path, crates)?;
203 }
166 } 204 }
167 } 205 }
168 } 206 }
169 Ok(crates) 207 Ok(())
170} 208}
171 209
172fn build_graph(crates: &BTreeMap<CrateId, Crate>) -> (Graph<CrateId, ()>, HashMap<CrateId, NodeIndex>) { 210fn build_graph(crates: &BTreeMap<CrateId, Crate>) -> (Graph<CrateId, ()>, HashMap<CrateId, NodeIndex>) {
@@ -214,12 +252,17 @@ fn load_context(args: &Args) -> Result<Context> {
214 let crates = list_crates(&root)?; 252 let crates = list_crates(&root)?;
215 let (graph, indices) = build_graph(&crates); 253 let (graph, indices) = build_graph(&crates);
216 254
217 Ok(Context { 255 let ctx = Context {
218 root, 256 root,
219 crates, 257 crates,
220 graph, 258 graph,
221 indices, 259 indices,
222 }) 260 };
261
262 // Check for publish dependency conflicts
263 check_publish_dependencies(&ctx)?;
264
265 Ok(ctx)
223} 266}
224 267
225fn main() -> Result<()> { 268fn main() -> Result<()> {
@@ -274,10 +317,21 @@ fn main() -> Result<()> {
274 } 317 }
275 Command::SemverCheck { crate_name } => { 318 Command::SemverCheck { crate_name } => {
276 let c = ctx.crates.get(&crate_name).unwrap(); 319 let c = ctx.crates.get(&crate_name).unwrap();
320 if !c.publish {
321 bail!("Cannot run semver-check on non-publishable crate '{}'", crate_name);
322 }
277 check_semver(&c)?; 323 check_semver(&c)?;
278 } 324 }
279 Command::PrepareRelease { crate_name } => { 325 Command::PrepareRelease { crate_name } => {
280 let start = ctx.indices.get(&crate_name).expect("unable to find crate in tree"); 326 let start = ctx.indices.get(&crate_name).expect("unable to find crate in tree");
327
328 // Check if the target crate is publishable
329 let start_weight = ctx.graph.node_weight(*start).unwrap();
330 let start_crate = ctx.crates.get(start_weight).unwrap();
331 if !start_crate.publish {
332 bail!("Cannot prepare release for non-publishable crate '{}'", crate_name);
333 }
334
281 let mut rgraph = ctx.graph.clone(); 335 let mut rgraph = ctx.graph.clone();
282 rgraph.reverse(); 336 rgraph.reverse();
283 337
diff --git a/release/src/types.rs b/release/src/types.rs
index c5b774977..4d9d440d8 100644
--- a/release/src/types.rs
+++ b/release/src/types.rs
@@ -13,10 +13,16 @@ pub struct ParsedCrate {
13pub struct ParsedPackage { 13pub struct ParsedPackage {
14 pub name: String, 14 pub name: String,
15 pub version: String, 15 pub version: String,
16 #[serde(default = "default_publish")]
17 pub publish: bool,
16 #[serde(default)] 18 #[serde(default)]
17 pub metadata: Metadata, 19 pub metadata: Metadata,
18} 20}
19 21
22fn default_publish() -> bool {
23 true
24}
25
20#[derive(Debug, Deserialize, Default)] 26#[derive(Debug, Deserialize, Default)]
21pub struct Metadata { 27pub struct Metadata {
22 #[serde(default)] 28 #[serde(default)]
@@ -36,6 +42,8 @@ pub struct BuildConfig {
36 #[serde(default)] 42 #[serde(default)]
37 pub features: Vec<String>, 43 pub features: Vec<String>,
38 pub target: Option<String>, 44 pub target: Option<String>,
45 #[serde(rename = "artifact-dir")]
46 pub artifact_dir: Option<String>,
39} 47}
40 48
41pub type CrateId = String; 49pub type CrateId = String;
@@ -47,4 +55,5 @@ pub struct Crate {
47 pub path: PathBuf, 55 pub path: PathBuf,
48 pub dependencies: Vec<CrateId>, 56 pub dependencies: Vec<CrateId>,
49 pub configs: Vec<BuildConfig>, 57 pub configs: Vec<BuildConfig>,
58 pub publish: bool,
50} 59}
diff --git a/tests/mspm0/Cargo.toml b/tests/mspm0/Cargo.toml
index e4033b8b7..5cf1b0ed1 100644
--- a/tests/mspm0/Cargo.toml
+++ b/tests/mspm0/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-mspm0-tests" 3name = "embassy-mspm0-tests"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[features] 8[features]
8mspm0g3507 = [ "embassy-mspm0/mspm0g3507pm" ] 9mspm0g3507 = [ "embassy-mspm0/mspm0g3507pm" ]
@@ -60,3 +61,8 @@ debug = false
60debug-assertions = false 61debug-assertions = false
61opt-level = 0 62opt-level = 0
62overflow-checks = false 63overflow-checks = false
64
65[package.metadata.embassy]
66build = [
67 { target = "thumbv6m-none-eabi", features = ["mspm0g3507"], artifact-dir = "out/tests/mspm0g3507" }
68]
diff --git a/tests/nrf/Cargo.toml b/tests/nrf/Cargo.toml
index ef7dc96ec..b94b54f4e 100644
--- a/tests/nrf/Cargo.toml
+++ b/tests/nrf/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-nrf-examples" 3name = "embassy-nrf-examples"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8teleprobe-meta = "1" 9teleprobe-meta = "1"
@@ -112,3 +113,13 @@ path = "src/bin/wifi_esp_hosted_perf.rs"
112required-features = [ "nrf52840",] 113required-features = [ "nrf52840",]
113 114
114# END TESTS 115# END TESTS
116
117[package.metadata.embassy]
118build = [
119 { target = "thumbv6m-none-eabi", features = ["nrf51422"], artifact-dir = "out/tests/nrf51422-dk" },
120 { target = "thumbv7em-none-eabi", features = ["nrf52832"], artifact-dir = "out/tests/nrf52832-dk" },
121 { target = "thumbv7em-none-eabi", features = ["nrf52833"], artifact-dir = "out/tests/nrf52833-dk" },
122 { target = "thumbv7em-none-eabi", features = ["nrf52840"], artifact-dir = "out/tests/nrf52840-dk" },
123 { target = "thumbv8m.main-none-eabihf", features = ["nrf5340"], artifact-dir = "out/tests/nrf5340-dk" },
124 { target = "thumbv8m.main-none-eabihf", features = ["nrf9160"], artifact-dir = "out/tests/nrf9160-dk" }
125]
diff --git a/tests/perf-client/Cargo.toml b/tests/perf-client/Cargo.toml
index e31d6361b..ea0663b6f 100644
--- a/tests/perf-client/Cargo.toml
+++ b/tests/perf-client/Cargo.toml
@@ -2,6 +2,7 @@
2name = "perf-client" 2name = "perf-client"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5publish = false
5 6
6[dependencies] 7[dependencies]
7embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] } 8embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4"] }
diff --git a/tests/perf-server/Cargo.toml b/tests/perf-server/Cargo.toml
index 532039050..22614a33a 100644
--- a/tests/perf-server/Cargo.toml
+++ b/tests/perf-server/Cargo.toml
@@ -2,6 +2,7 @@
2name = "perf-server" 2name = "perf-server"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5publish = false
5 6
6[dependencies] 7[dependencies]
7log = "0.4.17" 8log = "0.4.17"
diff --git a/tests/riscv32/Cargo.toml b/tests/riscv32/Cargo.toml
index 283ea5033..781fec62f 100644
--- a/tests/riscv32/Cargo.toml
+++ b/tests/riscv32/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-riscv-tests" 3name = "embassy-riscv-tests"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[dependencies] 8[dependencies]
8critical-section = { version = "1.1.1", features = ["restore-state-bool"] } 9critical-section = { version = "1.1.1", features = ["restore-state-bool"] }
@@ -44,3 +45,8 @@ debug = false
44debug-assertions = false 45debug-assertions = false
45opt-level = 0 46opt-level = 0
46overflow-checks = false 47overflow-checks = false
48
49[package.metadata.embassy]
50build = [
51 { target = "riscv32imac-unknown-none-elf" }
52]
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml
index eef6c47ae..088195a75 100644
--- a/tests/rp/Cargo.toml
+++ b/tests/rp/Cargo.toml
@@ -3,6 +3,7 @@ edition = "2021"
3name = "embassy-rp-tests" 3name = "embassy-rp-tests"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6publish = false
6 7
7[features] 8[features]
8rp2040 = ["embassy-rp/rp2040"] 9rp2040 = ["embassy-rp/rp2040"]
@@ -92,3 +93,9 @@ debug = false
92debug-assertions = false 93debug-assertions = false
93opt-level = 0 94opt-level = 0
94overflow-checks = false 95overflow-checks = false
96
97[package.metadata.embassy]
98build = [
99 { target = "thumbv6m-none-eabi", features = ["rp2040"], artifact-dir = "out/tests/rpi-pico" },
100 { target = "thumbv8m.main-none-eabihf", features = ["rp235xb"], artifact-dir = "out/tests/pimoroni-pico-plus-2" }
101]
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml
index c011a6d7d..37d5161f8 100644
--- a/tests/stm32/Cargo.toml
+++ b/tests/stm32/Cargo.toml
@@ -4,6 +4,7 @@ name = "embassy-stm32-tests"
4version = "0.1.0" 4version = "0.1.0"
5license = "MIT OR Apache-2.0" 5license = "MIT OR Apache-2.0"
6autobins = false 6autobins = false
7publish = false
7 8
8[features] 9[features]
9stm32c031c6 = ["embassy-stm32/stm32c031c6", "cm0", "not-gpdma"] 10stm32c031c6 = ["embassy-stm32/stm32c031c6", "cm0", "not-gpdma"]
@@ -243,3 +244,36 @@ debug = false
243debug-assertions = false 244debug-assertions = false
244opt-level = 0 245opt-level = 0
245overflow-checks = false 246overflow-checks = false
247
248[package.metadata.embassy]
249build = [
250 { target = "thumbv7m-none-eabi", features = ["stm32f103c8"], artifact-dir = "out/tests/stm32f103c8" },
251 { target = "thumbv7em-none-eabi", features = ["stm32f429zi"], artifact-dir = "out/tests/stm32f429zi" },
252 { target = "thumbv7em-none-eabi", features = ["stm32f446re"], artifact-dir = "out/tests/stm32f446re" },
253 { target = "thumbv7em-none-eabi", features = ["stm32g491re"], artifact-dir = "out/tests/stm32g491re" },
254 { target = "thumbv6m-none-eabi", features = ["stm32g071rb"], artifact-dir = "out/tests/stm32g071rb" },
255 { target = "thumbv6m-none-eabi", features = ["stm32c031c6"], artifact-dir = "out/tests/stm32c031c6" },
256 { target = "thumbv6m-none-eabi", features = ["stm32c071rb"], artifact-dir = "out/tests/stm32c071rb" },
257 { target = "thumbv7em-none-eabi", features = ["stm32h755zi"], artifact-dir = "out/tests/stm32h755zi" },
258 { target = "thumbv7em-none-eabi", features = ["stm32h753zi"], artifact-dir = "out/tests/stm32h753zi" },
259 { target = "thumbv7em-none-eabi", features = ["stm32h7a3zi"], artifact-dir = "out/tests/stm32h7a3zi" },
260 { target = "thumbv7em-none-eabi", features = ["stm32wb55rg"], artifact-dir = "out/tests/stm32wb55rg" },
261 { target = "thumbv8m.main-none-eabihf", features = ["stm32h563zi"], artifact-dir = "out/tests/stm32h563zi" },
262 { target = "thumbv8m.main-none-eabihf", features = ["stm32u585ai"], artifact-dir = "out/tests/stm32u585ai" },
263 { target = "thumbv8m.main-none-eabihf", features = ["stm32u5a5zj"], artifact-dir = "out/tests/stm32u5a5zj" },
264 { target = "thumbv8m.main-none-eabihf", features = ["stm32wba52cg"], artifact-dir = "out/tests/stm32wba52cg" },
265 { target = "thumbv6m-none-eabi", features = ["stm32l073rz"], artifact-dir = "out/tests/stm32l073rz" },
266 { target = "thumbv7m-none-eabi", features = ["stm32l152re"], artifact-dir = "out/tests/stm32l152re" },
267 { target = "thumbv7em-none-eabi", features = ["stm32l4a6zg"], artifact-dir = "out/tests/stm32l4a6zg" },
268 { target = "thumbv7em-none-eabi", features = ["stm32l4r5zi"], artifact-dir = "out/tests/stm32l4r5zi" },
269 { target = "thumbv8m.main-none-eabihf", features = ["stm32l552ze"], artifact-dir = "out/tests/stm32l552ze" },
270 { target = "thumbv7em-none-eabi", features = ["stm32f767zi"], artifact-dir = "out/tests/stm32f767zi" },
271 { target = "thumbv7m-none-eabi", features = ["stm32f207zg"], artifact-dir = "out/tests/stm32f207zg" },
272 { target = "thumbv7em-none-eabi", features = ["stm32f303ze"], artifact-dir = "out/tests/stm32f303ze" },
273 { target = "thumbv7em-none-eabi", features = ["stm32l496zg"], artifact-dir = "out/tests/stm32l496zg" },
274 { target = "thumbv7em-none-eabi", features = ["stm32wl55jc"], artifact-dir = "out/tests/stm32wl55jc" },
275 { target = "thumbv7em-none-eabi", features = ["stm32h7s3l8"], artifact-dir = "out/tests/stm32h7s3l8" },
276 { target = "thumbv6m-none-eabi", features = ["stm32f091rc"], artifact-dir = "out/tests/stm32f091rc" },
277 { target = "thumbv8m.main-none-eabihf", features = ["stm32h503rb"], artifact-dir = "out/tests/stm32h503rb" },
278 { target = "thumbv6m-none-eabi", features = ["stm32u083rc"], artifact-dir = "out/tests/stm32u083rc" }
279]
diff --git a/tests/utils/Cargo.toml b/tests/utils/Cargo.toml
index bda55ad32..f76feaa20 100644
--- a/tests/utils/Cargo.toml
+++ b/tests/utils/Cargo.toml
@@ -2,6 +2,7 @@
2name = "test-utils" 2name = "test-utils"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2021"
5publish = false
5 6
6[dependencies] 7[dependencies]
7rand = "0.9" 8rand = "0.9"
diff --git a/tests/utils/src/bin/saturate_serial.rs b/tests/utils/src/bin/saturate_serial.rs
index 18ca12fb7..85676b106 100644
--- a/tests/utils/src/bin/saturate_serial.rs
+++ b/tests/utils/src/bin/saturate_serial.rs
@@ -2,7 +2,7 @@ use std::path::Path;
2use std::time::Duration; 2use std::time::Duration;
3use std::{env, io, process, thread}; 3use std::{env, io, process, thread};
4 4
5use rand::random; 5use rand::{rng, Rng};
6use serial::SerialPort; 6use serial::SerialPort;
7 7
8pub fn main() { 8pub fn main() {
@@ -34,14 +34,15 @@ fn saturate<T: SerialPort>(port: &mut T, idles: bool) -> io::Result<()> {
34 })?; 34 })?;
35 35
36 let mut written = 0; 36 let mut written = 0;
37 let mut rng = rng();
37 loop { 38 loop {
38 let len = random::<usize>() % 0x1000; 39 let len = rng.random_range(1..=0x1000);
39 let buf: Vec<u8> = (written..written + len).map(|x| x as u8).collect(); 40 let buf: Vec<u8> = (written..written + len).map(|x| x as u8).collect();
40 41
41 port.write_all(&buf)?; 42 port.write_all(&buf)?;
42 43
43 if idles { 44 if idles {
44 let micros = (random::<usize>() % 1000) as u64; 45 let micros = rng.random_range(1..=1000) as u64;
45 println!("Sleeping {}us", micros); 46 println!("Sleeping {}us", micros);
46 port.flush().unwrap(); 47 port.flush().unwrap();
47 thread::sleep(Duration::from_micros(micros)); 48 thread::sleep(Duration::from_micros(micros));