diff options
Diffstat (limited to 'src/timer.zig')
-rw-r--r-- | src/timer.zig | 7 |
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) }; |