aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Jamison <[email protected]>2024-09-16 12:58:23 -0400
committerCaleb Jamison <[email protected]>2024-09-16 12:58:23 -0400
commit6e0c3e25fd8e07ce3ee46e0ba74064a4c4574e16 (patch)
tree5f1858f5d3effec25db197057048bc89ffe1cce2
parent9cfde66446ca5451a6cab80e0f2f783199fbeb62 (diff)
Only check ping groups that have count >0
-rw-r--r--embassy-rp/src/pio/mod.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/embassy-rp/src/pio/mod.rs b/embassy-rp/src/pio/mod.rs
index b08f2df6b..29a5bfab3 100644
--- a/embassy-rp/src/pio/mod.rs
+++ b/embassy-rp/src/pio/mod.rs
@@ -743,22 +743,21 @@ impl<'d, PIO: Instance + 'd, const SM: usize> StateMachine<'d, PIO, SM> {
743 w.set_out_base(config.pins.out_base); 743 w.set_out_base(config.pins.out_base);
744 }); 744 });
745 745
746 #[cfg(feature = "_rp235x")] 746 //#[cfg(feature = "_rp235x")]
747 { 747 {
748 let mut low_ok = true; 748 let mut low_ok = true;
749 let mut high_ok = true; 749 let mut high_ok = true;
750 for pin in [ 750
751 config.pins.in_base, 751 let in_pins = config.pins.in_base..config.pins.in_base + config.in_count;
752 config.pins.in_base + config.in_count, 752 let side_pins = config.pins.sideset_base..config.pins.sideset_base + config.pins.sideset_count;
753 config.pins.sideset_base, 753 let set_pins = config.pins.set_base..config.pins.set_base + config.pins.set_count;
754 config.pins.sideset_base + config.pins.sideset_count, 754 let out_pins = config.pins.out_base..config.pins.out_base + config.pins.out_count;
755 config.pins.set_base, 755
756 config.pins.set_base + config.pins.set_count, 756 for pin_range in [in_pins, side_pins, set_pins, out_pins] {
757 config.pins.out_base, 757 for pin in pin_range {
758 config.pins.out_base + config.pins.out_count, 758 low_ok &= pin < 32;
759 ] { 759 high_ok &= pin >= 16;
760 low_ok &= pin < 32; 760 }
761 high_ok &= pin >= 16;
762 } 761 }
763 762
764 if !low_ok && !high_ok { 763 if !low_ok && !high_ok {