commit 1a7a430a51a5a35a44787646617187c859fa5ac9
parent 0c7e16ca24bc194c3902be9b967bbcd2a1d62adc
Author: Sylvia Ivory <git@sivory.net>
Date: Tue, 13 Jan 2026 13:50:36 -0800
Add lab 1
Diffstat:
2 files changed, 51 insertions(+), 11 deletions(-)
diff --git a/src/labs/lab1.zig b/src/labs/lab1.zig
@@ -0,0 +1,49 @@
+const gpio = @import("gpio.zig");
+const util = @import("util.zig");
+
+const led0 = 20;
+const led1 = 21;
+
+pub fn blink_1() void {
+ gpio.set_output(led0);
+ for (0..10) |_| {
+ gpio.set_on(led0);
+ util.delay_cycles(1000000);
+ gpio.set_off(led0);
+ util.delay_cycles(1000000);
+ }
+ gpio.set_on(led0);
+}
+
+pub fn blink_2() void {
+ gpio.set_output(led0);
+ gpio.set_output(led1);
+
+ for (0..10) |_| {
+ gpio.set_on(led0);
+ gpio.set_off(led1);
+ util.delay_cycles(3000000);
+ gpio.set_off(led0);
+ gpio.set_on(led1);
+ util.delay_cycles(3000000);
+ }
+}
+
+pub fn loopback() void {
+ const input = 9;
+ const output = 10;
+
+ gpio.set_output(led0);
+ gpio.set_input(input);
+ gpio.set_ouput(led1);
+ gpio.set_output(output);
+
+ var v = false;
+ for (0..20) |_| {
+ gpio.write(led0, v);
+ gpio.write(output, v);
+ gpio.write(led1, gpio.read(input));
+ util.delay_cycles(1500000);
+ v = !v;
+ }
+}
diff --git a/src/main.zig b/src/main.zig
@@ -1,14 +1,5 @@
-const util = @import("util.zig");
-const gpio = @import("gpio.zig");
+const lab1 = @import("labs/lab1.zig");
pub fn main() void {
- const led = 20;
- gpio.set_output(led);
- for (0..10) |_| {
- gpio.set_on(led);
- util.delay_cycles(1000000);
- gpio.set_off(led);
- util.delay_cycles(1000000);
- }
- gpio.set_on(led);
+ lab1.blink_1();
}