summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
Diffstat (limited to 'driver')
-rw-r--r--driver/timer.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/driver/timer.c b/driver/timer.c
index 1c1fc05..6f0977c 100644
--- a/driver/timer.c
+++ b/driver/timer.c
@@ -159,20 +159,21 @@ static uint32_t timer_interrupt(uint32_t esp)
uint64_t timer_init()
{
uint64_t epoch_time=get_rtc_time();
- task_system_clock_start=epoch_time*25; // since pit ticks 25times a second
- asm_pit_rate_40ms(); //tick at 25hz
- fixme("pit rate does only seem to work occasionally.. 1/25 seconds???" );
+
+ task_system_clock_start=epoch_time*100; // since pit ticks 100 times a second
+ asm_pit_rate_10ms(); //tick at 100hz
+
interrupt_register(INTERRUPT_PIT_TIMER,&timer_interrupt);
- return epoch_time;
+ return epoch_time;
}
uint64_t timer_get_ms()
{
- return (asm_pit_get_ticks()+task_system_clock_start)*40;
+ return (asm_pit_get_ticks()+task_system_clock_start)*10;
}
uint64_t timer_get_uptime_ms()
{
- return asm_pit_get_ticks()*40;
+ return asm_pit_get_ticks()*10;
}