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