aboutsummaryrefslogtreecommitdiff
path: root/Source/Timer.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Timer.h')
-rw-r--r--Source/Timer.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/Timer.h b/Source/Timer.h
new file mode 100644
index 0000000..6f4a3a4
--- /dev/null
+++ b/Source/Timer.h
@@ -0,0 +1,36 @@
+#ifndef __TIMER_HEADER__
+#define __TIMER_HEADER__
+
+/* **************************************
+ * Includes *
+ * **************************************/
+
+#include "Global_Inc.h"
+#include "GameStructures.h"
+
+/* **************************************
+ * Defines *
+ * **************************************/
+
+/* **************************************
+ * Global Prototypes *
+ * **************************************/
+
+// Creates a timer instance wiht a determined value and associates it to a callback
+// Once time expires, callback is automatically called right after GfxDrawScene().
+// Time is expressed so that t = 100 ms e.g.: 2 seconds = 20.
+TYPE_TIMER* TimerCreate(uint32_t t, bool rf, void (*timer_callback)(void) );
+
+// Reportedly, sets all timer data to zero.
+void TimerReset(void);
+
+// To be called every cycle (i.e.: inside GfxDrawScene() ).
+void TimerHandler(void);
+
+// Sets timer remaining time to initial value.
+void TimerRestart(TYPE_TIMER* timer);
+
+// Flushes a timer pointed to by timer.
+void TimerRemove(TYPE_TIMER* timer);
+
+#endif // __TIMER_HEADER__