diff --git a/Cargo.lock b/Cargo.lock index d5f837259f10a0f550c6d04c148976b1f56d3efd..190308240542cdde487a582c2a6991cf0540768e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -31,24 +31,24 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" dependencies = [ "memchr", ] [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "argh" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab257697eb9496bf75526f0217b5ed64636a9cfafa78b8365c71bd283fcef93e" +checksum = "7af5ba06967ff7214ce4c7419c7d185be7ecd6cc4965a8f6e1d8ce0398aad219" dependencies = [ "argh_derive", "argh_shared", @@ -56,21 +56,24 @@ dependencies = [ [[package]] name = "argh_derive" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b382dbd3288e053331f03399e1db106c9fb0d8562ad62cb04859ae926f324fa6" +checksum = "56df0aeedf6b7a2fc67d06db35b09684c3e8da0c95f8f27685cb17e08413d87a" dependencies = [ "argh_shared", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] name = "argh_shared" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cb94155d965e3d37ffbbe7cc5b82c3dd79dd33bd48e536f73d2cfb8d85506f" +checksum = "5693f39141bda5760ecc4111ab08da40565d1771038c4a0250f03457ec707531" +dependencies = [ + "serde", +] [[package]] name = "arrayvec" @@ -128,17 +131,17 @@ dependencies = [ "log", "parking", "polling", - "rustix", + "rustix 0.37.23", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", ] [[package]] name = "async-lock" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", ] @@ -149,16 +152,16 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28" dependencies = [ - "critical-section 1.1.1", + "critical-section 1.1.2", ] [[package]] name = "atomic-polyfill" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c314e70d181aa6053b26e3f7fbf86d1dfff84f816a6175b967666b3506ef7289" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" dependencies = [ - "critical-section 1.1.1", + "critical-section 1.1.2", ] [[package]] @@ -169,7 +172,7 @@ checksum = "58c5fc22e05ec2884db458bf307dc7b278c9428888d2b6e6fad9c0ae7804f5f6" dependencies = [ "as-slice 0.1.5", "as-slice 0.2.1", - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", "stable_deref_trait", ] @@ -198,9 +201,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -234,9 +237,9 @@ checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" @@ -282,6 +285,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + [[package]] name = "block-buffer" version = "0.9.0" @@ -312,15 +321,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" @@ -330,31 +339,34 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "caprand" version = "0.1.0" -source = "git+https://github.com/mkj/caprand#a292401a503b422993ee6052a0f6fd316d6bff5c" +source = "git+https://github.com/mkj/caprand#e61c28c5f4cbb4b2c91b966a5a3f3170e9cc5f65" dependencies = [ "cortex-m", - "critical-section 1.1.1", + "critical-section 1.1.2", "embassy-rp", "getrandom 0.2.10", "log", "rand 0.8.5", "rand_chacha 0.3.1", "rp-pac", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -396,18 +408,18 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" dependencies = [ "crossbeam-utils", ] [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cortex-m" @@ -417,7 +429,7 @@ checksum = "8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9" dependencies = [ "bare-metal 0.2.5", "bitfield", - "critical-section 1.1.1", + "critical-section 1.1.2", "embedded-hal 0.2.7", "volatile-register", ] @@ -444,9 +456,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -467,14 +479,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1706d332edc22aef4d9f23a6bb1c92360a403013c291af51247a737472dcae6" dependencies = [ "bare-metal 1.0.0", - "critical-section 1.1.1", + "critical-section 1.1.2", ] [[package]] name = "critical-section" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52" +checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[package]] name = "crossbeam-utils" @@ -558,23 +570,22 @@ source = "git+https://github.com/mkj/curve25519-dalek?branch=sunset#e4d2869ade3a dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "cyw43" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ - "atomic-polyfill 0.1.11", "cortex-m", "cortex-m-rt", "defmt", "embassy-futures", "embassy-net-driver-channel", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", "embassy-time", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "futures", "num_enum", ] @@ -582,7 +593,7 @@ dependencies = [ [[package]] name = "cyw43-pio" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "cyw43", "embassy-rp", @@ -603,12 +614,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ - "darling_core 0.20.1", - "darling_macro 0.20.1", + "darling_core 0.20.3", + "darling_macro 0.20.3", ] [[package]] @@ -627,16 +638,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -652,13 +663,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ - "darling_core 0.20.1", + "darling_core 0.20.3", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -669,25 +680,25 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e" [[package]] name = "defmt" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956673bd3cb347512bf988d1e8d89ac9a82b64f6eec54d3c01c3529dac019882" +checksum = "a8a2d011b2fee29fb7d659b83c43fce9a2cb4df453e16d441a51448e448f3f98" dependencies = [ - "bitflags", + "bitflags 1.3.2", "defmt-macros", ] [[package]] name = "defmt-macros" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4abc4821bd84d3d8f49945ddb24d029be9385ed9b77c99bf2f6296847a6a9f0" +checksum = "54f0216f6c5acb5ae1a47050a6645024e6edafc2ee32d421955eccfef12ef92e" dependencies = [ "defmt-parser", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.37", ] [[package]] @@ -720,6 +731,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + [[package]] name = "diff" version = "0.1.13" @@ -797,9 +814,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963" +checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" dependencies = [ "signature 2.1.0", ] @@ -824,18 +841,18 @@ version = "2.0.0-rc.3" source = "git+https://github.com/mkj/curve25519-dalek?branch=sunset#e4d2869ade3a2e511d54293a74e28be1d6125bdd" dependencies = [ "curve25519-dalek 4.0.0", - "ed25519 2.2.1", + "ed25519 2.2.2", "rand_core 0.6.4", - "sha2 0.10.7", + "sha2 0.10.8", "subtle", "zeroize", ] [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" @@ -859,13 +876,13 @@ dependencies = [ [[package]] name = "embassy-embedded-hal" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "embassy-futures", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", "embassy-time", "embedded-hal 0.2.7", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "embedded-hal-async", "embedded-storage", "embedded-storage-async", @@ -878,9 +895,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4f2f7687ed60a799909eca1bf68b41e9f2ad03d740f0956a945ddabccc6aedb" dependencies = [ - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", "cfg-if", - "critical-section 1.1.1", + "critical-section 1.1.2", "embassy-macros 0.1.0", "embassy-time", "futures-util", @@ -890,14 +907,14 @@ dependencies = [ [[package]] name = "embassy-executor" -version = "0.2.1" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.3.0" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", "cortex-m", - "critical-section 1.1.1", + "critical-section 1.1.2", "defmt", - "embassy-macros 0.2.0", + "embassy-macros 0.2.1", "embassy-time", "futures-util", "static_cell", @@ -906,15 +923,15 @@ dependencies = [ [[package]] name = "embassy-futures" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" [[package]] name = "embassy-hal-internal" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "cortex-m", - "critical-section 1.1.1", + "critical-section 1.1.2", "defmt", "num-traits", ] @@ -933,25 +950,24 @@ dependencies = [ [[package]] name = "embassy-macros" -version = "0.2.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.2.1" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ - "darling 0.20.1", + "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "embassy-net" -version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.2.0" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "as-slice 0.2.1", - "atomic-polyfill 1.0.2", "atomic-pool", "embassy-net-driver", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", "embassy-time", "embedded-io-async", "embedded-nal-async", @@ -966,23 +982,23 @@ dependencies = [ [[package]] name = "embassy-net-driver" -version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.2.0" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" [[package]] name = "embassy-net-driver-channel" -version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.2.0" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "embassy-futures", "embassy-net-driver", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", ] [[package]] name = "embassy-net-tuntap" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "async-io", "embassy-net-driver", @@ -991,46 +1007,45 @@ dependencies = [ ] [[package]] -name = "embassy-net-w5500" +name = "embassy-net-wiznet" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "embassy-futures", "embassy-net-driver-channel", "embassy-time", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "embedded-hal-async", ] [[package]] name = "embassy-rp" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", "cfg-if", "cortex-m", "cortex-m-rt", - "critical-section 1.1.1", + "critical-section 1.1.2", "defmt", "embassy-embedded-hal", "embassy-futures", "embassy-hal-internal", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", "embassy-time", "embassy-usb-driver", "embedded-hal 0.2.7", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "embedded-hal-async", "embedded-hal-nb", - "embedded-io 0.5.0", + "embedded-io", "embedded-io-async", "embedded-storage", "embedded-storage-async", "fixed", "futures", "nb 1.1.0", - "paste", "pio", "pio-proc", "rand_core 0.6.4", @@ -1040,39 +1055,25 @@ dependencies = [ [[package]] name = "embassy-sync" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0dad296a6f70bfdc32ef52442a31f98c28e1608893c1cecc9b6f419bab005a0" -dependencies = [ - "cfg-if", - "critical-section 1.1.1", - "embedded-io 0.4.0", - "futures-util", - "heapless", -] - -[[package]] -name = "embassy-sync" -version = "0.2.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.3.0" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "cfg-if", - "critical-section 1.1.1", + "critical-section 1.1.2", "futures-util", "heapless", ] [[package]] name = "embassy-time" -version = "0.1.2" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +version = "0.1.5" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ - "atomic-polyfill 1.0.2", "cfg-if", - "critical-section 1.1.1", + "critical-section 1.1.2", "defmt", "embedded-hal 0.2.7", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "embedded-hal-async", "futures-util", "heapless", @@ -1082,11 +1083,11 @@ dependencies = [ [[package]] name = "embassy-usb" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "embassy-futures", "embassy-net-driver-channel", - "embassy-sync 0.2.0 (git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed)", + "embassy-sync", "embassy-usb-driver", "heapless", "ssmarshal", @@ -1096,7 +1097,7 @@ dependencies = [ [[package]] name = "embassy-usb-driver" version = "0.1.0" -source = "git+https://github.com/embassy-rs/embassy/?rev=b6b44480457d272aace977e885d5dba252fd2bed#b6b44480457d272aace977e885d5dba252fd2bed" +source = "git+https://github.com/embassy-rs/embassy/?rev=d496a1213c70cdabf12c802e8d39ea6abbce6720#d496a1213c70cdabf12c802e8d39ea6abbce6720" dependencies = [ "defmt", ] @@ -1113,63 +1114,68 @@ dependencies = [ [[package]] name = "embedded-hal" -version = "1.0.0-alpha.11" +version = "1.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7724ebabcadfeb15920571dd727bc8ccde8586e52f2890bdb8182fdf42c3ff2" +checksum = "2894bc2f0457b8ca3d6b8ab8aad64d9337583672494013457f86c5a9146c0e22" [[package]] name = "embedded-hal-async" -version = "0.2.0-alpha.2" +version = "1.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918285ec7b18edb024d4adc64f6f16cdc7c4d72eadfc85c3313d1e0ff40e0229" +checksum = "76a8a3517745342155b3b00895a0f78417a453fb800d97a8bf4777d5720acde9" dependencies = [ - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", ] [[package]] -name = "embedded-hal-nb" -version = "1.0.0-alpha.3" +name = "embedded-hal-bus" +version = "0.1.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a09e4c3f8a54e60803405e1cc17e36c963ab32e654f8d6bb49d48cd8116360d7" +checksum = "662822f2853efaa9629ba6d424d7b0cbf8f7f52d68a8919c9afe56e7f9dd1b2a" dependencies = [ - "embedded-hal 1.0.0-alpha.11", - "nb 1.1.0", + "critical-section 1.1.2", + "embedded-hal 1.0.0-rc.1", + "embedded-hal-async", ] [[package]] -name = "embedded-io" -version = "0.4.0" +name = "embedded-hal-nb" +version = "1.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" +checksum = "257e3bb0163c69195acb0ebe0083b017b963235861d5ea9741626abdc55f39c9" +dependencies = [ + "embedded-hal 1.0.0-rc.1", + "nb 1.1.0", +] [[package]] name = "embedded-io" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bbadc628dc286b9ae02f0cb0f5411c056eb7487b72f0083203f115de94060" +checksum = "fa9417478b5440a2c25f95b25e3ec6ec92e7f9a7ae90c9719e434daeec4ece71" dependencies = [ "defmt", ] [[package]] name = "embedded-io-adapters" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8bf42b1ca6e49e960826782e3fb2721b8dac84317790b66d832fa8512edba1" +checksum = "f5aa94ce6a11ae812b533ab3cae0b12a26f231b49324273faa2fd5f4e1775a8c" dependencies = [ - "embedded-io 0.5.0", + "embedded-io", "embedded-io-async", "tokio", ] [[package]] name = "embedded-io-async" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1394754ad749a560b25a0c70dcd2b66a450824a1311fc475bb2ccbfabe7f8414" +checksum = "de03527d6fb488b2d7c7a4dc81dfb6a657efe264256bfc70bb899746821666b1" dependencies = [ "defmt", - "embedded-io 0.5.0", + "embedded-io", ] [[package]] @@ -1185,9 +1191,9 @@ dependencies = [ [[package]] name = "embedded-nal-async" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e706b5288eceaa582155b24d54e23385429402e4e99ae984f4a0a6a65b635f15" +checksum = "a0f75f0ac83505f354443332324ef1399463902718b95b4ce153ae9b3660f341" dependencies = [ "embedded-io-async", "embedded-nal", @@ -1238,11 +1244,17 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", @@ -1292,9 +1304,9 @@ checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" [[package]] name = "fixed" -version = "1.23.1" +version = "1.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79386fdcec5e0fde91b1a6a5bcd89677d1f9304f7f986b154a1b9109038854d9" +checksum = "02c69ce7e7c0f17aa18fdd9d0de39727adb9c6281f2ad12f57cbe54ae6e76e7d" dependencies = [ "az", "bytemuck", @@ -1385,7 +1397,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -1470,9 +1482,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "group" @@ -1487,10 +1499,11 @@ dependencies = [ [[package]] name = "half" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" dependencies = [ + "cfg-if", "crunchy", ] @@ -1505,9 +1518,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" [[package]] name = "heapless" @@ -1540,18 +1553,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hmac" @@ -1576,11 +1580,11 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "1.9.3" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e" dependencies = [ - "autocfg", + "equivalent", "hashbrown", ] @@ -1608,20 +1612,19 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.3", "libc", "windows-sys", ] [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix", + "hermit-abi 0.3.3", + "rustix 0.38.14", "windows-sys", ] @@ -1636,9 +1639,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" @@ -1691,9 +1694,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.146" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "libm" @@ -1707,6 +1710,12 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +[[package]] +name = "linux-raw-sys" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" + [[package]] name = "lock_api" version = "0.4.10" @@ -1719,9 +1728,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "managed" @@ -1731,9 +1740,9 @@ checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" [[package]] name = "memoffset" @@ -1746,9 +1755,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] @@ -1787,16 +1796,15 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset", "pin-utils", - "static_assertions", ] [[package]] @@ -1807,9 +1815,9 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" [[package]] name = "num-bigint-dig" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ "byteorder", "lazy_static", @@ -1846,9 +1854,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", "libm", @@ -1856,11 +1864,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.3", "libc", ] @@ -1895,9 +1903,9 @@ dependencies = [ [[package]] name = "object" -version = "0.30.4" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -1922,7 +1930,7 @@ checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ "ecdsa", "elliptic-curve", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -1933,7 +1941,7 @@ checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ "ecdsa", "elliptic-curve", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -1948,9 +1956,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" [[package]] name = "parking_lot" @@ -1977,9 +1985,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pem-rfc7468" @@ -1992,9 +2000,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", "indexmap", @@ -2011,9 +2019,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2085,9 +2093,9 @@ dependencies = [ [[package]] name = "platforms" -version = "3.0.2" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" [[package]] name = "polling" @@ -2096,7 +2104,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", - "bitflags", + "bitflags 1.3.2", "cfg-if", "concurrent-queue", "libc", @@ -2160,18 +2168,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -2253,7 +2261,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2262,7 +2270,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2278,13 +2286,25 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax 0.7.5", +] + +[[package]] +name = "regex-automata" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.2", + "regex-syntax 0.7.5", ] [[package]] @@ -2295,9 +2315,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rfc6979" @@ -2376,7 +2396,7 @@ dependencies = [ "pkcs1", "pkcs8", "rand_core 0.6.4", - "sha2 0.10.7", + "sha2 0.10.8", "signature 2.1.0", "subtle", "zeroize", @@ -2413,34 +2433,47 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.17", + "semver 1.0.19", ] [[package]] name = "rustix" -version = "0.37.20" +version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.3.8", + "windows-sys", +] + +[[package]] +name = "rustix" +version = "0.38.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys 0.4.7", "windows-sys", ] [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sec1" @@ -2467,9 +2500,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" [[package]] name = "semver-parser" @@ -2479,9 +2512,23 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.164" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.188" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] [[package]] name = "sha2" @@ -2498,9 +2545,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2549,24 +2596,24 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "smoltcp" @@ -2574,7 +2621,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d2e3a36ac8fea7b94e666dfa3871063d6e0a5c9d5d4fec9a1a6b7b6760f0229" dependencies = [ - "bitflags", + "bitflags 1.3.2", "byteorder", "cfg-if", "defmt", @@ -2584,9 +2631,9 @@ dependencies = [ [[package]] name = "snafu" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0656e7e3ffb70f6c39b3c2a86332bb74aa3c679da781642590f3c1118c5045" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" dependencies = [ "backtrace", "doc-comment", @@ -2595,9 +2642,9 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475b3bbe5245c26f2d8a6f62d67c1f30eb9fffeccee721c45d162c3ebbdf81b2" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" dependencies = [ "heck", "proc-macro2", @@ -2615,6 +2662,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +dependencies = [ + "libc", + "windows-sys", +] + [[package]] name = "spin" version = "0.5.2" @@ -2648,7 +2705,7 @@ checksum = "19cfdc32e0199062113edf41f344fbf784b8205a94600233c84eb838f45191e1" dependencies = [ "base64ct", "pem-rfc7468", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -2664,7 +2721,7 @@ dependencies = [ "rand_core 0.6.4", "rsa 0.7.2", "sec1", - "sha2 0.10.7", + "sha2 0.10.8", "signature 1.6.4", "ssh-encoding", "zeroize", @@ -2686,19 +2743,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "static_cell" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6a851e9c00ce152b2bad24e8545a6db0b8646988267a6ea966d95c6932e8a2" +checksum = "49cd323fc21eb534f903ee78d781d622099f9716c5b408ed23bcf39f8f1651c0" dependencies = [ - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", ] [[package]] @@ -2740,7 +2791,7 @@ dependencies = [ "defmt", "digest 0.10.7", "ed25519-dalek 2.0.0-rc.3", - "embedded-io 0.5.0", + "embedded-io", "futures", "getrandom 0.2.10", "heapless", @@ -2750,7 +2801,7 @@ dependencies = [ "pretty-hex", "rand_core 0.6.4", "rsa 0.8.2", - "sha2 0.10.7", + "sha2 0.10.8", "signature 2.1.0", "simplelog", "snafu", @@ -2768,7 +2819,7 @@ dependencies = [ "anyhow", "argh", "embassy-futures", - "embassy-sync 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "embassy-sync", "embedded-io-adapters", "embedded-io-async", "futures", @@ -2799,14 +2850,14 @@ dependencies = [ "embassy-futures", "embassy-net", "embassy-net-driver", - "embassy-sync 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "embassy-sync", "embassy-time", "embedded-io-async", "heapless", "hmac", "log", "pretty-hex", - "sha2 0.10.7", + "sha2 0.10.8", "sunset", "sunset-embassy", "sunset-sshwire-derive", @@ -2820,24 +2871,26 @@ dependencies = [ "caprand", "cortex-m", "cortex-m-rt", - "critical-section 1.1.1", + "critical-section 1.1.2", "cyw43", "cyw43-pio", "defmt", "defmt-rtt", - "embassy-executor 0.2.1", + "embassy-executor 0.3.0", "embassy-futures", "embassy-net", "embassy-net-driver", - "embassy-net-w5500", + "embassy-net-wiznet", "embassy-rp", - "embassy-sync 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "embassy-sync", "embassy-time", "embassy-usb", "embassy-usb-driver", - "embedded-hal 1.0.0-alpha.11", + "embedded-hal 1.0.0-rc.1", "embedded-hal-async", + "embedded-hal-bus", "embedded-io-async", + "embedded-storage-async", "futures", "getrandom 0.2.10", "heapless", @@ -2846,7 +2899,7 @@ dependencies = [ "pin-utils", "pretty-hex", "rand 0.8.5", - "sha2 0.10.7", + "sha2 0.10.8", "smoltcp", "snafu", "static_cell", @@ -2863,12 +2916,12 @@ version = "0.1.0" dependencies = [ "async-io", "atomic-polyfill 0.1.11", - "critical-section 1.1.1", + "critical-section 1.1.2", "embassy-executor 0.1.1", "embassy-futures", "embassy-net", "embassy-net-tuntap", - "embassy-sync 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "embassy-sync", "embassy-time", "embedded-io-async", "env_logger", @@ -2876,7 +2929,7 @@ dependencies = [ "libc", "log", "rand 0.8.5", - "sha2 0.10.7", + "sha2 0.10.8", "static_cell", "sunset", "sunset-demo-embassy-common", @@ -2887,10 +2940,10 @@ dependencies = [ name = "sunset-embassy" version = "0.2.0-alpha" dependencies = [ - "atomic-polyfill 1.0.2", + "atomic-polyfill 1.0.3", "defmt", "embassy-futures", - "embassy-sync 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "embassy-sync", "embedded-io-async", "log", "pin-utils", @@ -2917,9 +2970,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" dependencies = [ "proc-macro2", "quote", @@ -2948,30 +3001,31 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "time" -version = "0.3.22" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" dependencies = [ + "deranged", "itoa", "libc", "num_threads", @@ -2982,15 +3036,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -3006,11 +3060,11 @@ dependencies = [ [[package]] name = "tokio" -version = "1.28.2" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", "mio", @@ -3018,7 +3072,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.4", "tokio-macros", "windows-sys", ] @@ -3031,26 +3085,26 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -3144,9 +3198,9 @@ dependencies = [ [[package]] name = "waker-fn" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "wasi" @@ -3181,7 +3235,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", "wasm-bindgen-shared", ] @@ -3203,7 +3257,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3226,9 +3280,9 @@ dependencies = [ [[package]] name = "whoami" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" dependencies = [ "wasm-bindgen", "web-sys", @@ -3252,9 +3306,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -3276,9 +3330,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -3291,45 +3345,45 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "x25519-dalek" @@ -3358,5 +3412,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] diff --git a/Cargo.toml b/Cargo.toml index 20bc9e5187e1a891e0c3c4fef0ecf4565032dfa4..a7d444e3182e804475430229cee125e8f6b6f356 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,7 +53,7 @@ rsa = { version = "0.8", default-features = false, optional = true, features = [ # TODO: getrandom feature is a workaround for missing ssh-key dependency with rsa. fixed in pending 0.6 ssh-key = { version = "0.5", default-features = false, optional = true, features = ["getrandom"] } -embedded-io = { version = "0.5", optional = true } +embedded-io = { version = "0.6", optional = true } # for debug printing pretty-hex = { version = "0.3", default-features = false } @@ -88,21 +88,22 @@ x25519-dalek = { git = "https://github.com/mkj/curve25519-dalek", branch = "suns # ed25519-dalek = { path = "/home/matt/3rd/rs/crypto/curve25519-dalek/ed25519-dalek" } # x25519-dalek = { path = "/home/matt/3rd/rs/crypto/curve25519-dalek/x25519-dalek" } -embassy-executor = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-futures = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-rp = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-usb = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-time = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-usb-driver = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } +embassy-executor = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-time = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-futures = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-rp = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-usb = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-sync = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-usb-driver = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } # for cyw43 -embassy-net = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-net-driver-channel = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-net-driver = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-net-tuntap = { git = "https://github.com/embassy-rs/embassy", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } - -cyw43 = { git = "https://github.com/embassy-rs/embassy/", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -cyw43-pio = { git = "https://github.com/embassy-rs/embassy/", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } -embassy-net-w5500 = { git = "https://github.com/embassy-rs/embassy/", rev = "b6b44480457d272aace977e885d5dba252fd2bed" } +embassy-net = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-net-driver-channel = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-net-driver = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-net-tuntap = { git = "https://github.com/embassy-rs/embassy", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } + +cyw43 = { git = "https://github.com/embassy-rs/embassy/", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +cyw43-pio = { git = "https://github.com/embassy-rs/embassy/", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } +embassy-net-wiznet = { git = "https://github.com/embassy-rs/embassy/", rev = "d496a1213c70cdabf12c802e8d39ea6abbce6720" } # embassy-net = { path = "/home/matt/3rd/rs/embassy/embassy-net" } # embassy-net-driver = { path = "/home/matt/3rd/rs/embassy/embassy-net-driver" } diff --git a/async/Cargo.toml b/async/Cargo.toml index e17a2850200ac815e728cf64d57e85832b89b7ea..f945b4ec7d31721872439d04db373feef5108d42 100644 --- a/async/Cargo.toml +++ b/async/Cargo.toml @@ -16,12 +16,10 @@ argh = "0.1" ssh-key = { version = "0.5", default-features = false, features = [ "std"] } -embassy-sync = { version = "0.2.0" } +embassy-sync = { version = "0.3.0" } embassy-futures = { version = "0.1.0" } -# async feature requires nightly for async fn in trait -# https://github.com/rust-lang/rust/issues/91611 -embedded-io-async = "0.5" +embedded-io-async = "0.6" # "net" for AsyncFd on unix tokio = { version = "1.25", features = ["net", "io-util", "signal"] } @@ -49,7 +47,7 @@ zeroize = "1.5" tokio = { version = "1.17", features = ["full"] } # adapters for tokio and async-std -embedded-io-adapters = { version = "0.5", features = ["tokio-1"] } +embedded-io-adapters = { version = "0.6", features = ["tokio-1"] } simplelog = "0.12" # for simplelog diff --git a/async/rust-toolchain.toml b/async/rust-toolchain.toml index 2b9134d8f1c40bd048185d814631b95521891ec7..ea5b5eaeb6c744099b95aa574985d98d5d67ebee 100644 --- a/async/rust-toolchain.toml +++ b/async/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2023-06-14" +channel = "nightly-2023-10-02" components = [ "rustfmt" ] diff --git a/async/src/cmdline_client.rs b/async/src/cmdline_client.rs index faf666d4ddf3ac1e6c239fba6225f6466604ddf2..7b45c7502eafe049f93f96d590e300634c5b4e7f 100644 --- a/async/src/cmdline_client.rs +++ b/async/src/cmdline_client.rs @@ -329,7 +329,7 @@ impl<'a> CmdlineRunner<'a> { } select_biased! { - msg = self.notify.recv().fuse() => { + msg = self.notify.receive().fuse() => { match msg { Msg::Authed => { if !matches!(self.state, CmdlineState::PreAuth) { diff --git a/embassy/Cargo.toml b/embassy/Cargo.toml index 155f2eeb2bf28060ce3e76409a1a4de08e3b4935..540e5e3ee72dd56ed21aab756318c6209a8b074d 100644 --- a/embassy/Cargo.toml +++ b/embassy/Cargo.toml @@ -7,9 +7,9 @@ categories = ["network-programming", "embedded", "no-std"] license = "0BSD" [dependencies] -embassy-sync = { version = "0.2.0" } +embassy-sync = { version = "0.3.0" } embassy-futures = { version = "0.1.0" } -embedded-io-async = "0.5" +embedded-io-async = "0.6" atomic-polyfill = "1.0" pin-utils = { version = "0.1" } diff --git a/embassy/demos/common/Cargo.toml b/embassy/demos/common/Cargo.toml index f52c06e57812cc9ba9f5de5c99a81cc5be219b00..90105569a40a2492cbd4577dbdafa624699d71c2 100644 --- a/embassy/demos/common/Cargo.toml +++ b/embassy/demos/common/Cargo.toml @@ -9,16 +9,16 @@ sunset-embassy = { path = "../../" } sunset = { path = "../../.." } sunset-sshwire-derive = { version = "0.1", path = "../../../sshwire-derive" } -embassy-sync = { version = "0.2.0" } -embassy-net = { version = "0.1.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } -embassy-net-driver = { version = "0.1.0" } +embassy-sync = { version = "0.3.0" } +embassy-net = { version = "0.2.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } +embassy-net-driver = { version = "0.2.0" } embassy-futures = { version = "0.1.0" } embassy-time = { version = "0.1" } heapless = "0.7.15" # using local fork # menu = "0.3" -embedded-io-async = "0.5" +embedded-io-async = "0.6" sha2 = { version = "0.10", default-features = false } hmac = { version = "0.12", default-features = false } bcrypt = { version = "0.15", default-features = false } diff --git a/embassy/demos/picow/Cargo.toml b/embassy/demos/picow/Cargo.toml index 1335c7e94c30076ee0eb351ca62235d1863705cb..0dc43180cecf9f485b8be4ef2ad1e555a13b0f39 100644 --- a/embassy/demos/picow/Cargo.toml +++ b/embassy/demos/picow/Cargo.toml @@ -14,16 +14,16 @@ cyw43-pio = { version = "0.1.0", optional = true } # cyw43 = { path = "/home/matt/3rd/rs/cyw43", features = ["defmt"] } # cyw43-pio = { path = "/home/matt/3rd/rs/cyw43/cyw43-pio" } -embassy-net-w5500 = { version = "0.1.0", optional = true } +embassy-net-wiznet = { version = "0.1.0", optional = true } -embassy-executor = { version = "0.2", features = ["defmt", "integrated-timers", "executor-thread", "arch-cortex-m", "nightly"] } +embassy-executor = { version = "0.3", features = ["defmt", "integrated-timers", "executor-thread", "arch-cortex-m", "nightly"] } embassy-time = { version = "0.1", features = ["defmt", "defmt-timestamp-uptime", "unstable-traits", "nightly"] } embassy-rp = { version = "0.1.0", features = ["defmt", "unstable-traits", "nightly", "unstable-pac", "time-driver"] } # embassy-net/nightly is required for asynch::Read/Write on TcpReader/TcpWriter -embassy-net = { version = "0.1.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } -embassy-net-driver = { version = "0.1.0" } +embassy-net = { version = "0.2.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } +embassy-net-driver = { version = "0.2.0" } embassy-usb-driver = { version = "0.1.0" } -embassy-sync = { version = "0.2.0" } +embassy-sync = { version = "0.3.0" } embassy-futures = { version = "0.1.0" } embassy-usb = { version = "0.1.0" } atomic-polyfill = "0.1.5" @@ -42,8 +42,10 @@ cortex-m = { version = "0.7.6", features = ["critical-section-single-core"]} cortex-m-rt = "0.7.0" embedded-hal-1 = { package = "embedded-hal", version = "1.0.0-alpha.11" } -embedded-hal-async = { version = "0.2.0-alpha.1" } -embedded-io-async = "0.5" +embedded-hal-async = { version = "1.0.0-alpha.10" } +embedded-hal-bus = { version = "0.1.0-rc.1", features = ["async"], optional = true } +embedded-io-async = "0.6" +embedded-storage-async = { version = "0.4.0" } heapless = "0.7.15" getrandom = { version = "0.2", default-features = false, features = ["custom"]} @@ -70,7 +72,7 @@ defmt = ["dep:defmt", "sunset/defmt", "sunset-embassy/defmt", "smoltcp/defmt"] # for pico w board cyw43 = ["dep:cyw43", "dep:cyw43-pio"] # for wiznet w5500-evb-pico board -w5500 = ["dep:embassy-net-w5500"] +w5500 = ["dep:embassy-net-wiznet", "dep:embedded-hal-bus"] # Use cyw43 firmware already on flash. This saves time when developing. # probe-rs-cli download firmware/43439A0.bin --format bin --chip RP2040 --base-address 0x10100000 diff --git a/embassy/demos/picow/rust-toolchain.toml b/embassy/demos/picow/rust-toolchain.toml index d774f884a91f91b9a12601de8f36e6a4a96227ab..ea5b5eaeb6c744099b95aa574985d98d5d67ebee 100644 --- a/embassy/demos/picow/rust-toolchain.toml +++ b/embassy/demos/picow/rust-toolchain.toml @@ -1,6 +1,3 @@ [toolchain] -channel = "nightly-2023-06-14" -components = [ "rust-src", "rustfmt" ] -targets = [ - "thumbv6m-none-eabi", -] +channel = "nightly-2023-10-02" +components = [ "rustfmt" ] diff --git a/embassy/demos/picow/src/flashconfig.rs b/embassy/demos/picow/src/flashconfig.rs index 2b6e04d46c00689ff14c9ddd2c3d636d8a9da30d..3a8db089ea9da9a1f77dd8662839eef91b0d4508 100644 --- a/embassy/demos/picow/src/flashconfig.rs +++ b/embassy/demos/picow/src/flashconfig.rs @@ -22,6 +22,7 @@ use core::borrow::Borrow; use sunset_sshwire_derive::*; use sunset::sshwire; use sunset::sshwire::OwnOrBorrow; +use embedded_storage_async::nor_flash::NorFlash; use crate::demo_common; use demo_common::SSHConfig; @@ -52,9 +53,9 @@ fn config_hash(config: &SSHConfig) -> Result<[u8; 32]> { } /// Loads a SSHConfig at startup. Good for persisting hostkeys. -pub fn load_or_create(flash: &mut Fl<'_>) -> Result<SSHConfig> { +pub async fn load_or_create(flash: &mut Fl<'_>) -> Result<SSHConfig> { use snafu::Error; - match load(flash) { + match load(flash).await { Ok(c) => { info!("Good existing config"); return Ok(c) @@ -63,21 +64,21 @@ pub fn load_or_create(flash: &mut Fl<'_>) -> Result<SSHConfig> { Err(e) => info!("Existing config bad, making new. {}", e.description()), } - create(flash) + create(flash).await } -pub fn create(flash: &mut Fl<'_>) -> Result<SSHConfig> { +pub async fn create(flash: &mut Fl<'_>) -> Result<SSHConfig> { let c = SSHConfig::new()?; - if let Err(_) = save(flash, &c) { + if let Err(_) = save(flash, &c).await { warn!("Error writing config"); } Ok(c) } -pub fn load(flash: &mut Fl<'_>) -> Result<SSHConfig> { +pub async fn load(flash: &mut Fl<'_>) -> Result<SSHConfig> { // let mut buf = [0u8; ERASE_SIZE]; let mut buf = [0u8; FlashConfig::BUF_SIZE]; - flash.read(CONFIG_OFFSET, &mut buf).map_err(|_| Error::msg("flash error"))?; + flash.read(CONFIG_OFFSET, &mut buf).await.map_err(|_| Error::msg("flash error"))?; // use pretty_hex::PrettyHex; // use core::fmt::Write; @@ -104,7 +105,7 @@ pub fn load(flash: &mut Fl<'_>) -> Result<SSHConfig> { } } -pub fn save(flash: &mut Fl<'_>, config: &SSHConfig) -> Result<()> { +pub async fn save(flash: &mut Fl<'_>, config: &SSHConfig) -> Result<()> { let mut buf = [0u8; ERASE_SIZE]; let sc = FlashConfig { version: SSHConfig::CURRENT_VERSION, @@ -122,10 +123,11 @@ pub fn save(flash: &mut Fl<'_>, config: &SSHConfig) -> Result<()> { trace!("flash erase"); flash.erase(CONFIG_OFFSET, CONFIG_OFFSET + ERASE_SIZE as u32) + .await .map_err(|_| Error::msg("flash erase error"))?; trace!("flash write"); - flash.write(CONFIG_OFFSET, &buf) + flash.write(CONFIG_OFFSET, &buf).await .map_err(|_| Error::msg("flash write error"))?; info!("flash save done"); diff --git a/embassy/demos/picow/src/main.rs b/embassy/demos/picow/src/main.rs index 2398d927ff891bed821d734716f35b400fb80927..f6a4e5a70f2a43d6ba0d785dd0e8a0a1504d992c 100644 --- a/embassy/demos/picow/src/main.rs +++ b/embassy/demos/picow/src/main.rs @@ -72,9 +72,9 @@ async fn main(spawner: Spawner) { let mut flash = flashconfig::Fl::new(p.FLASH, p.DMA_CH2); let config = if option_env!("RESET_CONFIG").is_some() { - flashconfig::create(&mut flash).unwrap() + flashconfig::create(&mut flash).await.unwrap() } else { - flashconfig::load_or_create(&mut flash).unwrap() + flashconfig::load_or_create(&mut flash).await.unwrap() }; let flash = &*singleton!(SunsetMutex::new(flash)); let config = &*singleton!(SunsetMutex::new(config)); @@ -82,13 +82,13 @@ async fn main(spawner: Spawner) { // A shared pipe to a local USB-serial (CDC) let usb_pipe = { let p = singleton!(takepipe::TakePipeStorage::new()); - singleton!(p.pipe()) + singleton!(p.build()) }; // A shared pipe to a local uart let serial1_pipe = { let s = singleton!(takepipe::TakePipeStorage::new()); - singleton!(s.pipe()) + singleton!(s.build()) }; spawner .spawn(serial::task( @@ -165,7 +165,7 @@ async fn cyw43_listener( #[cfg(feature = "w5500")] #[embassy_executor::task(pool_size = 4)] async fn w5500_listener( - stack: &'static Stack<embassy_net_w5500::Device<'static>>, + stack: &'static Stack<embassy_net_wiznet::Device<'static>>, config: &'static SunsetMutex<SSHConfig>, global: &'static GlobalState, ) -> ! { diff --git a/embassy/demos/picow/src/picowmenu.rs b/embassy/demos/picow/src/picowmenu.rs index 1e498cb0395c25c9a4676c2dfb80448ee6430b69..b8afd5a638f5cc7c85944676ccb9d8e41e235a48 100644 --- a/embassy/demos/picow/src/picowmenu.rs +++ b/embassy/demos/picow/src/picowmenu.rs @@ -147,7 +147,7 @@ impl MenuCtx { let conf = self.state.config.lock().await; let mut fl = self.state.flash.lock().await; - if let Err(_e) = flashconfig::save(&mut fl, &conf) { + if let Err(_e) = flashconfig::save(&mut fl, &conf).await { warn!("Error writing flash"); } } diff --git a/embassy/demos/picow/src/takepipe.rs b/embassy/demos/picow/src/takepipe.rs index 79c126dbeb0a819280d92f0a35146794cc344b23..259c05a9a59f71dfa352014d42141ee1abf65386 100644 --- a/embassy/demos/picow/src/takepipe.rs +++ b/embassy/demos/picow/src/takepipe.rs @@ -16,7 +16,7 @@ use embassy_sync::{pipe, mutex::Mutex, signal::Signal}; use embassy_sync::pipe::Pipe; use embassy_futures::select::{select, Either}; -use sunset_embassy::{SunsetMutex, SunsetRawMutex}; +use sunset_embassy::SunsetRawMutex; pub const READ_SIZE: usize = 4000; pub const WRITE_SIZE: usize = 64; @@ -37,7 +37,6 @@ pub const WRITE_SIZE: usize = 64; pub(crate) struct TakePipeStorage { fanout: Pipe<SunsetRawMutex, READ_SIZE>, fanin: Pipe<SunsetRawMutex, WRITE_SIZE>, - wake: Signal<SunsetRawMutex, ()>, } impl TakePipeStorage { @@ -45,11 +44,15 @@ impl TakePipeStorage { Default::default() } - pub fn pipe(&self) -> TakePipe { + pub fn build(&mut self) -> TakePipe { + let (fanout_r, fanout_w) = self.fanout.split(); + let (fanin_r, fanin_w) = self.fanin.split(); TakePipe { - shared_read: Mutex::new((0, self.fanout.reader())), - shared_write: Mutex::new((0, self.fanin.writer())), - pipe: self, + shared_read: Mutex::new((0, fanout_r)), + shared_write: Mutex::new((0, fanin_w)), + reader: fanin_r, + writer: fanout_w, + wake: Signal::new(), } } } @@ -59,21 +62,24 @@ impl Default for TakePipeStorage { Self { fanout: Pipe::new(), fanin: Pipe::new(), - wake: Signal::new(), } } } pub(crate) struct TakePipe<'a> { + // fanout shared_read: Mutex<SunsetRawMutex, (u64, pipe::Reader<'a, SunsetRawMutex, READ_SIZE>)>, + writer: pipe::Writer<'a, SunsetRawMutex, READ_SIZE>, + // fanin + reader: pipe::Reader<'a, SunsetRawMutex, WRITE_SIZE>, shared_write: Mutex<SunsetRawMutex, (u64, pipe::Writer<'a, SunsetRawMutex, WRITE_SIZE>)>, - pipe: &'a TakePipeStorage, + wake: Signal<SunsetRawMutex, ()>, } impl<'a> TakePipe<'a> { pub async fn take(&'a self) -> (TakeRead<'a>, TakeWrite<'a>) { - self.pipe.wake.signal(()); + self.wake.signal(()); let mut lr = self.shared_read.lock().await; let (cr, _r) = lr.deref_mut(); let mut lw = self.shared_write.lock().await; @@ -85,16 +91,14 @@ impl<'a> TakePipe<'a> { // that wouldn't deal with data that has already progressed // further along out the SSH channel etc. So we leave that // for high levels to deal with if needed. - self.pipe.wake.reset(); + self.wake.reset(); let r = TakeRead { - pipe: self.pipe, - shared: Some(&self.shared_read), + pipe: Some(self), counter: *cr, }; let w = TakeWrite { - pipe: self.pipe, - shared: Some(&self.shared_write), + pipe: Some(self), counter: *cw, }; (r, w) @@ -106,33 +110,33 @@ impl<'a> TakePipe<'a> { pub fn split(&'a self) -> (TakePipeRead<'a>, TakePipeWrite<'a>) { let r = TakePipeRead { - pipe: self.pipe, + pipe: self, }; let w = TakePipeWrite { - pipe: self.pipe, + pipe: self, }; (r, w) } } pub(crate) struct TakePipeRead<'a> { - pipe: &'a TakePipeStorage, + pipe: &'a TakePipe<'a>, } pub(crate) struct TakePipeWrite<'a> { - pipe: &'a TakePipeStorage, + pipe: &'a TakePipe<'a>, } impl<'a> Read for TakePipeRead<'a> { async fn read(&mut self, buf: &mut [u8]) -> sunset::Result<usize> { - let r = self.pipe.fanin.read(buf).await; + let r = self.pipe.reader.read(buf).await; Ok(r) } } impl<'a> Write for TakePipeWrite<'a> { async fn write(&mut self, buf: &[u8]) -> sunset::Result<usize> { - let r = self.pipe.fanout.write(buf).await; + let r = self.pipe.writer.write(buf).await; Ok(r) } } @@ -146,18 +150,17 @@ impl ErrorType for TakePipeWrite<'_> { } pub(crate) struct TakeRead<'a> { - pipe: &'a TakePipeStorage, - shared: Option<&'a SunsetMutex<(u64, pipe::Reader<'a, SunsetRawMutex, READ_SIZE>)>>, + pipe: Option<&'a TakePipe<'a>>, counter: u64, } impl Read for TakeRead<'_> { async fn read(&mut self, buf: &mut [u8]) -> sunset::Result<usize> { - let p = self.shared.ok_or(sunset::Error::ChannelEOF)?; + let p = self.pipe.ok_or(sunset::Error::ChannelEOF)?; let op = async { - let mut p = p.lock().await; + let mut p = p.shared_read.lock().await; let (c, o) = p.deref_mut(); if *c != self.counter { return Err(sunset::Error::ChannelEOF); @@ -167,7 +170,7 @@ impl Read for TakeRead<'_> { let r = select( op, - self.pipe.wake.wait(), + p.wake.wait(), ); match r.await { @@ -175,7 +178,7 @@ impl Read for TakeRead<'_> { Either::First(l) => l, // lost the pipe Either::Second(()) => { - self.shared = None; + self.pipe = None; Err(sunset::Error::ChannelEOF) } } @@ -187,17 +190,16 @@ impl ErrorType for TakeRead<'_> { } pub(crate) struct TakeWrite<'a> { - pipe: &'a TakePipeStorage, - shared: Option<&'a SunsetMutex<(u64, pipe::Writer<'a, SunsetRawMutex, WRITE_SIZE>)>>, + pipe: Option<&'a TakePipe<'a>>, counter: u64, } impl Write for TakeWrite<'_> { async fn write(&mut self, buf: &[u8]) -> sunset::Result<usize> { - let p = self.shared.ok_or(sunset::Error::ChannelEOF)?; + let p = self.pipe.ok_or(sunset::Error::ChannelEOF)?; let op = async { - let mut p = p.lock().await; + let mut p = p.shared_write.lock().await; let (c, o) = p.deref_mut(); if *c != self.counter { return Err(sunset::Error::ChannelEOF); @@ -207,7 +209,7 @@ impl Write for TakeWrite<'_> { let r = select( op, - self.pipe.wake.wait(), + p.wake.wait(), ); match r.await { @@ -215,7 +217,7 @@ impl Write for TakeWrite<'_> { Either::First(l) => l, // lost the pipe Either::Second(_) => { - self.shared = None; + self.pipe = None; Err(sunset::Error::ChannelEOF) } } diff --git a/embassy/demos/picow/src/w5500.rs b/embassy/demos/picow/src/w5500.rs index b1676ed794c5d93d59c44f2796cf2bef01e6eec0..cf61fb555ca0c92c84c9a4eceecf1553f3e7b4b6 100644 --- a/embassy/demos/picow/src/w5500.rs +++ b/embassy/demos/picow/src/w5500.rs @@ -16,9 +16,9 @@ use embassy_rp::gpio::{Input, Level, Output, Pull}; use embassy_rp::peripherals::*; use embassy_rp::spi::{Async, Config as SpiConfig, Spi}; use embassy_time::Delay; -use embedded_hal_async::spi::ExclusiveDevice; +use embedded_hal_bus::spi::ExclusiveDevice; -use embassy_net_w5500::*; +use embassy_net_wiznet::*; use static_cell::make_static; @@ -31,6 +31,7 @@ use crate::{SSHConfig, SunsetMutex}; async fn ethernet_task( runner: Runner< 'static, + embassy_net_wiznet::chip::W5500, ExclusiveDevice<Spi<'static, SPI0, Async>, Output<'static, PIN_17>, Delay>, Input<'static, PIN_21>, Output<'static, PIN_20>, @@ -51,7 +52,7 @@ pub(crate) async fn w5500_stack( dma1: DMA_CH1, spi0: SPI0, config: &'static SunsetMutex<SSHConfig>, -) -> &'static embassy_net::Stack<embassy_net_w5500::Device<'static>> { +) -> &'static embassy_net::Stack<embassy_net_wiznet::Device<'static>> { let mut spi_cfg = SpiConfig::default(); spi_cfg.frequency = 50_000_000; let (miso, mosi, clk) = (p16, p19, p18); @@ -63,7 +64,7 @@ pub(crate) async fn w5500_stack( let mac_addr = config.lock().await.mac; // let state = make_static!(State::<8, 8>::new()); - let (device, runner) = embassy_net_w5500::new( + let (device, runner) = embassy_net_wiznet::new( mac_addr, state, ExclusiveDevice::new(spi, cs, Delay), diff --git a/embassy/demos/std/Cargo.toml b/embassy/demos/std/Cargo.toml index 797640c76fd6b30c46b9419cc7c97c56a94e856e..06396b13d3dd263d5f9e8c0a835fd59a6fd3732f 100644 --- a/embassy/demos/std/Cargo.toml +++ b/embassy/demos/std/Cargo.toml @@ -7,9 +7,9 @@ edition = "2021" embassy-executor = { version = "0.1.0", default-features=false, features = ["log", "std", "nightly", "integrated-timers"] } embassy-time = { version = "0.1", default-features=false, features = ["log", "std"] } # embassy-net/nightly is required for asynch::Read/Write on TcpReader/TcpWriter -embassy-net = { version = "0.1.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } +embassy-net = { version = "0.2.0", features = ["tcp", "dhcpv4", "medium-ethernet", "nightly"] } embassy-net-tuntap = { version = "0.1.0" } -embassy-sync = { version = "0.2.0" } +embassy-sync = { version = "0.3.0" } embassy-futures = { version = "0.1.0" } atomic-polyfill = "0.1.5" static_cell = "1.0" @@ -17,7 +17,7 @@ static_cell = "1.0" log = { version = "0.4" } env_logger = "0.9.0" -embedded-io-async = "0.5" +embedded-io-async = "0.6" heapless = "0.7.15" # for tuntap diff --git a/embassy/demos/std/rust-toolchain.toml b/embassy/demos/std/rust-toolchain.toml index 2b9134d8f1c40bd048185d814631b95521891ec7..ea5b5eaeb6c744099b95aa574985d98d5d67ebee 100644 --- a/embassy/demos/std/rust-toolchain.toml +++ b/embassy/demos/std/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2023-06-14" +channel = "nightly-2023-10-02" components = [ "rustfmt" ] diff --git a/embassy/rust-toolchain.toml b/embassy/rust-toolchain.toml index 2b9134d8f1c40bd048185d814631b95521891ec7..ea5b5eaeb6c744099b95aa574985d98d5d67ebee 100644 --- a/embassy/rust-toolchain.toml +++ b/embassy/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2023-06-14" +channel = "nightly-2023-10-02" components = [ "rustfmt" ] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 2b9134d8f1c40bd048185d814631b95521891ec7..ea5b5eaeb6c744099b95aa574985d98d5d67ebee 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2023-06-14" +channel = "nightly-2023-10-02" components = [ "rustfmt" ] diff --git a/src/behaviour.rs b/src/behaviour.rs index 7d1c5dbe6ccd76610e46c28c72c4dce7ba311a23..d223dc1d6655eeaabea19e56b94b9ccde6a979dc 100644 --- a/src/behaviour.rs +++ b/src/behaviour.rs @@ -234,7 +234,7 @@ pub trait ServBehaviour { // TODO: change password /// Implementations should perform password hash comparisons /// in constant time, using - /// [`subtle::ConstantTimeEq`](subtle::ConstantTimeEq) or similar. + /// [`subtle::ConstantTimeEq`] or similar. /// /// Implementations may need to take care to avoid leaking user existence /// based on timing. diff --git a/src/error.rs b/src/error.rs index 87282c2624e44090faf099d79f4e947a2610fb3b..de25bf5eec980ca2f1ba4982a1d29b2eb88b283e 100644 --- a/src/error.rs +++ b/src/error.rs @@ -204,16 +204,6 @@ impl embedded_io::Error for Error { } } -#[cfg(feature = "embedded-io")] -impl From<embedded_io::WriteAllError<Error>> for Error { - fn from(e: embedded_io::WriteAllError<Error>) -> Error { - match e { - embedded_io::WriteAllError::WriteZero => ChannelEOF.build(), - embedded_io::WriteAllError::Other(e) => e, - } - } -} - pub type Result<T, E = Error> = core::result::Result<T, E>; pub trait TrapBug<T> { diff --git a/src/lib.rs b/src/lib.rs index d01393d31bd315893c0991f7fad0ad848ee22546..c484b8a8ac4d6da9db1a545bf093d2b88cf4805a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,6 +6,10 @@ // avoids headscratching #![deny(unused_must_use)] +// for the time being silence the lint. need to figure if we actually +// want to work with Send (not needed for embassy) +#![allow(async_fn_in_trait)] + // XXX unused_imports only during dev churn #![allow(unused_imports)]