aboutsummaryrefslogtreecommitdiff
path: root/tests/rp
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-02-10 00:03:49 +0100
committerDario Nieuwenhuis <[email protected]>2025-02-18 18:14:57 +0100
commit52dfefb63242ad49fd126470042411f464fe624d (patch)
tree69c559a4b4ecbab92e8b2963d8331546862d7de4 /tests/rp
parentdcf0868dd017c6df0c82e504864956374019f484 (diff)
rp/pio: update pio-rs crate, reexport it so users don't get version mismatches.
Diffstat (limited to 'tests/rp')
-rw-r--r--tests/rp/Cargo.toml2
-rw-r--r--tests/rp/src/bin/pio_irq.rs3
-rw-r--r--tests/rp/src/bin/pio_multi_load.rs16
3 files changed, 10 insertions, 11 deletions
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml
index 5a6a6c75a..3d6cd6ab8 100644
--- a/tests/rp/Cargo.toml
+++ b/tests/rp/Cargo.toml
@@ -33,8 +33,6 @@ embedded-io-async = { version = "0.6.1" }
33embedded-storage = { version = "0.3" } 33embedded-storage = { version = "0.3" }
34static_cell = "2" 34static_cell = "2"
35portable-atomic = { version = "1.5", features = ["critical-section"] } 35portable-atomic = { version = "1.5", features = ["critical-section"] }
36pio-proc = { git = "https://github.com/rp-rs/pio-rs", rev = "fa586448b0b223217eec8c92c19fe6823dd04cc4" }
37pio = { git = "https://github.com/rp-rs/pio-rs", rev = "fa586448b0b223217eec8c92c19fe6823dd04cc4" }
38rand = { version = "0.8.5", default-features = false } 36rand = { version = "0.8.5", default-features = false }
39 37
40[profile.dev] 38[profile.dev]
diff --git a/tests/rp/src/bin/pio_irq.rs b/tests/rp/src/bin/pio_irq.rs
index 33cdaaac9..1fee6dc2f 100644
--- a/tests/rp/src/bin/pio_irq.rs
+++ b/tests/rp/src/bin/pio_irq.rs
@@ -6,6 +6,7 @@ use defmt::info;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_rp::bind_interrupts; 7use embassy_rp::bind_interrupts;
8use embassy_rp::peripherals::PIO0; 8use embassy_rp::peripherals::PIO0;
9use embassy_rp::pio::program::pio_asm;
9use embassy_rp::pio::{Config, InterruptHandler, Pio}; 10use embassy_rp::pio::{Config, InterruptHandler, Pio};
10use {defmt_rtt as _, panic_probe as _}; 11use {defmt_rtt as _, panic_probe as _};
11 12
@@ -24,7 +25,7 @@ async fn main(_spawner: Spawner) {
24 .. 25 ..
25 } = Pio::new(pio, Irqs); 26 } = Pio::new(pio, Irqs);
26 27
27 let prg = pio_proc::pio_asm!( 28 let prg = pio_asm!(
28 "irq set 0", 29 "irq set 0",
29 "irq wait 0", 30 "irq wait 0",
30 "irq set 1", 31 "irq set 1",
diff --git a/tests/rp/src/bin/pio_multi_load.rs b/tests/rp/src/bin/pio_multi_load.rs
index cd28f99b6..71321015b 100644
--- a/tests/rp/src/bin/pio_multi_load.rs
+++ b/tests/rp/src/bin/pio_multi_load.rs
@@ -6,6 +6,7 @@ use defmt::info;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_rp::bind_interrupts; 7use embassy_rp::bind_interrupts;
8use embassy_rp::peripherals::PIO0; 8use embassy_rp::peripherals::PIO0;
9use embassy_rp::pio::program::pio_asm;
9use embassy_rp::pio::{Config, InterruptHandler, LoadError, Pio}; 10use embassy_rp::pio::{Config, InterruptHandler, LoadError, Pio};
10use {defmt_rtt as _, panic_probe as _}; 11use {defmt_rtt as _, panic_probe as _};
11 12
@@ -27,7 +28,7 @@ async fn main(_spawner: Spawner) {
27 } = Pio::new(pio, Irqs); 28 } = Pio::new(pio, Irqs);
28 29
29 // load with explicit origin works 30 // load with explicit origin works
30 let prg1 = pio_proc::pio_asm!( 31 let prg1 = pio_asm!(
31 ".origin 4" 32 ".origin 4"
32 "nop", 33 "nop",
33 "nop", 34 "nop",
@@ -46,15 +47,14 @@ async fn main(_spawner: Spawner) {
46 assert_eq!(loaded1.wrap.target, 4); 47 assert_eq!(loaded1.wrap.target, 4);
47 48
48 // load without origin chooses a free space 49 // load without origin chooses a free space
49 let prg2 = pio_proc::pio_asm!("nop", "nop", "nop", "nop", "nop", "nop", "nop", "irq 1", "nop", "nop",); 50 let prg2 = pio_asm!("nop", "nop", "nop", "nop", "nop", "nop", "nop", "irq 1", "nop", "nop",);
50 let loaded2 = common.load_program(&prg2.program); 51 let loaded2 = common.load_program(&prg2.program);
51 assert_eq!(loaded2.origin, 14); 52 assert_eq!(loaded2.origin, 14);
52 assert_eq!(loaded2.wrap.source, 23); 53 assert_eq!(loaded2.wrap.source, 23);
53 assert_eq!(loaded2.wrap.target, 14); 54 assert_eq!(loaded2.wrap.target, 14);
54 55
55 // wrapping around the end of program space automatically works 56 // wrapping around the end of program space automatically works
56 let prg3 = 57 let prg3 = pio_asm!("nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "irq 2",);
57 pio_proc::pio_asm!("nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "nop", "irq 2",);
58 let loaded3 = common.load_program(&prg3.program); 58 let loaded3 = common.load_program(&prg3.program);
59 assert_eq!(loaded3.origin, 24); 59 assert_eq!(loaded3.origin, 24);
60 assert_eq!(loaded3.wrap.source, 3); 60 assert_eq!(loaded3.wrap.source, 3);
@@ -88,13 +88,13 @@ async fn main(_spawner: Spawner) {
88 88
89 // instruction memory is full now. all loads should fail. 89 // instruction memory is full now. all loads should fail.
90 { 90 {
91 let prg = pio_proc::pio_asm!(".origin 0", "nop"); 91 let prg = pio_asm!(".origin 0", "nop");
92 match common.try_load_program(&prg.program) { 92 match common.try_load_program(&prg.program) {
93 Err(LoadError::AddressInUse(0)) => (), 93 Err(LoadError::AddressInUse(0)) => (),
94 _ => panic!("program loaded when it shouldn't"), 94 _ => panic!("program loaded when it shouldn't"),
95 }; 95 };
96 96
97 let prg = pio_proc::pio_asm!("nop"); 97 let prg = pio_asm!("nop");
98 match common.try_load_program(&prg.program) { 98 match common.try_load_program(&prg.program) {
99 Err(LoadError::InsufficientSpace) => (), 99 Err(LoadError::InsufficientSpace) => (),
100 _ => panic!("program loaded when it shouldn't"), 100 _ => panic!("program loaded when it shouldn't"),
@@ -106,13 +106,13 @@ async fn main(_spawner: Spawner) {
106 common.free_instr(loaded3.used_memory); 106 common.free_instr(loaded3.used_memory);
107 } 107 }
108 { 108 {
109 let prg = pio_proc::pio_asm!(".origin 0", "nop"); 109 let prg = pio_asm!(".origin 0", "nop");
110 match common.try_load_program(&prg.program) { 110 match common.try_load_program(&prg.program) {
111 Ok(_) => (), 111 Ok(_) => (),
112 _ => panic!("program didn't loaded when it shouldn"), 112 _ => panic!("program didn't loaded when it shouldn"),
113 }; 113 };
114 114
115 let prg = pio_proc::pio_asm!("nop"); 115 let prg = pio_asm!("nop");
116 match common.try_load_program(&prg.program) { 116 match common.try_load_program(&prg.program) {
117 Ok(_) => (), 117 Ok(_) => (),
118 _ => panic!("program didn't loaded when it shouldn"), 118 _ => panic!("program didn't loaded when it shouldn"),