summaryrefslogtreecommitdiff
path: root/arm9/lib/include/OS_timer.h
diff options
context:
space:
mode:
authorEgor Ananyin <ananinegor@gmail.com>2020-06-20 09:18:43 +0300
committerEgor Ananyin <ananinegor@gmail.com>2020-06-20 09:18:43 +0300
commitabd2d1e16494867989e710e5235c6425fa4e8c34 (patch)
tree7eff3e1db566801104a8fc2672bbe57e06f7009e /arm9/lib/include/OS_timer.h
parent70556fc300ba85dad248d20b3c79c415e2ef88e5 (diff)
parent12c17948602bf14535c91c530f214b99863e038e (diff)
conflicts
Diffstat (limited to 'arm9/lib/include/OS_timer.h')
-rw-r--r--arm9/lib/include/OS_timer.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/arm9/lib/include/OS_timer.h b/arm9/lib/include/OS_timer.h
new file mode 100644
index 00000000..8b2a97a9
--- /dev/null
+++ b/arm9/lib/include/OS_timer.h
@@ -0,0 +1,32 @@
+#ifndef POKEDIAMOND_OS_TIMER_H
+#define POKEDIAMOND_OS_TIMER_H
+
+#include "consts.h"
+
+typedef enum
+{
+ OS_TIMER_PRESCALER_1 = (0UL << REG_OS_TM0CNT_H_PS_SHIFT),
+ OS_TIMER_PRESCALER_64 = (1UL << REG_OS_TM0CNT_H_PS_SHIFT),
+ OS_TIMER_PRESCALER_256 = (2UL << REG_OS_TM0CNT_H_PS_SHIFT),
+ OS_TIMER_PRESCALER_1024 = (3UL << REG_OS_TM0CNT_H_PS_SHIFT)
+} OSTimerPrescaler;
+
+typedef enum
+{
+ OS_TIMER_0 = 0,
+ OS_TIMER_1 = 1,
+ OS_TIMER_2 = 2,
+ OS_TIMER_3 = 3
+} OSTimer;
+
+static inline void OS_SetTimerCount(OSTimer id, u16 count)
+{
+ *((REGType16 *)((u32)&reg_OS_TM0CNT_L + id * 4)) = count;
+}
+
+static inline void OS_SetTimerControl(OSTimer id, u16 control)
+{
+ *((REGType16 *)((u32)&reg_OS_TM0CNT_H + id * 4)) = control;
+}
+
+#endif //POKEDIAMOND_OS_TIMER_H