aboutsummaryrefslogtreecommitdiffstats
path: root/src/timer.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/timer.zig')
-rw-r--r--src/timer.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/timer.zig b/src/timer.zig
index b30cfcf..00fd6ba 100644
--- a/src/timer.zig
+++ b/src/timer.zig
@@ -33,10 +33,15 @@ const driver = struct {
self.lld.initialize(freq);
}
- pub fn ticks(self: driver) u32 {
+ pub fn count(self: driver) u32 {
_ = self;
return @atomicLoad(u32, &ticks_raw, .acquire);
}
+
+ pub fn delay(self: driver, ticks: u32) void {
+ const now = self.count();
+ while (self.count() - now < ticks) {}
+ }
};
pub const systick = driver { .lld = @ptrFromInt(0xE000E010) };