...

Dependents:   2doejemplo Labo_TRSE_Drone

Fork of mbed by mbed official

Revision:
3:aefd12a1f1c5
Child:
4:5d1359a283bc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TimerEvent.h	Fri Nov 14 15:25:20 2008 +0000
@@ -0,0 +1,43 @@
+/* mbed Microcontroller Library - TimerEvent
+ * Copyright (c) 2007-2008, sford
+ */
+
+#ifndef MBED_TIMEREVENT_H
+#define MBED_TIMEREVENT_H
+
+namespace mbed {
+
+// Base abstraction for timer interrupts
+class TimerEvent {
+
+public:
+
+	// The handler registered with the underlying timer interrupt
+	static void irq();
+
+	// Destruction removes it...	
+	virtual ~TimerEvent();
+
+protected:
+
+	// The handler called to service the timer event of the derived class
+	virtual void handler() = 0;
+	
+	// insert in to linked list
+	void insert(unsigned int timestamp);
+	
+	// remove from linked list, if in it
+	void remove();
+	
+	// Get the current usec timestamp
+	static unsigned int timestamp();
+
+	static TimerEvent *_head;   // The head of the list of the events, NULL if none
+	TimerEvent *_next;          // Pointer to the next in the list, NULL if last
+	unsigned int _timestamp;    // The timestamp at which the even should be triggered
+
+};
+
+}
+
+#endif