X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=bootcensus;a=blobdiff_plain;f=src%2Ftimer.h;h=3da5802f8c98e18f746e4d6ad482e363a70ae118;hp=7f985d5b8fd2c391ce6d10c578ea09ba6c79472f;hb=81c11bdd80190ec319a82b0402173cfb65fcbf72;hpb=a2f94f569a4c99204de02814a20098a71527e913 diff --git a/src/timer.h b/src/timer.h index 7f985d5..3da5802 100644 --- a/src/timer.h +++ b/src/timer.h @@ -1,11 +1,42 @@ +/* +256boss - bootable launcher for 256byte intros +Copyright (C) 2018-2019 John Tsiombikas + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY, without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ #ifndef _TIMER_H_ #define _TIMER_H_ -unsigned long nticks; +#include "config.h" + +#define MSEC_TO_TICKS(ms) ((ms) * TICK_FREQ_HZ / 1000) +#define TICKS_TO_MSEC(tk) ((tk) * 1000 / TICK_FREQ_HZ) + +volatile unsigned long nticks; void init_timer(void); +/* int sys_sleep(int sec); void sleep(unsigned long msec); +*/ + +/* schedule a function to be called 'msec' milliseconds into the future + * warning: this function will be called directly from the timer interrupt, and + * must be extremely quick. + */ +void set_alarm(unsigned long msec, void (*func)(void)); +void cancel_alarm(void (*func)(void)); #endif /* _TIMER_H_ */