diff options
Diffstat (limited to 'src/code/sleep.c')
| -rw-r--r-- | src/code/sleep.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/code/sleep.c b/src/code/sleep.c new file mode 100644 index 000000000..f83ccc070 --- /dev/null +++ b/src/code/sleep.c @@ -0,0 +1,33 @@ +#include <global.h> + +void Sleep_Cycles(OSTime cycles) +{ + OSMesgQueue mq; + OSMesg msg; + OSTimer timer; + + osCreateMesgQueue(&mq, &msg, OS_MESG_BLOCK); + osSetTimer(&timer, cycles, 0, &mq, NULL); + osRecvMesg(&mq, NULL, OS_MESG_BLOCK); +} + +void Sleep_Nsec(u32 nsec) +{ + Sleep_Cycles(OS_NSEC_TO_CYCLES(nsec)); +} + +void Sleep_Usec(u32 usec) +{ + Sleep_Cycles(OS_USEC_TO_CYCLES(usec)); +} + +// originally "msleep" +void Sleep_Msec(u32 ms) +{ + Sleep_Cycles((ms * OS_CPU_COUNTER) / 1000ull); +} + +void Sleep_Sec(u32 sec) +{ + Sleep_Cycles((sec * OS_CPU_COUNTER)); +} |
