code ax12 petit robot 12/05/2017

Fork of command_AX12_petit_robot_V3 by CRAC Team

Committer:
SquirrelGod
Date:
Tue Apr 18 16:02:40 2017 +0000
Revision:
2:99b1cb0d9f5e
AX12_control

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SquirrelGod 2:99b1cb0d9f5e 1 /* mbed Microcontroller Library - TimerEvent
SquirrelGod 2:99b1cb0d9f5e 2 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
SquirrelGod 2:99b1cb0d9f5e 3 */
SquirrelGod 2:99b1cb0d9f5e 4
SquirrelGod 2:99b1cb0d9f5e 5 #ifndef MBED_TIMEREVENT_H
SquirrelGod 2:99b1cb0d9f5e 6 #define MBED_TIMEREVENT_H
SquirrelGod 2:99b1cb0d9f5e 7
SquirrelGod 2:99b1cb0d9f5e 8 namespace mbed {
SquirrelGod 2:99b1cb0d9f5e 9
SquirrelGod 2:99b1cb0d9f5e 10 // Base abstraction for timer interrupts
SquirrelGod 2:99b1cb0d9f5e 11 class TimerEvent {
SquirrelGod 2:99b1cb0d9f5e 12
SquirrelGod 2:99b1cb0d9f5e 13 public:
SquirrelGod 2:99b1cb0d9f5e 14
SquirrelGod 2:99b1cb0d9f5e 15 TimerEvent();
SquirrelGod 2:99b1cb0d9f5e 16
SquirrelGod 2:99b1cb0d9f5e 17 // The handler registered with the underlying timer interrupt
SquirrelGod 2:99b1cb0d9f5e 18 static void irq();
SquirrelGod 2:99b1cb0d9f5e 19
SquirrelGod 2:99b1cb0d9f5e 20 // Destruction removes it...
SquirrelGod 2:99b1cb0d9f5e 21 virtual ~TimerEvent();
SquirrelGod 2:99b1cb0d9f5e 22
SquirrelGod 2:99b1cb0d9f5e 23 protected:
SquirrelGod 2:99b1cb0d9f5e 24
SquirrelGod 2:99b1cb0d9f5e 25 // The handler called to service the timer event of the derived class
SquirrelGod 2:99b1cb0d9f5e 26 virtual void handler() = 0;
SquirrelGod 2:99b1cb0d9f5e 27
SquirrelGod 2:99b1cb0d9f5e 28 // insert in to linked list
SquirrelGod 2:99b1cb0d9f5e 29 void insert(unsigned int timestamp);
SquirrelGod 2:99b1cb0d9f5e 30
SquirrelGod 2:99b1cb0d9f5e 31 // remove from linked list, if in it
SquirrelGod 2:99b1cb0d9f5e 32 void remove();
SquirrelGod 2:99b1cb0d9f5e 33
SquirrelGod 2:99b1cb0d9f5e 34 // Get the current usec timestamp
SquirrelGod 2:99b1cb0d9f5e 35 static unsigned int timestamp();
SquirrelGod 2:99b1cb0d9f5e 36
SquirrelGod 2:99b1cb0d9f5e 37 static TimerEvent *_head; // The head of the list of the events, NULL if none
SquirrelGod 2:99b1cb0d9f5e 38 TimerEvent *_next; // Pointer to the next in the list, NULL if last
SquirrelGod 2:99b1cb0d9f5e 39 unsigned int _timestamp; // The timestamp at which the even should be triggered
SquirrelGod 2:99b1cb0d9f5e 40
SquirrelGod 2:99b1cb0d9f5e 41 };
SquirrelGod 2:99b1cb0d9f5e 42
SquirrelGod 2:99b1cb0d9f5e 43 } // namespace mbed
SquirrelGod 2:99b1cb0d9f5e 44
SquirrelGod 2:99b1cb0d9f5e 45 #endif