diff --git a/Cargo.lock b/Cargo.lock index a092d5b..d578330 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,23 +68,24 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.5" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" @@ -126,6 +127,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + [[package]] name = "async-channel" version = "1.9.0" @@ -190,7 +200,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-lite 1.13.0", - "log 0.4.20", + "log 0.4.22", "parking", "polling 2.8.0", "rustix 0.37.27", @@ -255,7 +265,7 @@ dependencies = [ "futures-lite 1.13.0", "gloo-timers", "kv-log-macro", - "log 0.4.20", + "log 0.4.22", "memchr", "once_cell", "pin-project-lite", @@ -290,6 +300,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -313,7 +332,7 @@ dependencies = [ "base64ct", "clap", "cool_asserts", - "serde 1.0.193", + "serde 1.0.204", "sha2", "sqlx", "thiserror", @@ -396,7 +415,7 @@ dependencies = [ "cortex-m", "cortex-m-rt", "embedded-alloc", - "embedded-hal", + "embedded-hal 0.2.7", "fixed", "fugit", "lights-core", @@ -443,7 +462,7 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" dependencies = [ - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -491,9 +510,9 @@ checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -568,7 +587,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", - "serde 1.0.193", + "serde 1.0.204", "wasm-bindgen", "windows-targets 0.48.5", ] @@ -582,7 +601,7 @@ dependencies = [ "chrono", "chrono-tz-build", "phf 0.11.2", - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -615,7 +634,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.10.0", ] [[package]] @@ -645,6 +664,16 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -672,7 +701,7 @@ version = "0.1.0" dependencies = [ "config-derive", "cool_asserts", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "thiserror", ] @@ -743,7 +772,7 @@ checksum = "8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9" dependencies = [ "bare-metal", "bitfield", - "embedded-hal", + "embedded-hal 0.2.7", "volatile-register", ] @@ -883,6 +912,41 @@ dependencies = [ "gtk4", ] +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.48", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.48", +] + [[package]] name = "dashboard" version = "0.1.2" @@ -903,7 +967,7 @@ dependencies = [ "libadwaita", "memorycache", "reqwest", - "serde 1.0.193", + "serde 1.0.204", "serde_derive", "serde_json", "tokio", @@ -932,6 +996,48 @@ dependencies = [ "byteorder", ] +[[package]] +name = "defmt" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a99dd22262668b887121d4672af5a64b238f026099f1a2a1b322066c9ecfe9e0" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9f309eff1f79b3ebdf252954d90ae440599c26c2c553fe87a2d17195f2dcb" +dependencies = [ + "defmt-parser", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "defmt-parser" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff4a5fefe330e8d7f31b16a318f9ce81000d8e35e69b93eae154d16d2278f70f" +dependencies = [ + "thiserror", +] + +[[package]] +name = "defmt-rtt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab697b3dbbc1750b7c8b821aa6f6e7f2480b47a99bc057a2ed7b170ebef0c51" +dependencies = [ + "critical-section", + "defmt", +] + [[package]] name = "der" version = "0.7.8" @@ -952,6 +1058,12 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + [[package]] name = "digest" version = "0.10.7" @@ -972,7 +1084,7 @@ checksum = "2517b0555262aeeda0d107a40ecfbbcf185921180ffb4acf316ebe0887467e26" dependencies = [ "generic-array 0.11.2", "num-traits", - "serde 1.0.193", + "serde 1.0.204", "typenum", ] @@ -984,10 +1096,31 @@ checksum = "a0b0a86c5d31c93238ff4b694fa31f3acdf67440770dc314c57d90e433914397" dependencies = [ "generic-array 0.14.7", "num-traits", - "serde 1.0.193", + "serde 1.0.204", "typenum", ] +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + [[package]] name = "displaydoc" version = "0.2.4" @@ -999,6 +1132,15 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "dotenvy" version = "0.15.7" @@ -1011,7 +1153,178 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" dependencies = [ - "serde 1.0.193", + "serde 1.0.204", +] + +[[package]] +name = "embassy-embedded-hal" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca4a9380d03e61063067b8239f67d2fa9f108ede7c46b4273804f6b79e59a1d" +dependencies = [ + "defmt", + "embassy-futures", + "embassy-sync 0.5.0", + "embassy-time", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "embedded-storage", + "embedded-storage-async", + "nb 1.1.0", +] + +[[package]] +name = "embassy-executor" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec648daedd2143466eff4b3e8002024f9f6c1de4ab7666bb679688752624c925" +dependencies = [ + "cortex-m", + "critical-section", + "defmt", + "document-features", + "embassy-executor-macros", + "embassy-time-driver", + "embassy-time-queue-driver", +] + +[[package]] +name = "embassy-executor-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad454accf80050e9cf7a51e994132ba0e56286b31f9317b68703897c328c59b5" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "embassy-futures" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f878075b9794c1e4ac788c95b728f26aa6366d32eeb10c7051389f898f7d067" + +[[package]] +name = "embassy-hal-internal" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0ec47cf8bab914018d4bd2b4f0aaeb46e4f52ab1e7985df88aeef2c6eda5aed" +dependencies = [ + "cortex-m", + "critical-section", + "defmt", + "num-traits", +] + +[[package]] +name = "embassy-rp" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "438f170cbd97d4a870e8d57e1738ee815255028ad31dd409d891e2bf797dc531" +dependencies = [ + "atomic-polyfill", + "cfg-if", + "cortex-m", + "cortex-m-rt", + "critical-section", + "defmt", + "document-features", + "embassy-embedded-hal", + "embassy-futures", + "embassy-hal-internal", + "embassy-sync 0.5.0", + "embassy-time", + "embassy-time-driver", + "embassy-usb-driver", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "embedded-hal-nb", + "embedded-io", + "embedded-io-async", + "embedded-storage", + "embedded-storage-async", + "fixed", + "futures", + "nb 1.1.0", + "pio", + "pio-proc", + "rand_core 0.6.4", + "rp-pac", + "rp2040-boot2", +] + +[[package]] +name = "embassy-sync" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd938f25c0798db4280fcd8026bf4c2f48789aebf8f77b6e5cf8a7693ba114ec" +dependencies = [ + "cfg-if", + "critical-section", + "embedded-io-async", + "futures-util", + "heapless", +] + +[[package]] +name = "embassy-sync" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e0c49ff02ebe324faf3a8653ba91582e2d0a7fdef5bc88f449d5aa1bfcc05c" +dependencies = [ + "cfg-if", + "critical-section", + "defmt", + "embedded-io-async", + "futures-util", + "heapless", +] + +[[package]] +name = "embassy-time" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "274c019608a9004aed3cafc871e2a3c87ce9351d537dcaab4cc5db184d4a04b1" +dependencies = [ + "cfg-if", + "critical-section", + "defmt", + "document-features", + "embassy-time-driver", + "embassy-time-queue-driver", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "futures-util", + "heapless", +] + +[[package]] +name = "embassy-time-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0c214077aaa9206958b16411c157961fb7990d4ea628120a78d1a5a28aed24" +dependencies = [ + "document-features", +] + +[[package]] +name = "embassy-time-queue-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1177859559ebf42cd24ae7ba8fe6ee707489b01d0bf471f8827b7b12dcb0bc0" + +[[package]] +name = "embassy-usb-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fc247028eae04174b6635104a35b1ed336aabef4654f5e87a8f32327d231970" +dependencies = [ + "defmt", ] [[package]] @@ -1043,6 +1356,61 @@ dependencies = [ "void", ] +[[package]] +name = "embedded-hal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89" + +[[package]] +name = "embedded-hal-async" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4c685bbef7fe13c3c6dd4da26841ed3980ef33e841cddfa15ce8a8fb3f1884" +dependencies = [ + "embedded-hal 1.0.0", +] + +[[package]] +name = "embedded-hal-nb" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba4268c14288c828995299e59b12babdbe170f6c6d73731af1b4648142e8605" +dependencies = [ + "embedded-hal 1.0.0", + "nb 1.1.0", +] + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + +[[package]] +name = "embedded-io-async" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff09972d4073aa8c299395be75161d582e7629cd663171d62af73c8d50dba3f" +dependencies = [ + "embedded-io", +] + +[[package]] +name = "embedded-storage" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21dea9854beb860f3062d10228ce9b976da520a73474aed3171ec276bc0c032" + +[[package]] +name = "embedded-storage-async" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1763775e2323b7d5f0aa6090657f5e21cfa02ede71f5dc40eead06d64dcd15cc" +dependencies = [ + "embedded-storage", +] + [[package]] name = "emseries" version = "0.6.0" @@ -1050,7 +1418,7 @@ dependencies = [ "chrono", "chrono-tz", "dimensioned 0.7.0", - "serde 1.0.193", + "serde 1.0.204", "serde_derive", "serde_json", "tempfile", @@ -1058,6 +1426,15 @@ dependencies = [ "uuid 0.8.2", ] +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log 0.4.22", +] + [[package]] name = "encoding_rs" version = "0.8.33" @@ -1075,7 +1452,7 @@ checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ "humantime", "is-terminal", - "log 0.4.20", + "log 0.4.22", "regex", "termcolor", ] @@ -1200,12 +1577,12 @@ dependencies = [ "hex-string", "http 0.2.11", "image 0.23.14", - "log 0.4.20", + "log 0.4.22", "logger", "mime 0.3.17", "mime_guess 2.0.4", "pretty_env_logger", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "sha2", "tempdir", @@ -1254,6 +1631,12 @@ dependencies = [ "typenum", ] +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "flate2" version = "1.0.28" @@ -1406,7 +1789,7 @@ dependencies = [ "chrono-tz", "dimensioned 0.8.0", "emseries", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "tempfile", ] @@ -1800,7 +2183,7 @@ dependencies = [ "glib-build-tools 0.16.3", "gtk4", "libadwaita", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "tokio", ] @@ -1961,6 +2344,15 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.3" @@ -2004,6 +2396,16 @@ dependencies = [ "http 0.2.11", ] +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.4.1" @@ -2211,6 +2613,12 @@ dependencies = [ "libadwaita", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.1.5" @@ -2237,7 +2645,7 @@ name = "ifc" version = "0.1.0" dependencies = [ "chrono", - "serde 1.0.193", + "serde 1.0.204", "thiserror", ] @@ -2367,6 +2775,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -2424,7 +2838,38 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" dependencies = [ - "log 0.4.20", + "log 0.4.22", +] + +[[package]] +name = "lalrpop" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" +dependencies = [ + "ascii-canvas", + "bit-set", + "diff", + "ena", + "is-terminal", + "itertools 0.10.5", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.6.29", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "lalrpop-util" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" +dependencies = [ + "regex", ] [[package]] @@ -2492,6 +2937,16 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.4.1", + "libc", +] + [[package]] name = "libsqlite3-sys" version = "0.27.0" @@ -2529,6 +2984,12 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.11" @@ -2545,14 +3006,14 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" dependencies = [ - "log 0.4.20", + "log 0.4.22", ] [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ "value-bag", ] @@ -2605,7 +3066,7 @@ version = "0.1.0" dependencies = [ "chrono", "futures", - "serde 1.0.193", + "serde 1.0.204", "serde_derive", "tokio", ] @@ -2710,7 +3171,7 @@ dependencies = [ "futures-util", "http 0.2.11", "httparse", - "log 0.4.20", + "log 0.4.22", "memchr", "mime 0.3.17", "spin 0.9.8", @@ -2735,7 +3196,7 @@ checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", - "log 0.4.20", + "log 0.4.22", "openssl", "openssl-probe", "openssl-sys", @@ -2760,6 +3221,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d" +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.27.1" @@ -2965,7 +3432,7 @@ dependencies = [ "cool_asserts", "grid", "nary_tree", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "sgf", "thiserror", @@ -3023,6 +3490,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de96540e0ebde571dc55c73d60ef407c653844e6f9a1e2fdbd40c07b9252d812" +[[package]] +name = "panic-probe" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4047d9235d1423d66cc97da7d07eddb54d4f154d6c13805c6d0793956f4f25b0" +dependencies = [ + "cortex-m", + "defmt", +] + [[package]] name = "parking" version = "2.2.0" @@ -3088,6 +3565,16 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + [[package]] name = "phf" version = "0.7.24" @@ -3156,6 +3643,15 @@ dependencies = [ "unicase 1.4.2", ] +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + [[package]] name = "phf_shared" version = "0.11.2" @@ -3169,13 +3665,15 @@ dependencies = [ name = "pi-usb-serial" version = "0.1.0" dependencies = [ - "az", - "cortex-m", "cortex-m-rt", - "embedded-alloc", - "embedded-hal", - "panic-halt", - "rp-pico", + "defmt", + "defmt-rtt", + "embassy-embedded-hal", + "embassy-executor", + "embassy-rp", + "embassy-sync 0.6.0", + "embassy-time", + "panic-probe", ] [[package]] @@ -3221,6 +3719,35 @@ dependencies = [ "paste", ] +[[package]] +name = "pio-parser" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77532c2b8279aef98dfc7207ef15298a5a3d6b6cc76ccc8b65913d69f3a8dd6b" +dependencies = [ + "lalrpop", + "lalrpop-util", + "pio", + "regex-syntax 0.6.29", +] + +[[package]] +name = "pio-proc" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b04dc870fb3a4fd8b3e4ca8c61b53bc8ac4eb78b66805d2b3c2e5c4829e0d7a" +dependencies = [ + "codespan-reporting", + "lalrpop-util", + "pio", + "pio-parser", + "proc-macro-error", + "proc-macro2", + "quote", + "regex-syntax 0.6.29", + "syn 1.0.109", +] + [[package]] name = "piper" version = "0.2.1" @@ -3304,7 +3831,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "libc", - "log 0.4.20", + "log 0.4.22", "pin-project-lite", "windows-sys 0.48.0", ] @@ -3335,6 +3862,12 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + [[package]] name = "pretty_env_logger" version = "0.5.0" @@ -3342,7 +3875,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c" dependencies = [ "env_logger", - "log 0.4.20", + "log 0.4.22", ] [[package]] @@ -3412,7 +3945,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift 0.3.0", - "regex-syntax", + "regex-syntax 0.8.2", "rusty-fork", "tempfile", "unarray", @@ -3648,6 +4181,17 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + [[package]] name = "regex" version = "1.10.2" @@ -3657,7 +4201,7 @@ dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] @@ -3668,9 +4212,15 @@ checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.2", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.2" @@ -3704,13 +4254,13 @@ dependencies = [ "hyper-tls", "ipnet", "js-sys", - "log 0.4.20", + "log 0.4.22", "mime 0.3.17", "native-tls", "once_cell", "percent-encoding 2.3.1", "pin-project-lite", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "serde_urlencoded", "system-configuration", @@ -3731,6 +4281,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "rp-pac" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30f6c4c846269293db805e9c77864ff7b923395b480550df44f0868e3765337" +dependencies = [ + "cortex-m", + "cortex-m-rt", +] + [[package]] name = "rp-pico" version = "0.8.0" @@ -3762,7 +4322,7 @@ dependencies = [ "cortex-m", "critical-section", "embedded-dma", - "embedded-hal", + "embedded-hal 0.2.7", "frunk", "fugit", "itertools 0.10.5", @@ -3887,6 +4447,12 @@ dependencies = [ "base64 0.21.5", ] +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + [[package]] name = "rusty-fork" version = "0.3.0" @@ -4013,18 +4579,18 @@ checksum = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", @@ -4039,7 +4605,7 @@ checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -4048,7 +4614,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -4060,7 +4626,7 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -4071,7 +4637,7 @@ dependencies = [ "cool_asserts", "nary_tree", "nom", - "serde 1.0.193", + "serde 1.0.204", "thiserror", "typeshare", "uuid 0.8.2", @@ -4263,12 +4829,12 @@ dependencies = [ "hashlink", "hex", "indexmap", - "log 0.4.20", + "log 0.4.22", "memchr", "once_cell", "paste", "percent-encoding 2.3.1", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "sha2", "smallvec", @@ -4307,7 +4873,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "sha2", "sqlx-core", @@ -4343,14 +4909,14 @@ dependencies = [ "hkdf", "hmac", "itoa", - "log 0.4.20", + "log 0.4.22", "md-5", "memchr", "once_cell", "percent-encoding 2.3.1", "rand 0.8.5", "rsa", - "serde 1.0.193", + "serde 1.0.204", "sha1", "sha2", "smallvec", @@ -4383,12 +4949,12 @@ dependencies = [ "hmac", "home", "itoa", - "log 0.4.20", + "log 0.4.22", "md-5", "memchr", "once_cell", "rand 0.8.5", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "sha1", "sha2", @@ -4414,9 +4980,9 @@ dependencies = [ "futures-intrusive", "futures-util", "libsqlite3-sys", - "log 0.4.20", + "log 0.4.22", "percent-encoding 2.3.1", - "serde 1.0.193", + "serde 1.0.204", "sqlx-core", "tracing", "url 2.5.0", @@ -4429,6 +4995,19 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", +] + [[package]] name = "stringprep" version = "0.1.4" @@ -4446,6 +5025,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.5.0" @@ -4537,6 +5122,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + [[package]] name = "termcolor" version = "1.4.0" @@ -4608,7 +5204,7 @@ dependencies = [ "deranged", "itoa", "powerfmt", - "serde 1.0.193", + "serde 1.0.204", "time-core", "time-macros", ] @@ -4636,6 +5232,15 @@ dependencies = [ "chrono-tz", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tinystr" version = "0.7.5" @@ -4718,7 +5323,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", - "log 0.4.20", + "log 0.4.22", "tokio", "tungstenite", ] @@ -4743,7 +5348,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" dependencies = [ - "serde 1.0.193", + "serde 1.0.204", "serde_spanned", "toml_datetime", "toml_edit 0.20.2", @@ -4755,7 +5360,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -4776,7 +5381,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ "indexmap", - "serde 1.0.193", + "serde 1.0.204", "serde_spanned", "toml_datetime", "winnow", @@ -4794,7 +5399,7 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log 0.4.20", + "log 0.4.22", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4847,7 +5452,7 @@ dependencies = [ "data-encoding", "http 0.2.11", "httparse", - "log 0.4.20", + "log 0.4.22", "rand 0.8.5", "sha1", "thiserror", @@ -4892,7 +5497,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f44d1a2f454cb35fbe05b218c410792697e76bd868f48d3a418f2cd1a7d527d6" dependencies = [ "chrono", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "typeshare-annotation", ] @@ -4976,6 +5581,18 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unicode_categories" version = "0.1.1" @@ -5054,7 +5671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ "getrandom", - "serde 1.0.193", + "serde 1.0.204", ] [[package]] @@ -5108,7 +5725,7 @@ version = "0.1.0" dependencies = [ "authdb", "http 1.0.0", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "tokio", "warp", @@ -5165,7 +5782,7 @@ dependencies = [ "headers", "http 0.2.11", "hyper 0.14.28", - "log 0.4.20", + "log 0.4.22", "mime 0.3.17", "mime_guess 2.0.4", "multer", @@ -5173,7 +5790,7 @@ dependencies = [ "pin-project", "rustls-pemfile", "scoped-tls", - "serde 1.0.193", + "serde 1.0.204", "serde_json", "serde_urlencoded", "tokio", @@ -5213,7 +5830,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", - "log 0.4.20", + "log 0.4.22", "once_cell", "proc-macro2", "quote", diff --git a/pi-usb-serial/.cargo/config b/pi-usb-serial/.cargo/config deleted file mode 100644 index bfd0de3..0000000 --- a/pi-usb-serial/.cargo/config +++ /dev/null @@ -1,14 +0,0 @@ -[build] -target = "thumbv6m-none-eabi" - -[target.thumbv6m-none-eabi] -rustflags = [ - "-C", "link-arg=--nmagic", - "-C", "link-arg=-Tlink.x", - "-C", "inline-threshold=5", - "-C", "no-vectorize-loops", -] - -[target.'cfg(all(target_arch = "arm", target_os = "none"))'] -runner = "elf2uf2-rs -d" - diff --git a/pi-usb-serial/.cargo/config.toml b/pi-usb-serial/.cargo/config.toml new file mode 100644 index 0000000..f4e2179 --- /dev/null +++ b/pi-usb-serial/.cargo/config.toml @@ -0,0 +1,6 @@ +[build] +target = "thumbv6m-none-eabi" + +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +runner = "elf2uf2-rs -d" + diff --git a/pi-usb-serial/Cargo.toml b/pi-usb-serial/Cargo.toml index 3410d5c..e641f9e 100644 --- a/pi-usb-serial/Cargo.toml +++ b/pi-usb-serial/Cargo.toml @@ -5,11 +5,14 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -az = { version = "1" } -cortex-m-rt = { version = "0.7.3" } -cortex-m = { version = "0.7.7" } -embedded-alloc = { version = "0.5.1" } -embedded-hal = { version = "0.2.7" } -panic-halt = { version = "0.2.0" } -rp-pico = { version = "0.8.0" } +embassy-embedded-hal = { version = "0.1.0", features = ["defmt"] } +embassy-sync = { version = "0.6.0", features = ["defmt"] } +embassy-executor = { version = "0.5.0", features = ["task-arena-size-98304", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } +embassy-time = { version = "0.3.1", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-rp = { version = "0.1.0", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] } +defmt = "0.3" +defmt-rtt = "0.4" + +cortex-m-rt = "0.7.0" +panic-probe = { version = "0.3", features = ["print-defmt"] } diff --git a/pi-usb-serial/build.rs b/pi-usb-serial/build.rs index 8293639..1500d14 100644 --- a/pi-usb-serial/build.rs +++ b/pi-usb-serial/build.rs @@ -4,11 +4,23 @@ use std::io::Write; use std::path::PathBuf; fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); File::create(out.join("memory.x")) .unwrap() .write_all(include_bytes!("memory.x")) .unwrap(); println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tlink-rp.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); } diff --git a/pi-usb-serial/src/main.rs b/pi-usb-serial/src/main.rs index 5b05e61..8bca389 100644 --- a/pi-usb-serial/src/main.rs +++ b/pi-usb-serial/src/main.rs @@ -5,55 +5,26 @@ #![no_std] #![no_main] -use cortex_m::delay::Delay; -use embedded_hal::digital::v2::OutputPin; -use panic_halt as _; -use rp_pico::{ - entry, - hal::{ - clocks::init_clocks_and_plls, - pac::{CorePeripherals, Peripherals}, - watchdog::Watchdog, - Clock, Sio, - }, - Pins, -}; +use embassy_executor::Spawner; +use embassy_rp::gpio; +use embassy_time::Timer; +use gpio::{Level, Output}; +use defmt::*; +use defmt_rtt as _; +use panic_probe as _; -#[entry] -fn main() -> ! { - let mut pac = Peripherals::take().unwrap(); - let core = CorePeripherals::take().unwrap(); - let sio = Sio::new(pac.SIO); - let pins = Pins::new( - pac.IO_BANK0, - pac.PADS_BANK0, - sio.gpio_bank0, - &mut pac.RESETS, - ); +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + let mut led = Output::new(p.PIN_25, Level::Low); - let mut watchdog = Watchdog::new(pac.WATCHDOG); - let clocks = init_clocks_and_plls( - 12_000_000u32, - pac.XOSC, - pac.CLOCKS, - pac.PLL_SYS, - pac.PLL_USB, - &mut pac.RESETS, - &mut watchdog, - ) - .ok() - .unwrap(); - - let mut delay = Delay::new(core.SYST, clocks.system_clock.freq().to_Hz()); - - let mut led_pin = pins.led.into_push_pull_output(); - - let delay_ms = 1000; loop { - let _ = led_pin.set_high(); - delay.delay_ms(delay_ms); + info!("led on!"); + led.set_high(); + Timer::after_secs(1).await; - let _ = led_pin.set_low(); - delay.delay_ms(delay_ms); + info!("led off!"); + led.set_low(); + Timer::after_secs(1).await; } } diff --git a/rust-toolchain b/rust-toolchain index 10e3c69..d16999b 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "1.77.0" +channel = "1.80.0" targets = [ "wasm32-unknown-unknown", "thumbv6m-none-eabi" ]