diff --git a/Cargo.lock b/Cargo.lock index 35c2e95..c67b3d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -88,7 +88,7 @@ checksum = "c0cb6f3d4773a2107b94cbeccaa5b5f0b35a88389b5d522d13d659f64317b22d" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -158,9 +158,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.4.3" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509591b7bcd67f4ef775afad7662703b4935daaa6ec0e5605cfb1090b32a2b6d" +checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" dependencies = [ "find-msvc-tools", "shlex", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" dependencies = [ "cfg-if", ] @@ -278,12 +278,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88490bf1b990d87eaaa7ac8aa887f629a08e7359765b4911faf63c3763347d23" +checksum = "ed17f5901b6630b993ca003def43f2f8ef4014fc13b047b57aad617ff32bc2ec" dependencies = [ - "darling_core 0.24.0", - "darling_macro 0.24.0", + "darling_core 0.24.1", + "darling_macro 0.24.1", ] [[package]] @@ -315,15 +315,15 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084e274f91c482280130e1e34e0b8d6e66776a060d7b6de7b84289ca778868c4" +checksum = "6837e2cf7485aaae18f86181d2f0e9a7ed297a025e220aeabf63fdebd3a2ddff" dependencies = [ "ident_case", "proc-macro2", "quote", "strsim", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -350,13 +350,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5792fa0d41cd2325ce0ffa64f0a340eaebd4971a3a0c5e1ffd2cc488a355e" +checksum = "2ac7135c3ef02b2f7833bbeb1be5ba7f966dcde8a87c6b87f65a778d71a02785" dependencies = [ - "darling_core 0.24.0", + "darling_core 0.24.1", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -870,7 +870,7 @@ dependencies = [ "cfg-if", "document-features", "esp-config", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-println", "heapless 0.9.3", "riscv", @@ -889,7 +889,7 @@ dependencies = [ "embedded-storage", "esp-config", "esp-hal-procmacros", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-rom-sys", "jiff", "strum", @@ -902,7 +902,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d9b92fd9cfb0b4f8f1b6219b9763269a335571e307b014903b8201619374b80" dependencies = [ "document-features", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "serde", "serde_yaml", "somni-expr", @@ -938,19 +938,19 @@ dependencies = [ "enumset", "esp-config", "esp-hal-procmacros", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-riscv-rt", "esp-rom-sys", "esp-sync", "esp-synopsys-usb-otg", - "esp32", + "esp32 0.40.2", "esp32c2", - "esp32c3", + "esp32c3 0.32.3", "esp32c5", "esp32c6", "esp32c61", "esp32h2", - "esp32s2", + "esp32s2 0.31.2", "esp32s3", "fugit", "instability", @@ -990,6 +990,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42c2ee95b945a4780796e4359e72c033aed3b45073880e8029458f538532db8a" +[[package]] +name = "esp-metadata-generated" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d5a63d730b8c56e6b32773e35fcc4988d7d2e5c64d521652317d3ebddf2b52" + [[package]] name = "esp-phy" version = "0.2.0" @@ -1002,12 +1008,14 @@ dependencies = [ "embassy-sync 0.8.0", "esp-config", "esp-hal", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-sync", "esp-wifi-sys-esp32", + "esp-wifi-sys-esp32c3", "esp-wifi-sys-esp32s2", - "esp32", - "esp32s2", + "esp32 0.40.2", + "esp32c3 0.32.3", + "esp32s2 0.31.2", "log", ] @@ -1019,7 +1027,7 @@ checksum = "42dee1e9ac7c3539bf6464db1707b0edd7557168f98278cf3c84fe70e63c6ce6" dependencies = [ "defmt 1.1.1", "document-features", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-sync", "log", ] @@ -1038,15 +1046,15 @@ dependencies = [ [[package]] name = "esp-rom-sys" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae852ccb08971155023d1371c96d5490cbc26860f06aee2d629ef73f1a890c3" +checksum = "e933ff78374b763b65998b64ad671b4890ed4ba13a80deff9f53afe95ede289d" dependencies = [ - "cfg-if", "document-features", - "esp-metadata-generated", - "esp32", - "esp32s2", + "esp-metadata-generated 0.5.1", + "esp32 0.41.0", + "esp32c3 0.33.0", + "esp32s2 0.32.0", ] [[package]] @@ -1064,7 +1072,7 @@ dependencies = [ "esp-config", "esp-hal", "esp-hal-procmacros", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "esp-rom-sys", "esp-sync", "portable-atomic", @@ -1084,7 +1092,7 @@ dependencies = [ "embassy-sync 0.6.2", "embassy-sync 0.7.2", "embassy-sync 0.8.0", - "esp-metadata-generated", + "esp-metadata-generated 0.4.0", "log", "riscv", "xtensa-lx", @@ -1105,9 +1113,8 @@ dependencies = [ [[package]] name = "esp-wifi-hal" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a48e528ba5505b13df1a10eb31717f87b85be2e9f13ff3bdf7ee5fce7883f2" +version = "0.3.3" +source = "git+https://github.com/okhsunrog/esp-wifi-hal.git?rev=e65264ae992a02a4d776b33ad3e3784cf8f33260#e65264ae992a02a4d776b33ad3e3784cf8f33260" dependencies = [ "bitfield-struct 0.13.0", "critical-section", @@ -1121,9 +1128,11 @@ dependencies = [ "esp-sync", "esp-wifi-rates", "esp-wifi-sys-esp32", + "esp-wifi-sys-esp32c3", "esp-wifi-sys-esp32s2", - "esp32", - "esp32s2", + "esp32 0.40.2", + "esp32c3 0.32.3", + "esp32s2 0.31.2", "log", "macro-bits", "num", @@ -1147,6 +1156,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2556f38f5292d9735d4e156e276815fc001c9a0a2be0544a575c5fb867129d24" +[[package]] +name = "esp-wifi-sys-esp32c3" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b290846b53db9a3965866964260220b67f2c41cc2dbc0b377e7136239fe168a7" + [[package]] name = "esp-wifi-sys-esp32s2" version = "0.2.0" @@ -1163,6 +1178,15 @@ dependencies = [ "vcell", ] +[[package]] +name = "esp32" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f9714c79477940e5c7848b3832af89cd3bcd79abf4067e6938ae90de187a45" +dependencies = [ + "vcell", +] + [[package]] name = "esp32c2" version = "0.29.2" @@ -1175,14 +1199,22 @@ dependencies = [ [[package]] name = "esp32c3" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e89ed62cf6c043a6d29c520b02a13b359ec8a75d67b65d4330ed717d15fe97" +version = "0.32.3" +source = "git+https://github.com/okhsunrog/esp-pacs.git?rev=9be190016260ef195c97f7aa5aa7c576a1646890#9be190016260ef195c97f7aa5aa7c576a1646890" dependencies = [ "defmt 1.1.1", "vcell", ] +[[package]] +name = "esp32c3" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb892f670ff857033c1624f99ecba1a3f3cafa05c45d734bc129388276715cf" +dependencies = [ + "vcell", +] + [[package]] name = "esp32c5" version = "0.2.2" @@ -1233,6 +1265,15 @@ dependencies = [ "vcell", ] +[[package]] +name = "esp32s2" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbeb62af2f2ca94a85be9ab22f8ad97c23ba79b9b3d3e4e20f3e0957bc5f2b2d" +dependencies = [ + "vcell", +] + [[package]] name = "esp32s3" version = "0.35.2" @@ -1301,9 +1342,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" [[package]] name = "fnv" @@ -1563,9 +1604,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.14.0" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", "hashbrown", @@ -1595,11 +1636,11 @@ version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf84e73fa6f27f299dec58e13223cf70db80da872eb921d4f6138342a0eabc8" dependencies = [ - "darling 0.24.0", + "darling 0.24.1", "indoc", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -1681,9 +1722,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "loom" @@ -1761,7 +1802,7 @@ checksum = "fc80370b4544f28ffa317e3c3474ee3ecbfe269196c01ae657d9f837a7d944a1" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -1906,9 +1947,9 @@ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" dependencies = [ "portable-atomic", ] @@ -2141,13 +2182,13 @@ dependencies = [ [[package]] name = "scroll_derive" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed76efe62313ab6610570951494bdaa81568026e0318eaa55f167de70eeea67d" +checksum = "e1a36a382ed65dbcc0ab47fd5e9a94112417ccd34560a392ef3b7b0f0ec39148" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.5", ] [[package]] @@ -2196,7 +2237,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -2261,9 +2302,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.2" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +checksum = "b9be42f50aa861c555654aa3a37f52f4b1074bacf4e48fe0ef7fa584e80f1f0f" [[package]] name = "smoltcp" @@ -2363,9 +2404,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.3" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" dependencies = [ "proc-macro2", "quote", @@ -2398,7 +2439,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.5", ] [[package]] @@ -2652,18 +2693,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.56" +version = "0.8.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb" +checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.56" +version = "0.8.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1" +checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index a61140e..31d3f8d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,3 +38,8 @@ lto = 'fat' opt-level = 's' overflow-checks = false +[patch.crates-io] +# esp-wifi-hal with ESP32-C3 support (esp32-open-mac/esp-wifi-hal pull request) and the esp32c3 +# PAC with the Wi-Fi MAC register block (esp-rs/esp-pacs#510, rebased onto the 0.32.3 release). +esp-wifi-hal = { git = "https://github.com/okhsunrog/esp-wifi-hal.git", rev = "e65264ae992a02a4d776b33ad3e3784cf8f33260" } +esp32c3 = { git = "https://github.com/okhsunrog/esp-pacs.git", rev = "9be190016260ef195c97f7aa5aa7c576a1646890" } diff --git a/examples/.cargo/config.toml b/examples/.cargo/config.toml index 53c66e1..0334c53 100644 --- a/examples/.cargo/config.toml +++ b/examples/.cargo/config.toml @@ -1,6 +1,9 @@ [target.'cfg(any(target_arch = "xtensa", target_arch = "riscv"))'] runner = "espflash flash --monitor -S" +[target.riscv32imc-unknown-none-elf] +rustflags = ["-C", "link-arg=-Tdefmt.x"] + [build] target = ["xtensa-esp32-none-elf", "xtensa-esp32s2-none-elf"] diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 03d2f81..6667365 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -69,3 +69,13 @@ esp32s2 = [ "foa_sta/esp32s2", "foa_awdl/esp32s2", ] +esp32c3 = [ + "esp-hal/esp32c3", + "esp-rtos/esp32c3", + "esp-println/esp32c3", + "esp-backtrace/esp32c3", + "esp-bootloader-esp-idf/esp32c3", + "foa/esp32c3", + "foa_sta/esp32c3", + "foa_awdl/esp32c3", +] diff --git a/foa/Cargo.toml b/foa/Cargo.toml index be3df6a..e3780e0 100644 --- a/foa/Cargo.toml +++ b/foa/Cargo.toml @@ -45,3 +45,4 @@ defmt = [ esp32 = ["esp-hal/esp32", "esp-wifi-hal/esp32"] esp32s2 = ["esp-hal/esp32s2", "esp-wifi-hal/esp32s2"] +esp32c3 = ["esp-hal/esp32c3", "esp-wifi-hal/esp32c3"] diff --git a/foa_awdl/Cargo.toml b/foa_awdl/Cargo.toml index 783b718..32f2ee8 100644 --- a/foa_awdl/Cargo.toml +++ b/foa_awdl/Cargo.toml @@ -34,6 +34,7 @@ esp-config = { workspace = true, features = ["build"] } alloc = [] esp32 = ["foa/esp32"] esp32s2 = ["foa/esp32s2"] +esp32c3 = ["foa/esp32c3", "esp-hal/esp32c3"] defmt = ["dep:defmt", "defmt-or-log/defmt", "ieee80211/defmt", "foa/defmt"] log = ["dep:log", "foa/log", "defmt-or-log/log"] diff --git a/foa_sta/Cargo.toml b/foa_sta/Cargo.toml index 4d62d85..8b27734 100644 --- a/foa_sta/Cargo.toml +++ b/foa_sta/Cargo.toml @@ -44,6 +44,7 @@ alloc = [] esp32 = ["foa/esp32", "esp-hal/esp32"] esp32s2 = ["foa/esp32s2", "esp-hal/esp32s2"] +esp32c3 = ["foa/esp32c3", "esp-hal/esp32c3"] log = ["dep:log", "foa/log", "defmt-or-log/log"] defmt = ["dep:defmt", "defmt-or-log/defmt", "foa/defmt", "ieee80211/defmt"]