sylveos

Toy Operating System
Log | Files | Refs

commit 5ecb28926ab6cd3f12906de8c6377014ebd29dcb
parent 07bc985c2b1ed1018f73cde1903622a6a2dbeb98
Author: Sylvia Ivory <git@sivory.net>
Date:   Tue, 13 Jan 2026 16:28:45 -0800

Add ACT_blink and all to lab 1

Diffstat:
Mbuild.zig | 2+-
Msrc/labs/lab1.zig | 29+++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/build.zig b/build.zig @@ -83,7 +83,7 @@ fn lab(name: []const u8, units: []const []const u8, b: *std.Build) !void { fn handle_lab(name: []const u8, b: *std.Build) !void { if (std.mem.eql(u8, name, "lab1")) { - try lab("lab1", &.{ "blink_1", "blink_2", "loopback" }, b); + try lab("lab1", &.{ "blink_1", "blink_2", "loopback", "act_blink", "all" }, b); } else { @panic("invalid lab name"); } diff --git a/src/labs/lab1.zig b/src/labs/lab1.zig @@ -3,6 +3,7 @@ const util = @import("../util.zig"); const led0 = 20; const led1 = 21; +const act = 47; pub fn blink_1() void { gpio.set_output(led0); @@ -47,3 +48,31 @@ pub fn loopback() void { v = !v; } } + +pub fn act_blink() void { + gpio.set_output(act); + for (0..10) |_| { + gpio.set_on(act); + util.delay_cycles(1000000); + gpio.set_off(act); + util.delay_cycles(1000000); + } + gpio.set_on(act); +} + +pub fn all() void { + gpio.set_output(led0); + gpio.set_output(led1); + gpio.set_output(act); + for (0..10) |_| { + gpio.set_on(led0); + gpio.set_on(led1); + gpio.set_on(act); + util.delay_cycles(1000000); + gpio.set_off(led0); + gpio.set_off(led1); + gpio.set_off(act); + util.delay_cycles(1000000); + } + gpio.set_on(act); +}