From 4a8be7e60f6afee4b118b5a27b49d0369fc57310 Mon Sep 17 00:00:00 2001 From: Sycrosity <72102935+Sycrosity@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:36:33 +0200 Subject: [PATCH 1/4] refactor: rename DisplayError to TeenyDisplayError and adjust related functions. --- src/buttons.rs | 6 +++--- src/display.rs | 12 ++++++------ src/volume.rs | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/buttons.rs b/src/buttons.rs index 1538ed2..2298a4f 100644 --- a/src/buttons.rs +++ b/src/buttons.rs @@ -1,5 +1,5 @@ use crate::{ - display::{BoundingBox, DisplayError}, + display::{BoundingBox, TeenyDisplayError}, prelude::*, }; @@ -67,7 +67,7 @@ pub async fn publish_play_pause(mut pin: AnyInput<'static>) { #[task] pub async fn display_play_pause(mut i2c: SharedI2C) { - async fn display_play_pause_internal(i2c: &mut SharedI2C) -> Result<(), DisplayError> { + async fn display_play_pause_internal(i2c: &mut SharedI2C) -> Result<(), TeenyDisplayError> { const BOUNDING_BOX: BoundingBox = BoundingBox::new(Point::new(111, 0), Point::new(118, 7)); const PLAY_BUTTON: ImageRaw<'static, BinaryColor, BigEndian> = @@ -175,7 +175,7 @@ pub async fn publish_skip() { #[task] pub async fn display_skip(mut i2c: SharedI2C) { - async fn display_skip_internal(i2c: &mut SharedI2C) -> Result<(), DisplayError> { + async fn display_skip_internal(i2c: &mut SharedI2C) -> Result<(), TeenyDisplayError> { const BOUNDING_BOX: BoundingBox = BoundingBox::new(Point::new(120, 0), Point::new(127, 7)); const SKIP_BUTTON: ImageRaw<'static, BinaryColor, BigEndian> = diff --git a/src/display.rs b/src/display.rs index 14f84d6..9e728ea 100644 --- a/src/display.rs +++ b/src/display.rs @@ -15,25 +15,25 @@ const MAX_CHARS: usize = (DisplaySize128x64::WIDTH / 4) as usize; #[derive(Debug, Clone)] #[allow(unused)] -pub enum DisplayError { +pub enum TeenyDisplayError { Display(display_interface::DisplayError), Format(core::fmt::Error), TerminalModeError(ssd1306::mode::TerminalModeError), } -impl From for DisplayError { +impl From for TeenyDisplayError { fn from(value: display_interface::DisplayError) -> Self { Self::Display(value) } } -impl From for DisplayError { +impl From for TeenyDisplayError { fn from(value: core::fmt::Error) -> Self { Self::Format(value) } } -impl From for DisplayError { +impl From for TeenyDisplayError { fn from(value: ssd1306::mode::TerminalModeError) -> Self { Self::TerminalModeError(value) } @@ -99,7 +99,7 @@ impl BoundingBox { #[task] pub async fn screen_counter(mut i2c: SharedI2C) { - async fn screen_counter_internal(i2c: &mut SharedI2C) -> Result<(), DisplayError> { + async fn screen_counter_internal(i2c: &mut SharedI2C) -> Result<(), TeenyDisplayError> { const BOUNDING_BOX: BoundingBox = BoundingBox::new(Point::new(0, 0), Point::new(64, 6)); let mut display = Ssd1306::new( @@ -155,7 +155,7 @@ pub async fn screen_counter(mut i2c: SharedI2C) { #[task] pub async fn display_shapes(mut i2c: SharedI2C) { - async fn display_shapes_internal(i2c: &mut SharedI2C) -> Result<(), DisplayError> { + async fn display_shapes_internal(i2c: &mut SharedI2C) -> Result<(), TeenyDisplayError> { let mut display = Ssd1306::new( I2CDisplayInterface::new(i2c), DisplaySize128x64, diff --git a/src/volume.rs b/src/volume.rs index 8e159a8..12d87ca 100644 --- a/src/volume.rs +++ b/src/volume.rs @@ -5,7 +5,7 @@ use esp_hal::{ }; use crate::{ - display::DisplayError, + display::TeenyDisplayError, potentiometer::{AdcCal, Potentiometer}, prelude::*, }; @@ -56,7 +56,7 @@ pub async fn display_volume(mut i2c: SharedI2C) { } } -async fn display_volume_internal(i2c: &mut SharedI2C) -> Result<(), DisplayError> { +async fn display_volume_internal(i2c: &mut SharedI2C) -> Result<(), TeenyDisplayError> { use embedded_graphics::{pixelcolor::BinaryColor, prelude::*, primitives}; let mut display = Ssd1306::new( From b41a1ea810fc565bb7f4ae06373fd1c48c46cabe Mon Sep 17 00:00:00 2001 From: Sycrosity <72102935+Sycrosity@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:36:49 +0200 Subject: [PATCH 2/4] build: Update dependencies versions in Cargo.toml and Cargo.lock. --- Cargo.lock | 261 ++++++++++++++++++++++++++++---------------------- Cargo.toml | 33 ++----- src/errors.rs | 24 ++++- 3 files changed, 177 insertions(+), 141 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71a95b4..8f8d8fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -200,6 +200,12 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +[[package]] +name = "bytemuck" +version = "1.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" + [[package]] name = "byteorder" version = "1.5.0" @@ -243,9 +249,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -289,9 +295,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -299,27 +305,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -330,7 +336,7 @@ checksum = "4e018fccbeeb50ff26562ece792ed06659b9c2dae79ece77c4456bb10d9bf79b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -385,9 +391,9 @@ dependencies = [ [[package]] name = "document-features" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" dependencies = [ "litrs", ] @@ -419,8 +425,9 @@ dependencies = [ [[package]] name = "embassy-embedded-hal" -version = "0.1.1" -source = "git+https://github.com/Sycrosity/embassy-embedded-hal#4b7207d2ccf87e3b52951c529847af9531152a54" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5794414bc20e0d750f145bc0e82366b19dd078e9e075e8331fb8dd069a1cb6a2" dependencies = [ "embassy-futures", "embassy-sync 0.6.0", @@ -435,9 +442,9 @@ dependencies = [ [[package]] name = "embassy-executor" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec648daedd2143466eff4b3e8002024f9f6c1de4ab7666bb679688752624c925" +checksum = "09ed0e24bdd4a5f4ff1b72ee4f264b1d23e179ea71a77d984b5fd24877a2bbe1" dependencies = [ "critical-section", "document-features", @@ -449,14 +456,14 @@ dependencies = [ [[package]] name = "embassy-executor-macros" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad454accf80050e9cf7a51e994132ba0e56286b31f9317b68703897c328c59b5" +checksum = "d4d4c0c34b32c2c653c9eecce1cefaf8539dd9a54e61deb5499254f01e2fcac2" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -523,9 +530,9 @@ dependencies = [ [[package]] name = "embassy-time" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "274c019608a9004aed3cafc871e2a3c87ce9351d537dcaab4cc5db184d4a04b1" +checksum = "158080d48f824fad101d7b2fae2d83ac39e3f7a6fa01811034f7ab8ffc6e7309" dependencies = [ "cfg-if", "critical-section", @@ -761,23 +768,23 @@ dependencies = [ [[package]] name = "enumset" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -798,13 +805,12 @@ dependencies = [ [[package]] name = "esp-backtrace" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5b1720f2275eb87dbde9607cb2ab6a10894a4502045c0924c0f265aaceb3118" +checksum = "1a34817530dceba397172d6a9fb660b684a73a3a591fbe7fb0da27bed796f270" dependencies = [ "esp-build", "esp-println", - "rustversion", "semihosting", ] @@ -815,19 +821,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b94a4b8d74e7cc7baabcca5b2277b41877e039ad9cd49959d48ef94dac7eab4b" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.74", "termcolor", ] [[package]] name = "esp-hal" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f1bf3b1b34bbeb59e24e630f26e21b95f9c2bb7c0a53361ae5a97c67936566" +checksum = "fe4f8cb6a9dcf0fd4506a856fbb4a0622b92042978c601a23c840c28f621a59f" dependencies = [ "basic-toml", "bitfield", "bitflags 2.6.0", + "bytemuck", "cfg-if", "critical-section", "delegate", @@ -866,9 +873,8 @@ dependencies = [ [[package]] name = "esp-hal-embassy" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a892b9fe96cdfddab252ffa0ea90de66ccb078ff42d037b14ca9dfa3608b688a" +version = "0.2.0" +source = "git+https://github.com/Sycrosity/esp-hal?branch=until-release#2ff760e44ec324029d0e5eb6d58041eacfcce705" dependencies = [ "cfg-if", "critical-section", @@ -877,15 +883,16 @@ dependencies = [ "embassy-time-driver", "esp-build", "esp-hal", + "esp-hal-procmacros", "esp-metadata", "portable-atomic", ] [[package]] name = "esp-hal-procmacros" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788b535b8127a8f0d1f40a8d8e300e57a8c361c492d660dd08fe8e9a1b96ee3c" +checksum = "9569ccb286c5a0c39292dbaaa0995bbb2a2a9d671ef3ce807b8b5b3d9a589d35" dependencies = [ "darling", "document-features", @@ -894,14 +901,14 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] name = "esp-metadata" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "654b8f14bf076fe5995fe94fabbe41a98041e1f2f801e5b3404dcae87e476db6" +checksum = "6013420eb303c3087d82c2d2a38944427662b0b07a9ae79e5b1636fc1442e0ba" dependencies = [ "basic-toml", "lazy_static", @@ -911,19 +918,21 @@ dependencies = [ [[package]] name = "esp-println" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98f0f58453dd2ce08d99228fc8757fad39d05dfd26643665d1093b8844f42cc" +checksum = "58cd4fa834980ba64aad00a5c2c1a630020af984eadef65a125cb99085f6f54c" dependencies = [ "critical-section", + "esp-build", "log", + "portable-atomic", ] [[package]] name = "esp-riscv-rt" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "404129c79e9dc34f8b468ec44e71ce36a0bd443cb88be0feffa4b9f3856c97a6" +checksum = "bfc32298ed7c263b06c8b031704d8517cc62c819f2a9d5c261d0cb119634d6e9" dependencies = [ "document-features", "riscv", @@ -932,9 +941,9 @@ dependencies = [ [[package]] name = "esp-wifi" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48709a955a7730ef27457682d4f3173d956ae7cd4182c46252a61bd2f61ace6c" +checksum = "7ba911553329cdd61a1a503d6f71c85f17127447736c3d2522b7ee87d318affd" dependencies = [ "atomic-waker", "cfg-if", @@ -966,18 +975,18 @@ dependencies = [ [[package]] name = "esp-wifi-sys" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551b510b3944844675fcefa1301b3610fe56faa419bcc05dd0dd0056745c6654" +checksum = "1829bd8c63b22a6d8a5485203a6e6bdc008897d9ee687aa6df8b57d2103a48d2" dependencies = [ "anyhow", ] [[package]] name = "esp32" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da8c87b309b29f0effa613444cf3bd6d54c533627f3e5f8e244994d6726aa78f" +checksum = "cf4f67907f683a5049ad257cb57a757852bce959eed3e0e8f5e8c212de807714" dependencies = [ "critical-section", "vcell", @@ -986,9 +995,9 @@ dependencies = [ [[package]] name = "esp32c3" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f117ffaf6cb5873e8ba4f78b969491fac3db459c08bf464af1e3b3fc5394692d" +checksum = "cf6865f32b4936b2c396fd1bed3e935850b130282fdcb935af79c2da192cb638" dependencies = [ "critical-section", "vcell", @@ -1075,7 +1084,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -1257,9 +1266,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "2.2.6" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", "hashbrown", @@ -1414,7 +1423,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -1493,9 +1502,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "portable_atomic_enum" @@ -1515,14 +1524,17 @@ checksum = "a33fa6ec7f2047f572d49317cca19c87195de99c6e5b6ee492da701cfe02b053" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "primeorder" @@ -1608,9 +1620,9 @@ checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -1637,9 +1649,9 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwless" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ff2a18de08295a6ae5fcdfa2c888e348f526c84c2f011479de4808b14871ea" +checksum = "66584b58c3b0cd8cfea750408a932fe86df79ee05ccc87ee745a8e6be4a1abe0" dependencies = [ "base64 0.21.7", "buffered-io", @@ -1704,35 +1716,35 @@ dependencies = [ [[package]] name = "semihosting" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92bc56e056d8725553408cc2dfdfb96591c49ef2835d2f6060f28396d645d785" +checksum = "79d1bfe77da77f48286b7af6b1d718cde31d6f59a3ccae5b7d8bcf0d02b3c2e1" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "5665e14a49a4ea1b91029ba7d3bca9f299e1f7cfa194388ccc20f14743e784f2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -1854,7 +1866,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.74", ] [[package]] @@ -1876,9 +1888,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ "proc-macro2", "quote", @@ -1929,14 +1941,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.20", ] [[package]] @@ -1949,15 +1961,15 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.74", "toml", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -1975,15 +1987,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] @@ -2016,9 +2028,9 @@ checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -2028,27 +2040,27 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ "windows-sys", ] [[package]] name = "windows-sys" -version = "0.52.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -2062,51 +2074,51 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -2119,9 +2131,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -2159,7 +2171,28 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.74", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.74", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ff58f88..21371be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,25 +6,22 @@ edition = "2021" license = "MIT OR Apache-2.0" [dependencies] -esp-hal = { version = "0.18.0", features = ["async", "embedded-io"] } +esp-hal = { version = "0.19.0", features = ["async", "embedded-io"] } -esp-hal-embassy = { version = "0.1.0", features = [ - "integrated-timers", - "time-timg0", -] } +esp-hal-embassy = { version = "0.2.0", features = ["integrated-timers"] } -esp-backtrace = { version = "0.12.1", features = [ +esp-backtrace = { version = "0.13.0", features = [ "exception-handler", "panic-handler", "println", ] } -esp-println = { version = "0.9.1", features = ["uart"] } +esp-println = { version = "0.10.0" } #allocation support for esp devices esp-alloc = { version = "0.4.0", optional = true } #for wifi connectivity for esp controllers. -esp-wifi = { version = "0.6.0", features = [ +esp-wifi = { version = "0.7.1", features = [ "embassy-net", "async", "wifi-default", @@ -34,18 +31,6 @@ esp-wifi = { version = "0.6.0", features = [ heapless = "0.8.0" -# smoltcp = { version = "0.11.0", default-features = false, features = [ -# "medium-ethernet", -# "proto-dhcpv4", -# "proto-igmp", -# "proto-ipv4", -# "socket-dhcpv4", -# "socket-icmp", -# "socket-raw", -# "socket-tcp", -# "socket-udp", -# ], optional = true } - #the gold standard for logging in rust log = "0.4.20" #implimentation of the c "libm" maths library @@ -70,7 +55,7 @@ reqwless = { version = "0.12.0", optional = true, features = ["alloc"] } # heapless = { version = "0.8.0", default-features = false } -embassy-executor = { version = "0.5.0", features = ["nightly"] } +embassy-executor = { version = "0.6.0", features = ["nightly"] } embassy-time = { version = "0.3.1" } embassy-sync = "0.6.0" embassy-net = { version = "0.4.0", features = [ @@ -80,7 +65,7 @@ embassy-net = { version = "0.4.0", features = [ "medium-ethernet", "dhcpv4", ], optional = true } -embassy-embedded-hal = { version = "0.1.1" } +embassy-embedded-hal = { version = "0.2.0" } #ssd1306 display driver with embeddded graphics support ssd1306 = { version = "0.9.0" } @@ -121,7 +106,7 @@ alloc = ["dep:esp-alloc"] net = ["dep:esp-wifi", "dep:embassy-net", "dep:embedded-svc", "dep:reqwless"] -verbose-wifi = ["esp-wifi/wifi-logs", "esp-wifi/dump-packets"] +verbose-wifi = ["esp-wifi/wifi-logs"] release = ["log/release_max_level_off"] @@ -155,5 +140,5 @@ esp32c3 = [ [patch.crates-io] ssd1306 = { version = "0.9.0", git = "https://github.com/embedevices-rs/ssd1306", branch = "async" } -embassy-embedded-hal = { version = "0.1.1", git = "https://github.com/Sycrosity/embassy-embedded-hal" } +esp-hal-embassy = { version = "0.2.0", git = "https://github.com/Sycrosity/esp-hal", package = "esp-hal-embassy", branch = "until-release"} # reqwless = { version = "0.12.0", path = "/Users/louis/dev/embedded/reqwless" } diff --git a/src/errors.rs b/src/errors.rs index 7d7c0e1..c0fac13 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -1,8 +1,26 @@ -#[derive(Clone, Copy, Debug)] +use core::fmt::Display; + +use crate::display::TeenyDisplayError; + +#[derive(Clone, Debug)] #[repr(u8)] -pub enum SpotifyMiniError { +pub enum TeenyError { I2C, Unknown, - IntegerOverflow, InterfaceError, + DisplayError(TeenyDisplayError), } + +impl Display for TeenyError { + fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { + match &self { + Self::I2C => write!(f, "I2C error"), + Self::Unknown => write!(f, "Unknown error"), + Self::InterfaceError => write!(f, "Interface error"), + Self::DisplayError(e) => write!(f, "Display error: {:?}", e), + } + } +} + + +impl core::error::Error for TeenyError {} From 60c7985d10c1fcd2636a97631b224100252a365e Mon Sep 17 00:00:00 2001 From: Sycrosity <72102935+Sycrosity@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:47:22 +0200 Subject: [PATCH 3/4] fmt: cargo fmt & taplo fmt . --- .github/workflows/ci.yml | 6 +++++- Cargo.toml | 2 +- src/errors.rs | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d672c61..e32a518 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ env: jobs: fmt: - name: Cargo fmt check + name: Cargo fmt/taplo check runs-on: ubuntu-latest strategy: fail-fast: false @@ -29,6 +29,10 @@ jobs: uses: Swatinem/rust-cache@v2 - name: Install Just uses: taiki-e/install-action@just + - uses: uncenter/setup-taplo@v1 + with: + version: "0.8.1" + - run: taplo fmt foo.toml --check - name: Run command run: just _ci_fmt diff --git a/Cargo.toml b/Cargo.toml index 21371be..49801fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -140,5 +140,5 @@ esp32c3 = [ [patch.crates-io] ssd1306 = { version = "0.9.0", git = "https://github.com/embedevices-rs/ssd1306", branch = "async" } -esp-hal-embassy = { version = "0.2.0", git = "https://github.com/Sycrosity/esp-hal", package = "esp-hal-embassy", branch = "until-release"} +esp-hal-embassy = { version = "0.2.0", git = "https://github.com/Sycrosity/esp-hal", package = "esp-hal-embassy", branch = "until-release" } # reqwless = { version = "0.12.0", path = "/Users/louis/dev/embedded/reqwless" } diff --git a/src/errors.rs b/src/errors.rs index c0fac13..68f80c0 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -22,5 +22,4 @@ impl Display for TeenyError { } } - impl core::error::Error for TeenyError {} From e41aa2a8e1d06ec43b65e2726e79afbb7a72a712 Mon Sep 17 00:00:00 2001 From: Sycrosity <72102935+Sycrosity@users.noreply.github.com> Date: Tue, 13 Aug 2024 22:07:42 +0200 Subject: [PATCH 4/4] new justfile thing --- justfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/justfile b/justfile index dfe1621..0ef491e 100644 --- a/justfile +++ b/justfile @@ -12,15 +12,15 @@ alias c := clippy [group('cargo')] build board="esp32c3": - cargo +esp build --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{board}} --release + cargo +esp build --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{board}} [group('cargo')] run board="esp32c3": - cargo +esp run --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} --release + cargo +esp run --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} [group('cargo')] clippy board="esp32c3": - cargo +esp clippy --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} --release + cargo +esp clippy --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} [group('release')] release board="esp32c3": @@ -51,6 +51,8 @@ _ci_build board: (build board) [group('ci')] _ci_clippy board: - cargo +esp clippy --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} --workspace --release -- -D warnings + cargo +esp clippy --target {{ if board == "esp32" { "xtensa-esp32-none-elf" } else { "riscv32imc-unknown-none-elf" } }} --features {{ board }} --workspace -- -D warnings _prepare board: (_ci_clippy board) (_ci_build board) + +_prepare_all: (_prepare "esp32c3") (_prepare "esp32")