Dependencies:   mbed NetServicesMin

Committer:
fernya
Date:
Mon Jun 18 03:59:39 2012 +0000
Revision:
0:aa9ebbd3715f
Beta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fernya 0:aa9ebbd3715f 1 #ifndef FIFO_H_
fernya 0:aa9ebbd3715f 2 #define FIFO_H_
fernya 0:aa9ebbd3715f 3
fernya 0:aa9ebbd3715f 4 #include "mbed.h"
fernya 0:aa9ebbd3715f 5
fernya 0:aa9ebbd3715f 6 #define FIFO_SIZE 800
fernya 0:aa9ebbd3715f 7 #define FIFO_TYPE uint32_t
fernya 0:aa9ebbd3715f 8
fernya 0:aa9ebbd3715f 9 class fifo
fernya 0:aa9ebbd3715f 10 {
fernya 0:aa9ebbd3715f 11 FIFO_TYPE buffer[FIFO_SIZE];
fernya 0:aa9ebbd3715f 12 uint32_t head, tail;
fernya 0:aa9ebbd3715f 13
fernya 0:aa9ebbd3715f 14 public:
fernya 0:aa9ebbd3715f 15 fifo();
fernya 0:aa9ebbd3715f 16 uint8_t put(FIFO_TYPE data);// returns 0 on success
fernya 0:aa9ebbd3715f 17 uint8_t get(FIFO_TYPE* data);
fernya 0:aa9ebbd3715f 18 uint32_t available();
fernya 0:aa9ebbd3715f 19 uint32_t free();
fernya 0:aa9ebbd3715f 20 };
fernya 0:aa9ebbd3715f 21
fernya 0:aa9ebbd3715f 22
fernya 0:aa9ebbd3715f 23 #endif /* FIFO_H_ */