aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32wl
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-09-25 16:20:50 +0000
committerGitHub <[email protected]>2023-09-25 16:20:50 +0000
commit6e63c8d4bf92d3e40a9cf31664d3f3eb30da4c56 (patch)
treee6f8a505bbcd3f272693a5cc69d656bd11d95e2d /examples/stm32wl
parent2543bcafafbe56f925c39c37b72f634674ccba65 (diff)
parent70acc093dddc35491db297d8f85dd369d7ea9d2b (diff)
Merge pull request #1947 from ceekdee/rust-lorawan-lora-phy-v2
Update rust-lorawan and embassy to use lora-phy version 2
Diffstat (limited to 'examples/stm32wl')
-rw-r--r--examples/stm32wl/Cargo.toml9
-rw-r--r--examples/stm32wl/src/bin/lora_lorawan.rs11
-rw-r--r--examples/stm32wl/src/bin/lora_p2p_receive.rs6
-rw-r--r--examples/stm32wl/src/bin/lora_p2p_send.rs6
4 files changed, 12 insertions, 20 deletions
diff --git a/examples/stm32wl/Cargo.toml b/examples/stm32wl/Cargo.toml
index 155c6dbcd..f47a9a906 100644
--- a/examples/stm32wl/Cargo.toml
+++ b/examples/stm32wl/Cargo.toml
@@ -12,9 +12,9 @@ embassy-executor = { version = "0.3.0", path = "../../embassy-executor", feature
12embassy-time = { version = "0.1.3", path = "../../embassy-time", features = ["nightly", "unstable-traits", "defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } 12embassy-time = { version = "0.1.3", path = "../../embassy-time", features = ["nightly", "unstable-traits", "defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
13embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" } 13embassy-embedded-hal = { version = "0.1.0", path = "../../embassy-embedded-hal" }
14embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["stm32wl", "time", "defmt"] } 14embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["stm32wl", "time", "defmt"] }
15lora-phy = { version = "1" } 15lora-phy = { version = "2" }
16lorawan-device = { version = "0.10.0", default-features = false, features = ["async", "external-lora-phy"] } 16lorawan-device = { version = "0.11.0", default-features = false, features = ["async", "external-lora-phy"] }
17lorawan = { version = "0.7.3", default-features = false, features = ["default-crypto"] } 17lorawan = { version = "0.7.4", default-features = false, features = ["default-crypto"] }
18 18
19defmt = "0.3" 19defmt = "0.3"
20defmt-rtt = "0.4" 20defmt-rtt = "0.4"
@@ -30,6 +30,3 @@ chrono = { version = "^0.4", default-features = false }
30 30
31[profile.release] 31[profile.release]
32debug = 2 32debug = 2
33
34[patch.crates-io]
35lora-phy = { git = "https://github.com/embassy-rs/lora-phy", rev = "1323eccc1c470d4259f95f4f315d1be830d572a3"}
diff --git a/examples/stm32wl/src/bin/lora_lorawan.rs b/examples/stm32wl/src/bin/lora_lorawan.rs
index 230df4752..fb2495326 100644
--- a/examples/stm32wl/src/bin/lora_lorawan.rs
+++ b/examples/stm32wl/src/bin/lora_lorawan.rs
@@ -20,6 +20,7 @@ use lora_phy::LoRa;
20use lorawan::default_crypto::DefaultFactory as Crypto; 20use lorawan::default_crypto::DefaultFactory as Crypto;
21use lorawan_device::async_device::lora_radio::LoRaRadio; 21use lorawan_device::async_device::lora_radio::LoRaRadio;
22use lorawan_device::async_device::{region, Device, JoinMode}; 22use lorawan_device::async_device::{region, Device, JoinMode};
23use lorawan_device::{AppEui, AppKey, DevEui};
23use {defmt_rtt as _, panic_probe as _}; 24use {defmt_rtt as _, panic_probe as _};
24 25
25const LORAWAN_REGION: region::Region = region::Region::EU868; // warning: set this appropriately for the region 26const LORAWAN_REGION: region::Region = region::Region::EU868; // warning: set this appropriately for the region
@@ -46,10 +47,8 @@ async fn main(_spawner: Spawner) {
46 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High); 47 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High);
47 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap(); 48 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap();
48 49
49 let mut delay = Delay;
50
51 let lora = { 50 let lora = {
52 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), true, &mut delay).await { 51 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), true, Delay).await {
53 Ok(l) => l, 52 Ok(l) => l,
54 Err(err) => { 53 Err(err) => {
55 info!("Radio error = {}", err); 54 info!("Radio error = {}", err);
@@ -66,9 +65,9 @@ async fn main(_spawner: Spawner) {
66 // TODO: Adjust the EUI and Keys according to your network credentials 65 // TODO: Adjust the EUI and Keys according to your network credentials
67 match device 66 match device
68 .join(&JoinMode::OTAA { 67 .join(&JoinMode::OTAA {
69 deveui: [0, 0, 0, 0, 0, 0, 0, 0], 68 deveui: DevEui::from([0, 0, 0, 0, 0, 0, 0, 0]),
70 appeui: [0, 0, 0, 0, 0, 0, 0, 0], 69 appeui: AppEui::from([0, 0, 0, 0, 0, 0, 0, 0]),
71 appkey: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 70 appkey: AppKey::from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
72 }) 71 })
73 .await 72 .await
74 { 73 {
diff --git a/examples/stm32wl/src/bin/lora_p2p_receive.rs b/examples/stm32wl/src/bin/lora_p2p_receive.rs
index d3f051b1c..3d8c31ff3 100644
--- a/examples/stm32wl/src/bin/lora_p2p_receive.rs
+++ b/examples/stm32wl/src/bin/lora_p2p_receive.rs
@@ -37,10 +37,8 @@ async fn main(_spawner: Spawner) {
37 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High); 37 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High);
38 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap(); 38 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap();
39 39
40 let mut delay = Delay;
41
42 let mut lora = { 40 let mut lora = {
43 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), false, &mut delay).await { 41 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), false, Delay).await {
44 Ok(l) => l, 42 Ok(l) => l,
45 Err(err) => { 43 Err(err) => {
46 info!("Radio error = {}", err); 44 info!("Radio error = {}", err);
@@ -84,7 +82,7 @@ async fn main(_spawner: Spawner) {
84 }; 82 };
85 83
86 match lora 84 match lora
87 .prepare_for_rx(&mdltn_params, &rx_pkt_params, None, true, false, 0, 0x00ffffffu32) 85 .prepare_for_rx(&mdltn_params, &rx_pkt_params, None, None, false)
88 .await 86 .await
89 { 87 {
90 Ok(()) => {} 88 Ok(()) => {}
diff --git a/examples/stm32wl/src/bin/lora_p2p_send.rs b/examples/stm32wl/src/bin/lora_p2p_send.rs
index fc5205c85..fbd0b0320 100644
--- a/examples/stm32wl/src/bin/lora_p2p_send.rs
+++ b/examples/stm32wl/src/bin/lora_p2p_send.rs
@@ -37,10 +37,8 @@ async fn main(_spawner: Spawner) {
37 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High); 37 let _ctrl3 = Output::new(p.PC3.degrade(), Level::High, Speed::High);
38 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap(); 38 let iv = Stm32wlInterfaceVariant::new(Irqs, None, Some(ctrl2)).unwrap();
39 39
40 let mut delay = Delay;
41
42 let mut lora = { 40 let mut lora = {
43 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), false, &mut delay).await { 41 match LoRa::new(SX1261_2::new(BoardType::Stm32wlSx1262, spi, iv), false, Delay).await {
44 Ok(l) => l, 42 Ok(l) => l,
45 Err(err) => { 43 Err(err) => {
46 info!("Radio error = {}", err); 44 info!("Radio error = {}", err);
@@ -93,7 +91,7 @@ async fn main(_spawner: Spawner) {
93 } 91 }
94 }; 92 };
95 93
96 match lora.sleep(&mut delay).await { 94 match lora.sleep(false).await {
97 Ok(()) => info!("Sleep successful"), 95 Ok(()) => info!("Sleep successful"),
98 Err(err) => info!("Sleep unsuccessful = {}", err), 96 Err(err) => info!("Sleep unsuccessful = {}", err),
99 } 97 }