xbee communication for UWB quadcopter project
queue/queue.h@11:d1f488302d06, 2014-04-25 (annotated)
- Committer:
- oprospero
- Date:
- Fri Apr 25 06:21:19 2014 +0000
- Revision:
- 11:d1f488302d06
- Parent:
- 0:26a151d2c6db
small updates;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
oprospero | 0:26a151d2c6db | 1 | /**************************** queue.h ****************************************/ |
oprospero | 0:26a151d2c6db | 2 | /* */ |
oprospero | 0:26a151d2c6db | 3 | /* Authers: Greg Abdo. */ |
oprospero | 0:26a151d2c6db | 4 | /* Date: February 23, 2013 */ |
oprospero | 0:26a151d2c6db | 5 | /* Version: 1.0 */ |
oprospero | 0:26a151d2c6db | 6 | /* */ |
oprospero | 0:26a151d2c6db | 7 | /* The queue is used to stack StructureItem in order with a FILO arrangement.*/ |
oprospero | 0:26a151d2c6db | 8 | /*****************************************************************************/ |
oprospero | 0:26a151d2c6db | 9 | |
oprospero | 0:26a151d2c6db | 10 | #ifndef QUEUE_H |
oprospero | 0:26a151d2c6db | 11 | #define QUEUE_H |
oprospero | 0:26a151d2c6db | 12 | |
oprospero | 0:26a151d2c6db | 13 | #include "mbed.h" |
oprospero | 0:26a151d2c6db | 14 | |
oprospero | 0:26a151d2c6db | 15 | using namespace std; |
oprospero | 0:26a151d2c6db | 16 | |
oprospero | 0:26a151d2c6db | 17 | const int MAXQUEUELENGTH = 4; |
oprospero | 0:26a151d2c6db | 18 | |
oprospero | 0:26a151d2c6db | 19 | class queue |
oprospero | 0:26a151d2c6db | 20 | { |
oprospero | 0:26a151d2c6db | 21 | public: |
oprospero | 0:26a151d2c6db | 22 | queue(); // Queue constructor |
oprospero | 0:26a151d2c6db | 23 | ~queue(); // Queue destructor |
oprospero | 0:26a151d2c6db | 24 | |
oprospero | 0:26a151d2c6db | 25 | bool isEmpty(); // Check for an empty queue. |
oprospero | 0:26a151d2c6db | 26 | void clear(); // Clears the entire queue. |
oprospero | 0:26a151d2c6db | 27 | void add( short* ); // Push commandData into the queue. |
oprospero | 0:26a151d2c6db | 28 | short* peek(); // Look at the last item in the queue. |
oprospero | 0:26a151d2c6db | 29 | short* pop(); // Pop the top item off the queue. |
oprospero | 0:26a151d2c6db | 30 | short queueLength(); // Return how many objects are in the queue. |
oprospero | 0:26a151d2c6db | 31 | |
oprospero | 0:26a151d2c6db | 32 | private: |
oprospero | 0:26a151d2c6db | 33 | int length; |
oprospero | 0:26a151d2c6db | 34 | |
oprospero | 0:26a151d2c6db | 35 | struct queueNode // Node object for the queue. |
oprospero | 0:26a151d2c6db | 36 | { |
oprospero | 0:26a151d2c6db | 37 | queueNode( short* array ) |
oprospero | 0:26a151d2c6db | 38 | { |
oprospero | 0:26a151d2c6db | 39 | data = array; |
oprospero | 0:26a151d2c6db | 40 | next = NULL; |
oprospero | 0:26a151d2c6db | 41 | } |
oprospero | 0:26a151d2c6db | 42 | |
oprospero | 0:26a151d2c6db | 43 | ~queueNode() |
oprospero | 0:26a151d2c6db | 44 | {} |
oprospero | 0:26a151d2c6db | 45 | |
oprospero | 0:26a151d2c6db | 46 | short* data; // Pointer to the StructureItem object. |
oprospero | 0:26a151d2c6db | 47 | queueNode * next; // Next node in the queue. |
oprospero | 0:26a151d2c6db | 48 | }; |
oprospero | 0:26a151d2c6db | 49 | |
oprospero | 0:26a151d2c6db | 50 | queueNode * front; // Root of the queue. |
oprospero | 0:26a151d2c6db | 51 | }; |
oprospero | 0:26a151d2c6db | 52 | |
oprospero | 0:26a151d2c6db | 53 | #endif |