Update dependencies

This commit is contained in:
2023-05-21 00:57:08 +02:00
parent c5c27c487e
commit 8a14c13bf1
12 changed files with 311 additions and 177 deletions

353
Cargo.lock generated
View File

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "0.7.20" version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -50,6 +50,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "az"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
[[package]] [[package]]
name = "bare-metal" name = "bare-metal"
version = "0.2.5" version = "0.2.5"
@ -164,6 +170,15 @@ dependencies = [
"syn 1.0.109", "syn 1.0.109",
] ]
[[package]]
name = "crc-any"
version = "2.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"
dependencies = [
"debug-helper",
]
[[package]] [[package]]
name = "critical-section" name = "critical-section"
version = "1.1.1" version = "1.1.1"
@ -211,6 +226,12 @@ dependencies = [
"syn 1.0.109", "syn 1.0.109",
] ]
[[package]]
name = "debug-helper"
version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
[[package]] [[package]]
name = "diff" name = "diff"
version = "0.1.13" version = "0.1.13"
@ -247,7 +268,7 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]] [[package]]
name = "embassy-cortex-m" name = "embassy-cortex-m"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"atomic-polyfill 1.0.2", "atomic-polyfill 1.0.2",
"cfg-if", "cfg-if",
@ -262,11 +283,11 @@ dependencies = [
[[package]] [[package]]
name = "embassy-embedded-hal" name = "embassy-embedded-hal"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"embassy-sync", "embassy-sync",
"embedded-hal 0.2.7", "embedded-hal 0.2.7",
"embedded-hal 1.0.0-alpha.9", "embedded-hal 1.0.0-alpha.10",
"embedded-hal-async", "embedded-hal-async",
"embedded-storage", "embedded-storage",
"embedded-storage-async", "embedded-storage-async",
@ -275,11 +296,11 @@ dependencies = [
[[package]] [[package]]
name = "embassy-executor" name = "embassy-executor"
version = "0.1.1" version = "0.2.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"atomic-polyfill 1.0.2", "atomic-polyfill 1.0.2",
"cfg-if", "cortex-m",
"critical-section", "critical-section",
"embassy-macros", "embassy-macros",
"embassy-time", "embassy-time",
@ -291,7 +312,7 @@ dependencies = [
[[package]] [[package]]
name = "embassy-futures" name = "embassy-futures"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"log", "log",
] ]
@ -299,15 +320,15 @@ dependencies = [
[[package]] [[package]]
name = "embassy-hal-common" name = "embassy-hal-common"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"num-traits", "num-traits",
] ]
[[package]] [[package]]
name = "embassy-macros" name = "embassy-macros"
version = "0.1.0" version = "0.2.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"darling", "darling",
"proc-macro2", "proc-macro2",
@ -318,12 +339,12 @@ dependencies = [
[[package]] [[package]]
name = "embassy-net-driver" name = "embassy-net-driver"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
[[package]] [[package]]
name = "embassy-net-driver-channel" name = "embassy-net-driver-channel"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"embassy-futures", "embassy-futures",
"embassy-net-driver", "embassy-net-driver",
@ -333,7 +354,7 @@ dependencies = [
[[package]] [[package]]
name = "embassy-rp" name = "embassy-rp"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"atomic-polyfill 1.0.2", "atomic-polyfill 1.0.2",
"cfg-if", "cfg-if",
@ -349,11 +370,12 @@ dependencies = [
"embassy-time", "embassy-time",
"embassy-usb-driver", "embassy-usb-driver",
"embedded-hal 0.2.7", "embedded-hal 0.2.7",
"embedded-hal 1.0.0-alpha.9", "embedded-hal 1.0.0-alpha.10",
"embedded-hal-async", "embedded-hal-async",
"embedded-hal-nb", "embedded-hal-nb",
"embedded-io", "embedded-io",
"embedded-storage", "embedded-storage",
"fixed",
"futures", "futures",
"log", "log",
"nb 1.1.0", "nb 1.1.0",
@ -361,13 +383,14 @@ dependencies = [
"pio", "pio",
"pio-proc", "pio-proc",
"rand_core", "rand_core",
"rp2040-pac2", "rp-pac",
"rp2040-boot2",
] ]
[[package]] [[package]]
name = "embassy-sync" name = "embassy-sync"
version = "0.1.0" version = "0.2.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"critical-section", "critical-section",
@ -379,13 +402,12 @@ dependencies = [
[[package]] [[package]]
name = "embassy-time" name = "embassy-time"
version = "0.1.0" version = "0.1.1"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"atomic-polyfill 1.0.2", "atomic-polyfill 1.0.2",
"cfg-if", "cfg-if",
"critical-section", "critical-section",
"embassy-sync",
"embedded-hal 0.2.7", "embedded-hal 0.2.7",
"futures-util", "futures-util",
"heapless", "heapless",
@ -395,7 +417,7 @@ dependencies = [
[[package]] [[package]]
name = "embassy-usb" name = "embassy-usb"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"embassy-futures", "embassy-futures",
"embassy-net-driver-channel", "embassy-net-driver-channel",
@ -409,12 +431,12 @@ dependencies = [
[[package]] [[package]]
name = "embassy-usb-driver" name = "embassy-usb-driver"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
[[package]] [[package]]
name = "embassy-usb-logger" name = "embassy-usb-logger"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/embassy-rs/embassy.git#732614579b86c2a63856b6e8e2622e09322600a7" source = "git+https://github.com/embassy-rs/embassy.git#d55b9bc6e2de528e1351b992bb30f54ec6f76b6d"
dependencies = [ dependencies = [
"embassy-futures", "embassy-futures",
"embassy-sync", "embassy-sync",
@ -447,26 +469,26 @@ dependencies = [
[[package]] [[package]]
name = "embedded-hal" name = "embedded-hal"
version = "1.0.0-alpha.9" version = "1.0.0-alpha.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "129b101ddfee640565f7c07b301a31d95aa21e5acef21a491c307139f5fa4c91" checksum = "f65c4d073f5d91c66e629b216818a4c9747eeda0debedf2deda9a0a947e4e93b"
[[package]] [[package]]
name = "embedded-hal-async" name = "embedded-hal-async"
version = "0.2.0-alpha.0" version = "0.2.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "608a322808d65da06715e03109c0cb69f79a5459af756fba393ab83e875d4969" checksum = "8042370aa7af48de36d5312cda14c18ed8ca6b7ce64f5a07832fedc9dc83063f"
dependencies = [ dependencies = [
"embedded-hal 1.0.0-alpha.9", "embedded-hal 1.0.0-alpha.10",
] ]
[[package]] [[package]]
name = "embedded-hal-nb" name = "embedded-hal-nb"
version = "1.0.0-alpha.1" version = "1.0.0-alpha.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e0760ec0a3bf76859d5e33f39542af103f157d5b2ecfb00ace56dd461472e3a" checksum = "1465fffd56a95bbc105c17965bca1c1d5815027b1cc6bb183bc05d04563d065c"
dependencies = [ dependencies = [
"embedded-hal 1.0.0-alpha.9", "embedded-hal 1.0.0-alpha.10",
"nb 1.1.0", "nb 1.1.0",
] ]
@ -508,13 +530,13 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
[[package]] [[package]]
name = "errno" name = "errno"
version = "0.2.8" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [ dependencies = [
"errno-dragonfly", "errno-dragonfly",
"libc", "libc",
"winapi", "windows-sys 0.48.0",
] ]
[[package]] [[package]]
@ -527,6 +549,18 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "fixed"
version = "1.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79386fdcec5e0fde91b1a6a5bcd89677d1f9304f7f986b154a1b9109038854d9"
dependencies = [
"az",
"bytemuck",
"half",
"typenum",
]
[[package]] [[package]]
name = "fixedbitset" name = "fixedbitset"
version = "0.4.2" version = "0.4.2"
@ -541,9 +575,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -555,9 +589,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -565,44 +599,44 @@ dependencies = [
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 1.0.109", "syn 2.0.16",
] ]
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-macro", "futures-macro",
@ -614,15 +648,24 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.8" version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"wasi", "wasi",
] ]
[[package]]
name = "half"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
dependencies = [
"crunchy",
]
[[package]] [[package]]
name = "hash32" name = "hash32"
version = "0.2.1" version = "0.2.1"
@ -676,25 +719,25 @@ dependencies = [
[[package]] [[package]]
name = "io-lifetimes" name = "io-lifetimes"
version = "1.0.9" version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
dependencies = [ dependencies = [
"hermit-abi", "hermit-abi",
"libc", "libc",
"windows-sys", "windows-sys 0.48.0",
] ]
[[package]] [[package]]
name = "is-terminal" name = "is-terminal"
version = "0.4.5" version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8687c819457e979cc940d09cb16e42a1bf70aa6b60a549de6d3a62a0ee90c69e" checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
dependencies = [ dependencies = [
"hermit-abi", "hermit-abi",
"io-lifetimes", "io-lifetimes",
"rustix", "rustix",
"windows-sys", "windows-sys 0.48.0",
] ]
[[package]] [[package]]
@ -708,9 +751,9 @@ dependencies = [
[[package]] [[package]]
name = "lalrpop" name = "lalrpop"
version = "0.19.9" version = "0.19.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f34313ec00c2eb5c3c87ca6732ea02dcf3af99c3ff7a8fb622ffb99c9d860a87" checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b"
dependencies = [ dependencies = [
"ascii-canvas", "ascii-canvas",
"bit-set", "bit-set",
@ -720,9 +763,8 @@ dependencies = [
"itertools", "itertools",
"lalrpop-util", "lalrpop-util",
"petgraph", "petgraph",
"pico-args",
"regex", "regex",
"regex-syntax", "regex-syntax 0.6.29",
"string_cache", "string_cache",
"term", "term",
"tiny-keccak", "tiny-keccak",
@ -731,18 +773,18 @@ dependencies = [
[[package]] [[package]]
name = "lalrpop-util" name = "lalrpop-util"
version = "0.19.9" version = "0.19.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5c1f7869c94d214466c5fd432dfed12c379fd87786768d36455892d46b18edd" checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed"
dependencies = [ dependencies = [
"regex", "regex",
] ]
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.140" version = "0.2.144"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
[[package]] [[package]]
name = "linked_list_allocator" name = "linked_list_allocator"
@ -752,9 +794,9 @@ checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286"
[[package]] [[package]]
name = "linux-raw-sys" name = "linux-raw-sys"
version = "0.1.4" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
@ -857,7 +899,7 @@ dependencies = [
"libc", "libc",
"redox_syscall", "redox_syscall",
"smallvec", "smallvec",
"windows-sys", "windows-sys 0.45.0",
] ]
[[package]] [[package]]
@ -885,12 +927,6 @@ dependencies = [
"siphasher", "siphasher",
] ]
[[package]]
name = "pico-args"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
[[package]] [[package]]
name = "pin-project-lite" name = "pin-project-lite"
version = "0.2.9" version = "0.2.9"
@ -916,20 +952,21 @@ dependencies = [
[[package]] [[package]]
name = "pio-parser" name = "pio-parser"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57e25a6443ddde6cf1122debd1ee58d002390934fa2a0415e660d6f6d7842b06" checksum = "77532c2b8279aef98dfc7207ef15298a5a3d6b6cc76ccc8b65913d69f3a8dd6b"
dependencies = [ dependencies = [
"lalrpop", "lalrpop",
"lalrpop-util", "lalrpop-util",
"pio", "pio",
"regex-syntax 0.6.29",
] ]
[[package]] [[package]]
name = "pio-proc" name = "pio-proc"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1e7e61a9dc0a0f8fa54ab33a6ab52bf17f221b86f157c79f09a08cc2a8c7e4" checksum = "6b04dc870fb3a4fd8b3e4ca8c61b53bc8ac4eb78b66805d2b3c2e5c4829e0d7a"
dependencies = [ dependencies = [
"codespan-reporting", "codespan-reporting",
"lalrpop-util", "lalrpop-util",
@ -938,6 +975,7 @@ dependencies = [
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
"quote", "quote",
"regex-syntax 0.6.29",
"syn 1.0.109", "syn 1.0.109",
] ]
@ -984,18 +1022,18 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.54" version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534" checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.26" version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -1028,13 +1066,13 @@ dependencies = [
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.7.3" version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
"regex-syntax", "regex-syntax 0.7.1",
] ]
[[package]] [[package]]
@ -1043,6 +1081,12 @@ version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
[[package]] [[package]]
name = "rgb" name = "rgb"
version = "0.8.36" version = "0.8.36"
@ -1064,14 +1108,24 @@ dependencies = [
] ]
[[package]] [[package]]
name = "rp2040-pac2" name = "rp-pac"
version = "0.1.0" version = "4.0.0"
source = "git+https://github.com/embassy-rs/rp2040-pac2?rev=017e3c9007b2d3b6965f0d85b5bf8ce3fa6d7364#017e3c9007b2d3b6965f0d85b5bf8ce3fa6d7364" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76e426cd8377db668fba1fe885028788b126b7cef91059cd478de8b076c2915"
dependencies = [ dependencies = [
"cortex-m", "cortex-m",
"cortex-m-rt", "cortex-m-rt",
] ]
[[package]]
name = "rp2040-boot2"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c92f344f63f950ee36cf4080050e4dce850839b9175da38f9d2ffb69b4dbb21"
dependencies = [
"crc-any",
]
[[package]] [[package]]
name = "rustc_version" name = "rustc_version"
version = "0.2.3" version = "0.2.3"
@ -1092,16 +1146,16 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.36.11" version = "0.37.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"errno", "errno",
"io-lifetimes", "io-lifetimes",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
"windows-sys", "windows-sys 0.48.0",
] ]
[[package]] [[package]]
@ -1139,22 +1193,22 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.158" version = "1.0.163"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9" checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.158" version = "1.0.163"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.10", "syn 2.0.16",
] ]
[[package]] [[package]]
@ -1189,9 +1243,9 @@ dependencies = [
[[package]] [[package]]
name = "spin" name = "spin"
version = "0.9.6" version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5d6e0250b93c8427a177b849d144a96d5acc57006149479403d7861ab721e34" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
dependencies = [ dependencies = [
"lock_api", "lock_api",
] ]
@ -1253,9 +1307,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.10" version = "2.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aad1363ed6d37b84299588d62d3a7d95b5a5c2d9aad5c85609fda12afaa1f40" checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1279,6 +1333,7 @@ dependencies = [
"embedded-alloc", "embedded-alloc",
"embedded-hal 0.2.7", "embedded-hal 0.2.7",
"embedded-io", "embedded-io",
"fixed",
"futures", "futures",
"log", "log",
"pio", "pio",
@ -1337,7 +1392,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.10", "syn 2.0.16",
] ]
[[package]] [[package]]
@ -1349,6 +1404,12 @@ dependencies = [
"crunchy", "crunchy",
] ]
[[package]]
name = "typenum"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.8" version = "1.0.8"
@ -1478,7 +1539,16 @@ version = "0.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
dependencies = [ dependencies = [
"windows-targets", "windows-targets 0.42.2",
]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.0",
] ]
[[package]] [[package]]
@ -1487,13 +1557,28 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
dependencies = [ dependencies = [
"windows_aarch64_gnullvm", "windows_aarch64_gnullvm 0.42.2",
"windows_aarch64_msvc", "windows_aarch64_msvc 0.42.2",
"windows_i686_gnu", "windows_i686_gnu 0.42.2",
"windows_i686_msvc", "windows_i686_msvc 0.42.2",
"windows_x86_64_gnu", "windows_x86_64_gnu 0.42.2",
"windows_x86_64_gnullvm", "windows_x86_64_gnullvm 0.42.2",
"windows_x86_64_msvc", "windows_x86_64_msvc 0.42.2",
]
[[package]]
name = "windows-targets"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
dependencies = [
"windows_aarch64_gnullvm 0.48.0",
"windows_aarch64_msvc 0.48.0",
"windows_i686_gnu 0.48.0",
"windows_i686_msvc 0.48.0",
"windows_x86_64_gnu 0.48.0",
"windows_x86_64_gnullvm 0.48.0",
"windows_x86_64_msvc 0.48.0",
] ]
[[package]] [[package]]
@ -1502,38 +1587,80 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.42.2" version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"

View File

@ -16,20 +16,21 @@ usbd-hid = "0.6.1"
static_cell = "1.0.0" static_cell = "1.0.0"
embedded-io = { version = "*", features = ["async"] } embedded-io = { version = "*", features = ["async"] }
futures = { version = "0.3", default-features = false } futures = { version = "0.3", default-features = false }
embassy-executor = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "nightly", "integrated-timers" ] } embassy-executor = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "arch-cortex-m", "executor-thread", "nightly", "integrated-timers" ] }
embassy-sync = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "nightly"] } embassy-sync = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "nightly"] }
embassy-time = { git = "https://github.com/embassy-rs/embassy.git", features = ["log"] } embassy-time = { git = "https://github.com/embassy-rs/embassy.git", features = ["log"] }
embassy-futures = { git = "https://github.com/embassy-rs/embassy.git", features = ["log"] } embassy-futures = { git = "https://github.com/embassy-rs/embassy.git", features = ["log"] }
embassy-usb = { git = "https://github.com/embassy-rs/embassy.git", features = ["usbd-hid"] } embassy-usb = { git = "https://github.com/embassy-rs/embassy.git", features = ["usbd-hid"] }
embassy-usb-logger = { git = "https://github.com/embassy-rs/embassy.git", features = [] } embassy-usb-logger = { git = "https://github.com/embassy-rs/embassy.git", features = [] }
embassy-usb-driver = { git = "https://github.com/embassy-rs/embassy.git", features = [] } embassy-usb-driver = { git = "https://github.com/embassy-rs/embassy.git", features = [] }
embassy-rp = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "nightly", "unstable-traits", "unstable-pac", "time-driver", "pio", "critical-section-impl"] } embassy-rp = { git = "https://github.com/embassy-rs/embassy.git", features = ["log", "nightly", "unstable-traits", "unstable-pac", "time-driver", "critical-section-impl"] }
log = "0.4.17" log = "0.4.17"
pio = "0.2.1" pio = "0.2.1"
pio-proc = "0.2.1" pio-proc = "0.2.1"
smart-leds = "0.3.0" smart-leds = "0.3.0"
embedded-alloc = "0.5.0" embedded-alloc = "0.5.0"
postcard = { version = "1.0.4", features = ["alloc"] } postcard = { version = "1.0.4", features = ["alloc"] }
fixed = "1.23.1"
#[patch."https://git.nubo.sh/hulthe/tgnt.git"] #[patch."https://git.nubo.sh/hulthe/tgnt.git"]
#tgnt = { path = "../tgnt" } #tgnt = { path = "../tgnt" }

View File

@ -31,7 +31,7 @@
Layer( Layer(
buttons: [ buttons: [
// Row 1 // Row 1
Key(Apostrophe), Key(Escape),
Key(Slash), Key(Slash),
Key(Equal), Key(Equal),
Key(Accent), Key(Accent),
@ -46,9 +46,9 @@
// Row 3 // Row 3
None, None,
Key(Mute), None,
Key(VolumeDown), None,
Key(VolumeUp), Key(Apostrophe),
None, None,
// Thumbpad // Thumbpad
@ -60,7 +60,7 @@
Layer( Layer(
buttons: [ buttons: [
// Row 1 // Row 1
None, Key(Escape),
Key(Mute), Key(Mute),
Key(VolumeDown), Key(VolumeDown),
Key(VolumeUp), Key(VolumeUp),

View File

@ -31,14 +31,14 @@
Layer( Layer(
buttons: [ buttons: [
// Row 1 // Row 1
None, Key(PrintScreen),
Key(D7), Key(D7),
Key(D8), Key(D8),
Key(D9), Key(D9),
Key(PrintScreen), Key(D0),
// Row 2 // Row 2
Key(D0), None,
ModTap(D4, RCtrl), ModTap(D4, RCtrl),
ModTap(D5, RShift), ModTap(D5, RShift),
ModTap(D6, RAlt), ModTap(D6, RAlt),

View File

@ -31,8 +31,8 @@ async fn main(_spawner: Spawner) {
let _led = Output::new(board.d13, Level::High); let _led = Output::new(board.d13, Level::High);
let _neopixel_power = Output::new(board.neopixel_power, Level::High); let _neopixel_power = Output::new(board.neopixel_power, Level::High);
let mut neopixel = Ws2812::new(board.PIO0, board.DMA_CH0, board.neopixel.degrade()); let mut neopixel = Ws2812::new(board.PIO0, board.DMA_CH0, board.neopixel);
let neopixels_d5 = Ws2812::new(board.PIO1, board.DMA_CH1, board.d5.degrade()); let neopixels_d5 = Ws2812::new(board.PIO1, board.DMA_CH1, board.d5);
neopixel.write(&[Rgb::new(0xFF, 0x00, 0x00)]).await; neopixel.write(&[Rgb::new(0xFF, 0x00, 0x00)]).await;

View File

@ -31,8 +31,8 @@ async fn main(_spawner: Spawner) {
let _led = Output::new(board.d13, Level::High); let _led = Output::new(board.d13, Level::High);
let _neopixel_power = Output::new(board.neopixel_power, Level::High); let _neopixel_power = Output::new(board.neopixel_power, Level::High);
let mut neopixel = Ws2812::new(board.PIO0, board.DMA_CH0, board.neopixel.degrade()); let mut neopixel = Ws2812::new(board.PIO0, board.DMA_CH0, board.neopixel);
let neopixels_d5 = Ws2812::new(board.PIO1, board.DMA_CH1, board.d5.degrade()); let neopixels_d5 = Ws2812::new(board.PIO1, board.DMA_CH1, board.d5);
neopixel.write(&[Rgb::new(0xFF, 0x00, 0x00)]).await; neopixel.write(&[Rgb::new(0xFF, 0x00, 0x00)]).await;

View File

@ -6,7 +6,7 @@ use alloc::{boxed::Box, vec::Vec};
use embassy_executor::Spawner; use embassy_executor::Spawner;
use embassy_rp::{ use embassy_rp::{
gpio::{AnyPin, Input, Pin, Pull}, gpio::{AnyPin, Input, Pin, Pull},
pio::PioInstanceBase, peripherals::PIO1,
}; };
use embassy_sync::pubsub::{ImmediatePublisher, PubSubChannel, Subscriber}; use embassy_sync::pubsub::{ImmediatePublisher, PubSubChannel, Subscriber};
use embassy_time::{Duration, Timer}; use embassy_time::{Duration, Timer};
@ -28,7 +28,7 @@ pub struct KeyboardConfig {
pub pins: [AnyPin; SWITCH_COUNT], pub pins: [AnyPin; SWITCH_COUNT],
/// Array of LED indices of each switch /// Array of LED indices of each switch
pub led_map: [usize; SWITCH_COUNT], pub led_map: [usize; SWITCH_COUNT],
pub led_driver: Ws2812<PioInstanceBase<1>>, pub led_driver: Ws2812<PIO1>,
pub layers: Vec<Layer>, pub layers: Vec<Layer>,
} }
@ -39,7 +39,7 @@ struct State {
layers: &'static [Layer], layers: &'static [Layer],
/// Array of LED indices of each switch /// Array of LED indices of each switch
led_map: [usize; SWITCH_COUNT], led_map: [usize; SWITCH_COUNT],
lights: Lights<PioInstanceBase<1>, SWITCH_COUNT>, lights: Lights<PIO1, SWITCH_COUNT>,
} }
/// A keyboard half. /// A keyboard half.

View File

@ -1,6 +1,11 @@
#![no_std] #![no_std]
#![feature(type_alias_impl_trait)] #![feature(type_alias_impl_trait)]
use embassy_rp::{
bind_interrupts,
peripherals::{UART0, USB},
};
extern crate alloc; extern crate alloc;
pub mod allocator; pub mod allocator;
@ -13,3 +18,10 @@ pub mod uart;
pub mod usb; pub mod usb;
pub mod util; pub mod util;
pub mod ws2812; pub mod ws2812;
bind_interrupts! {
pub struct Irqs {
UART0_IRQ => embassy_rp::uart::BufferedInterruptHandler<UART0>;
USBCTRL_IRQ => embassy_rp::usb::InterruptHandler<USB>;
}
}

View File

@ -1,19 +1,19 @@
use crate::ws2812::Ws2812; use crate::ws2812::Ws2812;
use embassy_rp::pio::PioInstance; use embassy_rp::pio;
use embassy_sync::mutex::Mutex; use embassy_sync::mutex::Mutex;
use crate::{util::CS, ws2812::Rgb}; use crate::{util::CS, ws2812::Rgb};
pub struct Lights<P: PioInstance, const N: usize> { pub struct Lights<P: pio::Instance + 'static, const N: usize> {
state: Mutex<CS, State<P, N>>, state: Mutex<CS, State<P, N>>,
} }
struct State<P: PioInstance, const N: usize> { struct State<P: pio::Instance + 'static, const N: usize> {
colors: [Rgb; N], colors: [Rgb; N],
driver: Ws2812<P>, driver: Ws2812<P>,
} }
impl<P: PioInstance, const N: usize> Lights<P, N> { impl<P: pio::Instance, const N: usize> Lights<P, N> {
pub const fn new(driver: Ws2812<P>) -> Self { pub const fn new(driver: Ws2812<P>) -> Self {
Lights { Lights {
state: Mutex::new(State { state: Mutex::new(State {

View File

@ -1,7 +1,6 @@
use core::mem::{size_of, transmute}; use core::mem::{size_of, transmute};
use embassy_executor::Spawner; use embassy_executor::Spawner;
use embassy_rp::interrupt;
use embassy_rp::peripherals::{PIN_0, PIN_1, UART0}; use embassy_rp::peripherals::{PIN_0, PIN_1, UART0};
use embassy_rp::uart::{self, BufferedUart, DataBits, Parity, StopBits}; use embassy_rp::uart::{self, BufferedUart, DataBits, Parity, StopBits};
use embassy_time::{with_timeout, Duration, TimeoutError}; use embassy_time::{with_timeout, Duration, TimeoutError};
@ -11,6 +10,7 @@ use log::{error, info};
use static_cell::StaticCell; use static_cell::StaticCell;
use crate::keyboard::{self, Half, KbEvents}; use crate::keyboard::{self, Half, KbEvents};
use crate::Irqs;
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
enum Message { enum Message {
@ -29,7 +29,7 @@ pub async fn start(tx: PIN_0, rx: PIN_1, uart: UART0, board: Half, events: KbEve
let uart = embassy_rp::uart::BufferedUart::new( let uart = embassy_rp::uart::BufferedUart::new(
uart, uart,
interrupt::take!(UART0_IRQ), Irqs,
tx, tx,
rx, rx,
TX_BUF.init_with(|| [0u8; 1024]), TX_BUF.init_with(|| [0u8; 1024]),

View File

@ -1,9 +1,9 @@
use embassy_executor::Spawner; use embassy_executor::Spawner;
use embassy_rp::{interrupt, peripherals::USB, usb::Driver}; use embassy_rp::{peripherals::USB, usb::Driver};
use embassy_usb::{Builder, Config, UsbDevice}; use embassy_usb::{Builder, Config, UsbDevice};
use static_cell::StaticCell; use static_cell::StaticCell;
use crate::keyboard::KbEvents; use crate::{keyboard::KbEvents, Irqs};
pub mod keyboard; pub mod keyboard;
pub mod logger; pub mod logger;
@ -59,7 +59,7 @@ pub fn builder(usb: USB) -> Builder<'static, Driver<'static, USB>> {
config.device_protocol = 0x01; config.device_protocol = 0x01;
config.composite_with_iads = true; config.composite_with_iads = true;
let driver = Driver::new(usb, interrupt::take!(USBCTRL_IRQ)); let driver = Driver::new(usb, Irqs);
Builder::new( Builder::new(
driver, driver,

View File

@ -3,16 +3,13 @@ use core::mem::transmute;
use core::ops::Div; use core::ops::Div;
use embassy_rp::dma::{self, AnyChannel}; use embassy_rp::dma::{self, AnyChannel};
use embassy_rp::pio::{ use embassy_rp::pio::{self, FifoJoin, Instance, Pio, PioPin, ShiftConfig, ShiftDirection};
FifoJoin, PioInstance, PioPeripheral, PioStateMachine, PioStateMachineInstance, ShiftDirection,
SmInstanceBase,
};
use embassy_rp::pio_instr_util;
use embassy_rp::relocate::RelocatedProgram; use embassy_rp::relocate::RelocatedProgram;
use embassy_rp::{gpio, PeripheralRef}; use embassy_rp::{Peripheral, PeripheralRef};
use fixed::FixedU32;
pub struct Ws2812<P: PioInstance> { pub struct Ws2812<P: pio::Instance + 'static> {
sm: PioStateMachineInstance<P, SmInstanceBase<0>>, sm: pio::StateMachine<'static, P, 0>,
dma: PeripheralRef<'static, AnyChannel>, dma: PeripheralRef<'static, AnyChannel>,
} }
@ -21,16 +18,17 @@ pub struct Ws2812<P: PioInstance> {
#[derive(Clone, Copy, PartialEq, Eq)] #[derive(Clone, Copy, PartialEq, Eq)]
pub struct Rgb(u32); pub struct Rgb(u32);
impl<P: PioInstance> Ws2812<P> { impl<P: Instance> Ws2812<P> {
pub fn new<PP: PioPeripheral<Pio = P>>( pub fn new(
pio: PP, pio: impl Peripheral<P = P> + 'static,
dma: impl dma::Channel, dma: impl dma::Channel,
pin: gpio::AnyPin, pin: impl PioPin,
) -> Self { ) -> Self {
let (_, mut sm, ..) = pio.split(); let mut pio = Pio::new(pio);
let mut sm = pio.sm0;
// prepare the PIO program // prepare the PIO program
let side_set = pio::SideSet::new(false, 1, false); let side_set = ::pio::SideSet::new(false, 1, false);
let mut a: pio::Assembler<32> = pio::Assembler::new_with_side_set(side_set); let mut a: ::pio::Assembler<32> = ::pio::Assembler::new_with_side_set(side_set);
const T1: u8 = 2; // start bit const T1: u8 = 2; // start bit
const T2: u8 = 5; // data bit const T2: u8 = 5; // data bit
@ -40,14 +38,14 @@ impl<P: PioInstance> Ws2812<P> {
let mut wrap_target = a.label(); let mut wrap_target = a.label();
let mut wrap_source = a.label(); let mut wrap_source = a.label();
let mut do_zero = a.label(); let mut do_zero = a.label();
a.set_with_side_set(pio::SetDestination::PINDIRS, 1, 0); a.set_with_side_set(::pio::SetDestination::PINDIRS, 1, 0);
a.bind(&mut wrap_target); a.bind(&mut wrap_target);
// Do stop bit // Do stop bit
a.out_with_delay_and_side_set(pio::OutDestination::X, 1, T3 - 1, 0); a.out_with_delay_and_side_set(::pio::OutDestination::X, 1, T3 - 1, 0);
// Do start bit // Do start bit
a.jmp_with_delay_and_side_set(pio::JmpCondition::XIsZero, &mut do_zero, T1 - 1, 1); a.jmp_with_delay_and_side_set(::pio::JmpCondition::XIsZero, &mut do_zero, T1 - 1, 1);
// Do data bit = 1 // Do data bit = 1
a.jmp_with_delay_and_side_set(pio::JmpCondition::Always, &mut wrap_target, T2 - 1, 1); a.jmp_with_delay_and_side_set(::pio::JmpCondition::Always, &mut wrap_target, T2 - 1, 1);
a.bind(&mut do_zero); a.bind(&mut do_zero);
// Do data bit = 0 // Do data bit = 0
a.nop_with_delay_and_side_set(T2 - 1, 0); a.nop_with_delay_and_side_set(T2 - 1, 0);
@ -55,15 +53,8 @@ impl<P: PioInstance> Ws2812<P> {
let prg = a.assemble_with_wrap(wrap_source, wrap_target); let prg = a.assemble_with_wrap(wrap_source, wrap_target);
let relocated = RelocatedProgram::new(&prg); let relocated_prg = RelocatedProgram::new(&prg);
sm.write_instr(relocated.origin() as usize, relocated.code()); let loaded_prg = pio.common.load_program(&relocated_prg);
pio_instr_util::exec_jmp(&mut sm, relocated.origin());
// Pin config
let out_pin = sm.make_pio_pin(pin);
sm.set_set_pins(&[&out_pin]);
sm.set_sideset_base_pin(&out_pin);
sm.set_sideset_count(1);
// Clock config // Clock config
// TODO CLOCK_FREQ should come from embassy_rp // TODO CLOCK_FREQ should come from embassy_rp
@ -79,16 +70,19 @@ impl<P: PioInstance> Ws2812<P> {
int = 0; int = 0;
} }
sm.set_clkdiv((int << 8) | frac); let mut config = pio::Config::default();
let pio::Wrap { source, target } = relocated.wrap(); config.clock_divider = FixedU32::from_bits((int << 8) | frac);
sm.set_wrap(source, target); config.fifo_join = FifoJoin::TxOnly;
config.shift_out = ShiftConfig {
// FIFO config threshold: 24,
sm.set_autopull(true); direction: ShiftDirection::Left,
sm.set_fifo_join(FifoJoin::TxOnly); auto_fill: true,
sm.set_pull_threshold(24); };
sm.set_out_shift_dir(ShiftDirection::Left); let out_pin = pio.common.make_pio_pin(pin);
config.set_set_pins(&[&out_pin]);
config.use_program(&loaded_prg, &[&out_pin]);
sm.set_config(&config);
sm.set_enable(true); sm.set_enable(true);
Self { Self {
@ -99,7 +93,7 @@ impl<P: PioInstance> Ws2812<P> {
pub async fn write(&mut self, colors: &[Rgb]) { pub async fn write(&mut self, colors: &[Rgb]) {
let colors = Rgb::slice_as_u32s(colors); let colors = Rgb::slice_as_u32s(colors);
self.sm.dma_push(self.dma.reborrow(), colors).await; self.sm.tx().dma_push(self.dma.reborrow(), colors).await;
} }
} }