From 0bb94e8ffc75418ca48208062b9d8c7929a6beff Mon Sep 17 00:00:00 2001 From: Vincent Ollivier Date: Tue, 22 Oct 2024 10:03:21 +0200 Subject: [PATCH] Use u16 for PIT_DIVIDER --- src/sys/clk/timer.rs | 8 ++++---- src/sys/speaker.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/sys/clk/timer.rs b/src/sys/clk/timer.rs index 5381cb3a..d5a63dbb 100644 --- a/src/sys/clk/timer.rs +++ b/src/sys/clk/timer.rs @@ -12,7 +12,7 @@ use x86_64::instructions::port::Port; // During init we will change the divider to 1193 to have about 1.000 ms // between ticks to improve time measurements accuracy. const PIT_FREQUENCY: f64 = 3_579_545.0 / 3.0; // 1_193_181.666 Hz -const PIT_DIVIDER: usize = 1193; +const PIT_DIVIDER: u16 = 1193; const PIT_INTERVAL: f64 = (PIT_DIVIDER as f64) / PIT_FREQUENCY; static PIT_TICKS: AtomicUsize = AtomicUsize::new(0); @@ -74,9 +74,9 @@ pub fn rtc_interrupt_handler() { pub fn init() { // PIT timmer - let divider = if PIT_DIVIDER < 65536 { PIT_DIVIDER } else { 0 }; - let channel = 0; - set_pit_frequency(divider as u16, channel); + let divider = PIT_DIVIDER; + let channel = 0; // PIC + set_pit_frequency(divider, channel); sys::idt::set_irq_handler(0, pit_interrupt_handler); // RTC timmer diff --git a/src/sys/speaker.rs b/src/sys/speaker.rs index b4f097c4..786272c5 100644 --- a/src/sys/speaker.rs +++ b/src/sys/speaker.rs @@ -47,7 +47,7 @@ const SPEAKER_PORT: u16 = 0x61; fn start_sound(freq: f64) { debug!("speaker::start_sound({})", freq); let divider = (clk::pit_frequency() / freq) as u16; - let channel = 2; + let channel = 2; // PC Speaker clk::set_pit_frequency(divider, channel); let mut speaker: Port = Port::new(SPEAKER_PORT);