Merge #616
616: stm32: add rust stable support r=Dirbaio a=Dirbaio Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
This commit is contained in:
		
							
								
								
									
										33
									
								
								ci.sh
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								ci.sh
									
									
									
									
									
								
							| @@ -42,32 +42,13 @@ cargo batch  \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nightly,nrf52840,gpiote,time-driver-rtc1 \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nightly,nrf52840,log,gpiote,time-driver-rtc1 \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nightly,nrf52840,defmt,gpiote,time-driver-rtc1,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f410tb,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f410tb,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f410tb,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f411ce,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32f429zi,log,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32h755zi-cm7,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features nightly,stm32l476vg,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features nightly,stm32l072cz,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features nightly,stm32l151cb-a,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path docs/modules/ROOT/examples/basic/Cargo.toml --target thumbv7em-none-eabi \ | ||||
|     --- build --release --manifest-path examples/std/Cargo.toml --target x86_64-unknown-linux-gnu --out-dir out/examples/std \ | ||||
|     --- build --release --manifest-path examples/nrf/Cargo.toml --target thumbv7em-none-eabi --out-dir out/examples/nrf \ | ||||
|   | ||||
							
								
								
									
										32
									
								
								ci_stable.sh
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								ci_stable.sh
									
									
									
									
									
								
							| @@ -27,4 +27,36 @@ cargo batch  \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,gpiote,time-driver-rtc1 \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,log,gpiote,time-driver-rtc1 \ | ||||
|     --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,defmt,gpiote,time-driver-rtc1,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32g473cc,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32g491re,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32u585zi,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32wb55vy,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32wl55uc-cm4,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l4r9zi,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f303vc,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f411ce,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f410tb,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f410tb,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32f429zi,log,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32h755zi-cm7,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7em-none-eabi --features stm32l476vg,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv6m-none-eabi --features stm32l072cz,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,exti,time-driver-any \ | ||||
|     --- build --release --manifest-path embassy-stm32/Cargo.toml --target thumbv7m-none-eabi --features stm32l151cb-a,defmt,exti,time-driver-any,unstable-traits \ | ||||
|     --- build --release --manifest-path examples/nrf/Cargo.toml --target thumbv7em-none-eabi --no-default-features --out-dir out/examples/nrf --bin raw_spawn \ | ||||
|     --- build --release --manifest-path examples/stm32l0/Cargo.toml --target thumbv6m-none-eabi --no-default-features --out-dir out/examples/stm32l0 --bin raw_spawn \ | ||||
|   | ||||
| @@ -6,7 +6,7 @@ edition = "2018" | ||||
| resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../embassy", features = ["nightly"]} | ||||
| embassy = { version = "0.1.0", path = "../embassy" } | ||||
| embassy-macros = { version = "0.1.0", path = "../embassy-macros", features = ["stm32"] } | ||||
| embassy-hal-common = {version = "0.1.0", path = "../embassy-hal-common" } | ||||
| embassy-net = { version = "0.1.0", path = "../embassy-net", default-features = false, optional = true } | ||||
| @@ -57,14 +57,18 @@ time-driver-tim3 = ["_time-driver"] | ||||
| time-driver-tim4 = ["_time-driver"] | ||||
| time-driver-tim5 = ["_time-driver"] | ||||
|  | ||||
| # Enable nightly-only features | ||||
| nightly = ["embassy/nightly", "embedded-hal-1", "embedded-hal-async"] | ||||
|  | ||||
| # Reexport stm32-metapac at `embassy_stm32::pac`. | ||||
| # This is unstable because semver-minor (non-breaking) releases of embassy-stm32 may major-bump (breaking) the stm32-metapac version. | ||||
| # If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC. | ||||
| # There are no plans to make this stable. | ||||
| unstable-pac = [] | ||||
|  | ||||
| # Implement embedded-hal 1.0 alpha and embedded-hal-async traits. | ||||
| unstable-traits = ["embedded-hal-1", "embedded-hal-async"] | ||||
| # Implement embedded-hal 1.0 alpha traits. | ||||
| # Implement embedded-hal-async traits if `nightly` is set as well. | ||||
| unstable-traits = ["embedded-hal-1"] | ||||
|  | ||||
| # BEGIN GENERATED FEATURES | ||||
| # Generated by stm32-gen-features. DO NOT EDIT. | ||||
|   | ||||
| @@ -150,7 +150,6 @@ mod eh02 { | ||||
| mod eh1 { | ||||
|     use super::*; | ||||
|     use core::convert::Infallible; | ||||
|     use futures::FutureExt; | ||||
|  | ||||
|     impl<'d, T: GpioPin> embedded_hal_1::digital::ErrorType for ExtiInput<'d, T> { | ||||
|         type Error = Infallible; | ||||
| @@ -165,6 +164,11 @@ mod eh1 { | ||||
|             Ok(self.is_low()) | ||||
|         } | ||||
|     } | ||||
| } | ||||
| #[cfg(all(feature = "unstable-traits", feature = "nightly"))] | ||||
| mod eh1a { | ||||
|     use super::*; | ||||
|     use futures::FutureExt; | ||||
|  | ||||
|     impl<'d, T: GpioPin> embedded_hal_async::digital::Wait for ExtiInput<'d, T> { | ||||
|         type WaitForHighFuture<'a> | ||||
|   | ||||
| @@ -912,7 +912,6 @@ impl Timings { | ||||
| mod eh1 { | ||||
|     use super::super::{RxDma, TxDma}; | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl embedded_hal_1::i2c::Error for Error { | ||||
|         fn kind(&self) -> embedded_hal_1::i2c::ErrorKind { | ||||
| @@ -935,6 +934,13 @@ mod eh1 { | ||||
|     { | ||||
|         type Error = Error; | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(all(feature = "unstable-traits", feature = "nightly"))] | ||||
| mod eh1a { | ||||
|     use super::super::{RxDma, TxDma}; | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl<'d, T: Instance, TXDMA: TxDma<T>, RXDMA: RxDma<T>> embedded_hal_async::i2c::I2c | ||||
|         for I2c<'d, T, TXDMA, RXDMA> | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
| #![no_std] | ||||
| #![feature(generic_associated_types)] | ||||
| #![feature(type_alias_impl_trait)] | ||||
| #![cfg_attr( | ||||
|     feature = "nightly", | ||||
|     feature(generic_associated_types, type_alias_impl_trait) | ||||
| )] | ||||
|  | ||||
| #[cfg(feature = "unstable-pac")] | ||||
| pub use stm32_metapac as pac; | ||||
|   | ||||
| @@ -664,7 +664,6 @@ mod eh02 { | ||||
| #[cfg(feature = "unstable-traits")] | ||||
| mod eh1 { | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl<'d, T: Instance, Tx, Rx> embedded_hal_1::spi::ErrorType for Spi<'d, T, Tx, Rx> { | ||||
|         type Error = Error; | ||||
| @@ -680,6 +679,12 @@ mod eh1 { | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(all(feature = "unstable-traits", feature = "nightly"))] | ||||
| mod eh1a { | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl<'d, T: Instance, Tx: TxDma<T>, Rx> embedded_hal_async::spi::Write<u8> for Spi<'d, T, Tx, Rx> { | ||||
|         type WriteFuture<'a> | ||||
|   | ||||
| @@ -256,7 +256,6 @@ mod eh02 { | ||||
| #[cfg(feature = "unstable-traits")] | ||||
| mod eh1 { | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl embedded_hal_1::serial::Error for Error { | ||||
|         fn kind(&self) -> embedded_hal_1::serial::ErrorKind { | ||||
| @@ -274,6 +273,12 @@ mod eh1 { | ||||
|     { | ||||
|         type Error = Error; | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(all(feature = "unstable-traits", feature = "nightly"))] | ||||
| mod eh1a { | ||||
|     use super::*; | ||||
|     use core::future::Future; | ||||
|  | ||||
|     impl<'d, T: Instance, TxDma, RxDma> embedded_hal_async::serial::Write for Uart<'d, T, TxDma, RxDma> | ||||
|     where | ||||
|   | ||||
| @@ -14,5 +14,5 @@ defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
| panic-probe = "0.3" | ||||
| embassy = { path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { path = "../../embassy-stm32", features = ["defmt", "memory-x", "stm32f030f4", "time-driver-any"] } | ||||
| embassy-stm32 = { path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f030f4", "time-driver-any"] } | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f303vc", "unstable-pac", "memory-x", "time-driver-any", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f303vc", "unstable-pac", "memory-x", "time-driver-any", "exti"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -8,7 +8,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "unstable-traits"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "usb-otg"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "usb-otg"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "net", "stm32f767zi", "unstable-pac", "time-driver-any", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "net", "stm32f767zi", "unstable-pac", "time-driver-any", "exti"]  } | ||||
| embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } | ||||
|  | ||||
| defmt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "time-driver-any", "stm32g071rb", "memory-x", "unstable-pac", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g071rb", "memory-x", "unstable-pac", "exti"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"]  } | ||||
| embassy-hal-common = {version = "0.1.0", path = "../../embassy-hal-common" } | ||||
|  | ||||
| defmt = "0.3" | ||||
|   | ||||
| @@ -9,7 +9,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32h743bi", "net", "time-driver-any", "exti", "unstable-pac", "unstable-traits"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32h743bi", "net", "time-driver-any", "exti", "unstable-pac", "unstable-traits"] } | ||||
| embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } | ||||
| embassy-hal-common = { path = "../../embassy-hal-common", default-features = false, features = ["defmt"] } | ||||
|  | ||||
|   | ||||
| @@ -5,14 +5,18 @@ name = "embassy-stm32l0-examples" | ||||
| version = "0.1.0" | ||||
| resolver = "2" | ||||
|  | ||||
| [features] | ||||
| default = ["nightly"] | ||||
| nightly = ["embassy-stm32/nightly", "embassy-lora", "lorawan-device", "lorawan-encoding"] | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "unstable-traits", "memory-x"]  } | ||||
|  | ||||
| embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["sx127x", "time", "defmt"] } | ||||
| embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["sx127x", "time", "defmt"], optional = true} | ||||
|  | ||||
| lorawan-device = { git = "https://github.com/ivajloip/rust-lorawan.git", rev = "0de1a2a31933f7c97887b5718c1755fa5ab93a42", default-features = false, features = ["async"] } | ||||
| lorawan-encoding = { git = "https://github.com/ivajloip/rust-lorawan.git", rev = "0de1a2a31933f7c97887b5718c1755fa5ab93a42", default-features = false, features = ["default-crypto"] } | ||||
| lorawan-device = { git = "https://github.com/ivajloip/rust-lorawan.git", rev = "0de1a2a31933f7c97887b5718c1755fa5ab93a42", default-features = false, features = ["async"], optional = true } | ||||
| lorawan-encoding = { git = "https://github.com/ivajloip/rust-lorawan.git", rev = "0de1a2a31933f7c97887b5718c1755fa5ab93a42", default-features = false, features = ["default-crypto"], optional = true } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
							
								
								
									
										54
									
								
								examples/stm32l0/src/bin/raw_spawn.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								examples/stm32l0/src/bin/raw_spawn.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| #![no_std] | ||||
| #![no_main] | ||||
|  | ||||
| #[path = "../example_common.rs"] | ||||
| mod example_common; | ||||
| use example_common::*; | ||||
|  | ||||
| use core::mem; | ||||
| use cortex_m_rt::entry; | ||||
|  | ||||
| use embassy::executor::raw::TaskStorage; | ||||
| use embassy::executor::Executor; | ||||
| use embassy::time::{Duration, Timer}; | ||||
| use embassy::util::Forever; | ||||
|  | ||||
| async fn run1() { | ||||
|     loop { | ||||
|         info!("BIG INFREQUENT TICK"); | ||||
|         Timer::after(Duration::from_ticks(64000)).await; | ||||
|     } | ||||
| } | ||||
|  | ||||
| async fn run2() { | ||||
|     loop { | ||||
|         info!("tick"); | ||||
|         Timer::after(Duration::from_ticks(13000)).await; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static EXECUTOR: Forever<Executor> = Forever::new(); | ||||
|  | ||||
| #[entry] | ||||
| fn main() -> ! { | ||||
|     info!("Hello World!"); | ||||
|  | ||||
|     let _p = embassy_stm32::init(Default::default()); | ||||
|     let executor = EXECUTOR.put(Executor::new()); | ||||
|  | ||||
|     let run1_task = TaskStorage::new(); | ||||
|     let run2_task = TaskStorage::new(); | ||||
|  | ||||
|     // Safety: these variables do live forever if main never returns. | ||||
|     let run1_task = unsafe { make_static(&run1_task) }; | ||||
|     let run2_task = unsafe { make_static(&run2_task) }; | ||||
|  | ||||
|     executor.run(|spawner| { | ||||
|         unwrap!(spawner.spawn(run1_task.spawn(|| run1()))); | ||||
|         unwrap!(spawner.spawn(run2_task.spawn(|| run2()))); | ||||
|     }); | ||||
| } | ||||
|  | ||||
| unsafe fn make_static<T>(t: &T) -> &'static T { | ||||
|     mem::transmute(t) | ||||
| } | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l151cb-a", "time-driver-any", "memory-x"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -10,7 +10,7 @@ resolver = "2" | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt" ] } | ||||
| embassy-traits = { version = "0.1.0", path = "../../embassy-traits" } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32l4s5vi", "time-driver-any", "exti", "unstable-traits"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32l4s5vi", "time-driver-any", "exti", "unstable-traits"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "stm32u585ai", "memory-x" ]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32u585ai", "memory-x" ]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wb55cc", "time-driver-any", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wb55cc", "time-driver-any", "exti"]  } | ||||
|  | ||||
| defmt = "0.3" | ||||
| defmt-rtt = "0.3" | ||||
|   | ||||
| @@ -7,7 +7,7 @@ resolver = "2" | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "subghz", "unstable-pac", "exti"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "subghz", "unstable-pac", "exti"]  } | ||||
| embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["stm32wl", "time"] } | ||||
|  | ||||
| lorawan-device = { git = "https://github.com/ivajloip/rust-lorawan.git", rev = "0de1a2a31933f7c97887b5718c1755fa5ab93a42", default-features = false, features = ["async"] } | ||||
|   | ||||
| @@ -14,7 +14,7 @@ stm32wb55rg = ["embassy-stm32/stm32wb55rg"] | ||||
|  | ||||
| [dependencies] | ||||
| embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "unstable-pac", "memory-x", "time-driver-tim2"]  } | ||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "memory-x", "time-driver-tim2"]  } | ||||
|  | ||||
| defmt = "0.3.0" | ||||
| defmt-rtt = "0.3.0" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user