From 84122746d2fa6ed832431239a5d414336f63e65c Mon Sep 17 00:00:00 2001 From: Claire Nord Date: Sat, 2 Sep 2023 15:35:37 -0700 Subject: [PATCH] src main: iterate over row and column pins --- src/main.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/main.rs b/src/main.rs index 71b0223..b0424cd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -60,13 +60,54 @@ fn main() -> ! { // LED to one of the GPIO pins, and reference that pin here. let mut led_pin = pins.led.into_push_pull_output(); + // Rows are GPIO 0-12 + let mut row_pins = [ + pins.gpio0.into_push_pull_output().into_dyn_pin(), + pins.gpio1.into_push_pull_output().into_dyn_pin(), + pins.gpio2.into_push_pull_output().into_dyn_pin(), + pins.gpio3.into_push_pull_output().into_dyn_pin(), + pins.gpio4.into_push_pull_output().into_dyn_pin(), + pins.gpio5.into_push_pull_output().into_dyn_pin(), + pins.gpio6.into_push_pull_output().into_dyn_pin(), + pins.gpio7.into_push_pull_output().into_dyn_pin(), + pins.gpio8.into_push_pull_output().into_dyn_pin(), + pins.gpio9.into_push_pull_output().into_dyn_pin(), + pins.gpio10.into_push_pull_output().into_dyn_pin(), + pins.gpio11.into_push_pull_output().into_dyn_pin(), + pins.gpio12.into_push_pull_output().into_dyn_pin(), + ]; + + // Columns are pins 18-21 + let mut col_pins = [ + pins.gpio18.into_push_pull_output().into_dyn_pin(), + pins.gpio19.into_push_pull_output().into_dyn_pin(), + pins.gpio20.into_push_pull_output().into_dyn_pin(), + pins.gpio21.into_push_pull_output().into_dyn_pin(), + ]; + loop { info!("on!"); + led_pin.set_high().unwrap(); delay.delay_ms(500); info!("off!"); led_pin.set_low().unwrap(); delay.delay_ms(500); + + for col_pins in col_pins.iter_mut() { + col_pins.set_high().unwrap(); + delay.delay_us(10); + + for row_pins in row_pins.iter_mut() { + row_pins.set_high().unwrap(); + delay.delay_us(10); + row_pins.set_low().unwrap(); + delay.delay_us(10); + } + + col_pins.set_low().unwrap(); + delay.delay_us(9990); + } } }