From fb4c01e84c095f7c4ee2283c71f834e26d26f6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Fita?= <4925040+michalfita@users.noreply.github.com> Date: Sat, 23 Dec 2023 15:13:18 +0000 Subject: [PATCH] [Fixes #72] Scope creep: fix bumped-up USB support (HAL & example) --- boards/atsamv71_xult/Cargo.lock | 660 ++++++++++++++++-- .../atsamv71_xult/examples/usb_serial_echo.rs | 9 +- hal/Cargo.toml | 2 +- hal/src/usb.rs | 4 +- 4 files changed, 629 insertions(+), 46 deletions(-) diff --git a/boards/atsamv71_xult/Cargo.lock b/boards/atsamv71_xult/Cargo.lock index dd389873..c76a6960 100644 --- a/boards/atsamv71_xult/Cargo.lock +++ b/boards/atsamv71_xult/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aho-corasick" -version = "0.7.19" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -87,6 +87,366 @@ dependencies = [ "critical-section 0.2.7", ] +[[package]] +name = "atsame70j19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f59b792fc5029f0646d51945594f68601df1a9756253421422672945a8d9943d" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70j20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad07c279b3928c99186fd0cc1c9e39cbdb33dbddf5b0e26d3d83dd0486a2e66e" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70j21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0a9865d1a0288c9afc1c5b8120397c99b27ee2b197afdd3bd93a75f8aa9a2c" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70n19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5921d155748b89dd1229ad5060bfac5a8edd09e4c6212765f838987877f4a2ee" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70n20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e9515be929a88112811d46e5b4a997397e13fd1bc3af32317a2977f1ec2ddd" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70n21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f359bd6149c3d7f4fb76d89562b30bd588ad335716cb260ff41ed2e3d203c1" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70q19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcbba1aed7a1db050c165a39ebf9e61d7d83cc8f884e3e9527f396920bc24d0" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70q20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "181b3917fdbdc4650f8bff281a4d3f3b639f365549317d7d52f5b1f9675ccd52" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsame70q21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ec88ab8a5e0336ec6d9c45295fa0c843fe609211753c26a0904a5abaa66d406" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70j19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08bd21f78548bce21f946df44dfa5092649394207168eae1322d8564cb47211b" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70j20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a842e106ba4e543cc6befb1f2a5ab43be788679ae549111405715fcf86a86f8" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70j21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b34fc1317a00bf230b98b3431032723d442a402d0a396f271bb7edd498524383" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70n19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a0ba05baf0a7199fd71fb292f6998a720a69c2a732d50b741d4612ae8bff261" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70n20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96ea1fcf1acc169085b045e642118fd41c4256a9108f0b21209d0ef8c9261c" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70n21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f657ff8db7ceaed8fc68407b0f9a18b547569297cb59bb255048eb766fc70107" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70q19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5327d54bf890efb9a1ba49a6ec959ca04f9f62e071e56e92181f0cac4a6420b7" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70q20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a36082caa069b65f2dc07110c4a0f643f57dcb3849769ebf12c806780d9e33" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsams70q21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4d1ddafb14bdc446ec2abc0a525caa24f344dfa3ee735096de14beae2da0f16" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70j19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37e7a56cfe0ad63e1aa21f7d55470ffb89f7b050027d561c8e6cf40aa3ff84b4" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70j20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bdc44e938d3f0897230667e2154aa053d2aefb8ceecb1188a5defc57e3c080" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70n19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9a2c575f8a47d091682ad503b86fa3ba44d59b4a9d4afce258b28e35942c1f" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70n20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c967624fd921a2144cb04043b873fb4cabbd9fce5c79ca8cf757d2d7930a01fd" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70q19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d665f962c2e8b29cc874f4a97f9f9dd6e7512b6a623b8cbfcd4c286c1cd7cb" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv70q20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef1adc1925558fdd6d9a4f678f9165ea4b962abc928648e51ec189c457bf4a0" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + [[package]] name = "atsamv71_xult" version = "0.4.3-alpha1" @@ -103,11 +463,131 @@ dependencies = [ "usbd-serial", ] +[[package]] +name = "atsamv71j19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5afdafae5e1d5ad66e50a70ee346058e3ba7cfb72d8eb6f6729dbd7f816694" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71j20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4588b8c979c378b4d0f1eb3d37729a6cee4979652136d49cf4db92ebb60ed591" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71j21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc4038a6114b0bb6dd41b9d1feec63dd1e55455019e336f3dc624805251f414c" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71n19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b7efb2028637208bea0d98152c83215e2f8fe8ae0b1af69bbd5c92f5b3b3911" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71n20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb4c881959cce3d8050139ad960ae91431fb9596a79a4a28fe7c3830371c745" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71n21b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea446ec36857849f81367a01eb362f4cfc6dad8973445029dbaf99bad65bcbe" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71q19b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84deff4deb0b32697422b65d581b0a388ef212c11607c169e1cf04a5ecb3fce" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + +[[package]] +name = "atsamv71q20b" +version = "0.29.0-alpha3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6351ec583cc689b79e27e2cedad9bbe0a308d4064b57cae2ab5176aa9a8f4469" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "derive_more", + "form", + "regex", + "svd2rust", + "vcell", +] + [[package]] name = "atsamv71q21b" -version = "0.29.0-alpha1" +version = "0.29.0-alpha3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9ae83afc6e088da6a77c63871ab75467bdd242816f2b3262e47f51061622dd" +checksum = "de4dff2ff428ab3913ce5a2f54cbc2357600957f0b11f857d240b61d66f41aff" dependencies = [ "cortex-m", "cortex-m-rt", @@ -120,8 +600,40 @@ dependencies = [ [[package]] name = "atsamx7x-hal" -version = "0.4.3-alpha1" -dependencies = [ +version = "0.4.3-alpha3" +dependencies = [ + "atsame70j19b", + "atsame70j20b", + "atsame70j21b", + "atsame70n19b", + "atsame70n20b", + "atsame70n21b", + "atsame70q19b", + "atsame70q20b", + "atsame70q21b", + "atsams70j19b", + "atsams70j20b", + "atsams70j21b", + "atsams70n19b", + "atsams70n20b", + "atsams70n21b", + "atsams70q19b", + "atsams70q20b", + "atsams70q21b", + "atsamv70j19b", + "atsamv70j20b", + "atsamv70n19b", + "atsamv70n20b", + "atsamv70q19b", + "atsamv70q20b", + "atsamv71j19b", + "atsamv71j20b", + "atsamv71j21b", + "atsamv71n19b", + "atsamv71n20b", + "atsamv71n21b", + "atsamv71q19b", + "atsamv71q20b", "atsamv71q21b", "bit-iter", "cfg-if", @@ -306,7 +818,7 @@ checksum = "f0f6f3e36f203cfedbc78b357fb28730aa2c6dc1ab060ee5c2405e843988d3c7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -334,7 +846,7 @@ dependencies = [ "proc-macro2", "quote", "rtic-syntax", - "syn", + "syn 1.0.103", ] [[package]] @@ -376,7 +888,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 1.0.103", ] [[package]] @@ -387,7 +899,7 @@ checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -408,7 +920,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -418,7 +930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" dependencies = [ "derive_builder_core", - "syn", + "syn 1.0.103", ] [[package]] @@ -431,7 +943,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn", + "syn 1.0.103", ] [[package]] @@ -526,9 +1038,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb9c0c76c3c54b6044333d77168a230b24bcf9d1a19c773cd95e8a6aa147750" +checksum = "7cf0f791bf56f483754cb7ef69b88d95a0df7b378ab3324b8a08259a6e7da37e" dependencies = [ "anyhow", "env_logger 0.9.3", @@ -536,7 +1048,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -631,6 +1143,15 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +[[package]] +name = "html-escape" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" +dependencies = [ + "utf8-width", +] + [[package]] name = "humantime" version = "2.1.0" @@ -762,9 +1283,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "nb" @@ -781,6 +1302,26 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae" +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.42", +] + [[package]] name = "once_cell" version = "1.18.0" @@ -803,6 +1344,12 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -812,7 +1359,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.103", "version_check", ] @@ -829,27 +1376,39 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] [[package]] name = "regex" -version = "1.7.0" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -858,9 +1417,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "riscv" @@ -913,7 +1472,7 @@ dependencies = [ "indexmap 1.9.1", "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -1022,7 +1581,7 @@ checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -1098,7 +1657,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 1.0.103", ] [[package]] @@ -1127,13 +1686,14 @@ dependencies = [ [[package]] name = "svd2rust" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "208592cbbe3726e9cafa9a802b9de2a7e959118fdb8b73ef90309f6b4d9cb86f" +checksum = "fa74088ddea858d2715bf812b0a6347a1340a13e1b91803376967a9dc84602f8" dependencies = [ "anyhow", "clap", "env_logger 0.10.0", + "html-escape", "inflections", "irx-config", "log", @@ -1145,7 +1705,7 @@ dependencies = [ "serde_yaml", "svd-parser", "svd-rs", - "syn", + "syn 1.0.103", "thiserror", ] @@ -1160,6 +1720,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "termcolor" version = "1.2.0" @@ -1186,7 +1757,7 @@ checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.103", ] [[package]] @@ -1255,21 +1826,32 @@ checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" [[package]] name = "usb-device" -version = "0.2.9" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6cc3adc849b5292b4075fc0d5fdcf2f24866e88e336dd27a8943090a520508" +checksum = "e73e438f527e567fb3982f2370967821fab4f5aea84c42e218a211dd2002b6a2" +dependencies = [ + "heapless", + "num_enum", + "portable-atomic", +] [[package]] name = "usbd-serial" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db75519b86287f12dcf0d171c7cf4ecc839149fe9f3b720ac4cfce52959e1dfe" +checksum = "c73af5da56a26abc61a77a93afe3993e1dd643c73e61b09669bda81068cbb1bf" dependencies = [ "embedded-hal", - "nb 0.1.3", + "nb 1.0.0", "usb-device", ] +[[package]] +name = "utf8-width" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" + [[package]] name = "utf8parse" version = "0.2.1" diff --git a/boards/atsamv71_xult/examples/usb_serial_echo.rs b/boards/atsamv71_xult/examples/usb_serial_echo.rs index e926d160..55434219 100644 --- a/boards/atsamv71_xult/examples/usb_serial_echo.rs +++ b/boards/atsamv71_xult/examples/usb_serial_echo.rs @@ -55,11 +55,12 @@ mod app { ctx.local.usb_alloc.as_ref().unwrap(), UsbVidPid(0xdead, 0xbeef), ) - .manufacturer("ATSAMx7x HAL Contributors") - .product("Serial port echo") - .serial_number("N/A") + .strings(&[StringDescriptors::new(LangID::EN) + .manufacturer("ATSAMx7x HAL Contributors") + .product("Serial port echo") + .serial_number("N/A")]).unwrap() .device_class(USB_CLASS_CDC) - .max_packet_size_0(64) // makes control transfers 8x faster + .max_packet_size_0(64).unwrap() // makes control transfers 8x faster .build(); rprintln!(" done"); diff --git a/hal/Cargo.toml b/hal/Cargo.toml index b04814ce..67771cd2 100644 --- a/hal/Cargo.toml +++ b/hal/Cargo.toml @@ -33,7 +33,7 @@ embedded-hal = { version = "0.2.7" } nb = "1" fugit = "0.3.6" paste = "1" -usb-device = "0.2.9" +usb-device = "0.3.1" bit-iter = "1" rtic-monotonic = "1" void = { version = "1", default-features = false } diff --git a/hal/src/usb.rs b/hal/src/usb.rs index 09223813..fa2f6efc 100644 --- a/hal/src/usb.rs +++ b/hal/src/usb.rs @@ -85,7 +85,7 @@ struct EPConfig { max_packet_size: u16, } -impl EPConfig { +impl EPConfig { fn new(ep_type: EndpointType, dir: UsbDirection, max_packet_size: u16) -> Self { Self { ep_type, @@ -260,7 +260,7 @@ impl Inner { // single-bank endpoint w.epbk()._1_bank(); - w.eptype().bits(conf.ep_type as u8); + w.eptype().bits(conf.ep_type.to_bm_attributes()); w.alloc().set_bit(); w