eculocate

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 097f5a9d1ae1a07d76f42583020764e819eebcc2
parent c79b53eb5b9ae784dc363f79a1e356ebf9c1e3bf
Author: filipton <filipton12@gmail.com>
Date:   Fri, 19 Jul 2024 13:06:07 +0200

chore: update dependencies (esp-hal)

Diffstat:
Mexamples/Cargo.lock | 114++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mexamples/Cargo.toml | 12++++++------
Mexamples/build.rs | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Mexamples/src/main.rs | 23+++++++++++++++++------
4 files changed, 137 insertions(+), 65 deletions(-)

diff --git a/examples/Cargo.lock b/examples/Cargo.lock @@ -114,6 +114,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] +name = "bytemuck" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" + +[[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -155,9 +161,9 @@ checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" [[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", @@ -165,27 +171,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.71", ] [[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.71", ] [[package]] @@ -196,14 +202,14 @@ checksum = "4e018fccbeeb50ff26562ece792ed06659b9c2dae79ece77c4456bb10d9bf79b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[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", ] @@ -237,7 +243,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -475,7 +481,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -486,13 +492,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[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", ] @@ -503,19 +508,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b94a4b8d74e7cc7baabcca5b2277b41877e039ad9cd49959d48ef94dac7eab4b" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.71", "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", @@ -555,9 +561,9 @@ dependencies = [ [[package]] name = "esp-hal-embassy" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a892b9fe96cdfddab252ffa0ea90de66ccb078ff42d037b14ca9dfa3608b688a" +checksum = "5206e4c63993df6da47fd30432ccc22111bd084ebfd0372afd45202b491e717e" dependencies = [ "cfg-if", "critical-section", @@ -580,9 +586,9 @@ dependencies = [ [[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", @@ -592,14 +598,14 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[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", @@ -609,19 +615,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", @@ -640,9 +648,9 @@ dependencies = [ [[package]] name = "esp-synopsys-usb-otg" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea082d4a065ea923e074cbfda48e5fdf90aa13bdeba948be5a066cb029a9512" +checksum = "8938451cb19032f13365328ea66ab38c8d16deecdf322067442297110eb74468" dependencies = [ "critical-section", "embedded-hal 0.2.7", @@ -653,9 +661,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", @@ -687,18 +695,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 = "esp32s3" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ac7bb447c239be8a6a9eba9aaf4099c3aab4b7aefca5871be8bf7d8c8893cf" +checksum = "7989c8d8e81a0b1037926ccaec6b2ff8bed36b758e6beb9145111ba33892fe6f" dependencies = [ "critical-section", "vcell", @@ -777,7 +785,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1002,7 +1010,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1067,7 +1075,7 @@ checksum = "a33fa6ec7f2047f572d49317cca19c87195de99c6e5b6ee492da701cfe02b053" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1232,28 +1240,28 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semihosting" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92bc56e056d8725553408cc2dfdfb96591c49ef2835d2f6060f28396d645d785" +checksum = "999408e6628a9b637a47b6550310452084e88c29e1c3a09b65c50256ca6aaad6" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1352,7 +1360,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1368,9 +1376,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -1408,7 +1416,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.71", "toml", ] @@ -1628,5 +1636,5 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] diff --git a/examples/Cargo.toml b/examples/Cargo.toml @@ -6,19 +6,19 @@ edition = "2021" license = "MIT OR Apache-2.0" [dependencies] -esp-backtrace = { version = "0.12.1", features = [ "esp32s3", "exception-handler", "panic-handler", "println" ] } -esp-hal = { version = "0.18.0", features = [ "esp32s3", "embedded-hal", "embedded-hal-02", "async" ] } -esp-println = { version = "0.9.1", features = ["esp32s3", "log"] } +esp-backtrace = { version = "0.13.0", features = [ "esp32s3", "exception-handler", "panic-handler", "println" ] } +esp-hal = { version = "0.19.0", features = [ "esp32s3", "embedded-hal", "embedded-hal-02", "async" ] } +esp-println = { version = "0.10.0", features = ["esp32s3", "log"] } log = { version = "0.4.22" } -esp-wifi = { version = "0.6.0", features = [ "esp32s3", "phy-enable-usb", "utils", "wifi", "dhcpv4", "ble", "embassy-net" ] } -esp-hal-embassy = { version = "0.1.0", features = ["time-timg0", "integrated-timers", "esp32s3"] } +esp-wifi = { version = "0.7.1", features = [ "esp32s3", "phy-enable-usb", "utils", "wifi", "dhcpv4", "ble", "embassy-net" ] } +esp-hal-embassy = { version = "0.2.0", features = ["integrated-timers", "esp32s3"] } embassy-executor = { version = "0.5.0", package = "embassy-executor", features = ["arch-riscv32", "task-arena-size-10240"] } embassy-net = { version = "0.4.0", features = ["tcp", "udp", "dhcpv4", "medium-ethernet"] } embassy-time = { version = "0.3.1" } esp-storage = { version = "0.3.0", features = ["esp32s3"] } esp-hal-ota = { path = "../" } static_cell = { version = "2.1.0", features = ["nightly"] } -#heapless = { version = "0.8.0", default-features = false } + [build-dependencies] dotenvy = "0.15.7" diff --git a/examples/build.rs b/examples/build.rs @@ -1,4 +1,30 @@ fn main() { + let path_env = std::env::var("PATH").expect("NO PATH ENV FOUND!"); + let rustup_home_env = std::env::var("RUSTUP_HOME").expect("NO RUSTUP_HOME ENV FOUND!"); + let esp_toolchains_path = std::path::PathBuf::from(rustup_home_env) + .join("toolchains") + .join("esp"); + + if !esp_toolchains_path.exists() { + panic!( + ".rustup/toolchains/esp path not found! Are you sure you've installed esp toolchains?" + ); + } + + let clang_path = get_newest(&esp_toolchains_path.join("xtensa-esp32-elf-clang")).expect("xtensa-esp32-elf-clang not found in esp toolchains! Are you sure you've installed esp toolchains?"); + let elf_path = get_newest(&esp_toolchains_path.join("xtensa-esp-elf")).expect( + "xtensa-esp-elf not found in esp toolchains! Are you sure you've installed esp toolchains?", + ); + + println!( + "cargo:rustc-env=LIBCLANG_PATH={}/esp-clang/lib", + clang_path.display() + ); + println!( + "cargo:rustc-env=PATH={}/xtensa-esp-elf/bin:{path_env}", + elf_path.display() + ); + println!("cargo:rerun-if-changed=*.env*"); if let Ok(mut iter) = dotenvy::dotenv_iter() { while let Some(Ok((key, value))) = iter.next() { @@ -9,3 +35,30 @@ fn main() { println!("cargo:rustc-link-arg-bins=-Tlinkall.x"); println!("cargo:rustc-link-arg-bins=-Trom_functions.x"); } + +fn get_newest(path: &std::path::PathBuf) -> Option<std::path::PathBuf> { + if !path.exists() { + return None; + } + + let mut tmp_path = (None, None); + for entry in path.read_dir().unwrap() { + if let Ok(entry) = entry { + let metadata = entry.metadata().expect("Cant get dir metadata!"); + let modified = metadata.modified().expect("Cant get dir modified time!"); + + match tmp_path.0 { + Some(old) => { + if modified > old { + tmp_path = (Some(modified), Some(entry.path())); + } + } + None => { + tmp_path = (Some(modified), Some(entry.path())); + } + } + } + } + + tmp_path.1 +} diff --git a/examples/src/main.rs b/examples/src/main.rs @@ -8,8 +8,11 @@ use embassy_net::{tcp::TcpSocket, Config, Stack, StackResources}; use embassy_time::{Duration, Timer}; use esp_backtrace as _; use esp_hal::{ - clock::ClockControl, peripherals::Peripherals, prelude::*, system::SystemControl, - timer::timg::TimerGroup, + clock::ClockControl, + peripherals::Peripherals, + prelude::*, + system::SystemControl, + timer::{timg::TimerGroup, ErasedTimer, OneShotTimer, PeriodicTimer}, }; use esp_hal_ota::Ota; use esp_storage::FlashStorage; @@ -39,19 +42,27 @@ async fn main(spawner: Spawner) { esp_println::logger::init_logger_from_env(); log::set_max_level(log::LevelFilter::Info); + let timer = PeriodicTimer::new( + esp_hal::timer::timg::TimerGroup::new(peripherals.TIMG1, &clocks, None) + .timer0 + .into(), + ); + let rng = esp_hal::rng::Rng::new(peripherals.RNG); - let timer = esp_hal::timer::timg::TimerGroup::new(peripherals.TIMG1, &clocks, None); let init = esp_wifi::initialize( esp_wifi::EspWifiInitFor::Wifi, - timer.timer0, + timer, rng.clone(), peripherals.RADIO_CLK, &clocks, ) .unwrap(); - let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks); - esp_hal_embassy::init(&clocks, timg0); + let timg1 = TimerGroup::new(peripherals.TIMG0, &clocks, None); + let timer0 = OneShotTimer::new(timg1.timer0.into()); + let timers = [timer0]; + let timers: &mut [OneShotTimer<ErasedTimer>; 1] = make_static!(timers); + esp_hal_embassy::init(&clocks, timers); let wifi = peripherals.WIFI; let (wifi_interface, controller) =